BMAD-METHOD/test
pbean af52c7baf9 feat(bmad-module): distribute installed skills to the user's chosen IDEs
The bmad-module skill staged community modules under _bmad/<code>/ but never
pushed their skills out to the coding assistants the user selected at
`bmad install` time, so a freshly installed module was invisible to Claude
Code / Cursor / Copilot / etc. until a full reinstall; remove left skills
orphaned in the IDE dirs.

install/update/remove now distribute (or prune) skills to every IDE listed in
_bmad/_config/manifest.yaml and clean the redundant skill dirs from _bmad/,
matching how official modules end up.

Single engine, three callers — no fork:
- New tools/installer/core/ide-sync.js (syncIdes) wraps the real
  IdeManager.setupBatch + platform-codes engine. The full installer
  (_setupIdes/_cleanupSkillDirs), the new `bmad ide-sync` command, and the
  skill all route through it, so new IDEs and engine changes propagate
  everywhere automatically.

Local, dependency-free delivery — no npx/network at runtime:
- build-ide-sync.mjs esbuild-bundles the engine into vendor/ide-sync.mjs
  (+ platform-codes.yaml), aliasing ../prompts and ../project-root to small
  shims so @clack and the installer graph are dropped. The bundle ships inside
  the skill tree (like yaml.mjs); the skill execs it locally. It's
  generated-from-source and gated by vendor:check, refreshed on every install.

update/remove pass --prune with the module's canonicalIds so skills dropped
between versions (or on uninstall) are removed from IDE dirs + command
pointers. Graceful degradation: if the bundle is unreachable, the verb still
succeeds and points the user at `bmad ide-sync`.

Tests: new test/test-ide-sync.js drift-guard (engine == bundle, incl. prune),
integration.test.sh IDE-distribution section (offline), bundle self-check in
the build. All gates green (vendor:check, lint, format, test:install 349/349).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-05-29 20:30:46 -07:00
..
adversarial-review-tests feat(tasks): convert review-adversarial-general XML task to native skill (#1857) 2026-03-08 06:52:55 -06:00
fixtures/file-refs-csv chore: remove dead agent schema validation infrastructure 2026-03-17 20:20:12 -06:00
README.md chore: remove dead agent schema validation infrastructure 2026-03-17 20:20:12 -06:00
test-file-refs-csv.js refactor(skills): convert party-mode to native skill directory (#1906) 2026-03-11 22:48:29 -05:00
test-ide-sync.js feat(bmad-module): distribute installed skills to the user's chosen IDEs 2026-05-29 20:30:46 -07:00
test-installation-components.js v6.7.0: bundle module registry, retire marketplace, refresh display names (#2388) 2026-05-17 17:47:25 -05:00
test-installer-channels.js feat(installer): channel-based version resolution + interactive channel management (#2305) 2026-04-24 08:20:30 -05:00
test-parse-source-urls.js Fix/azure devops url parsing (#2269) 2026-04-28 22:06:37 -05:00
test-rehype-plugins.mjs fix(docs): comprehensive documentation site review fixes (#1578) 2026-02-08 11:58:22 -06:00
test-workflow-path-regex.js refactor(installer): restructure installer with clean separation of concerns (#2129) 2026-03-27 06:50:07 -06:00

README.md

Test Suite

Tests for the BMAD-METHOD tooling infrastructure.

Quick Start

# Run all quality checks
npm run quality

# Run individual test suites
npm run test:install    # Installation component tests
npm run test:refs       # File reference CSV tests
npm run validate:refs   # File reference validation (strict)

Test Scripts

Installation Component Tests

File: test/test-installation-components.js

Validates that the installer compiles and assembles agents correctly.

File Reference Tests

File: test/test-file-refs-csv.js

Tests the CSV-based file reference validation logic.

Test Fixtures

Located in test/fixtures/:

test/fixtures/
└── file-refs-csv/    # Fixtures for file reference CSV tests