When the ancestor walk added in the previous commit finds more than one module.yaml + module-help.csv pair between the skills' common parent and the repo root, the deepest one was chosen silently. That could surprise a user whose repo legitimately carries module definitions at multiple levels. PluginResolver.resolve now accepts an optional chooseModuleDefinition callback. When >1 candidate is found it is invoked with each candidate enriched with its relativePath + module.yaml code/name/description, and its selection wins. Headless callers (the --custom-source CLI flow, tests, re-resolution lookups) omit the callback and keep the deterministic deepest-first default, so nothing blocks. The interactive custom-module flow supplies a prompt, pausing/resuming its spinner around the choice. Threads options through CustomModuleManager.resolvePlugin and wires the prompt into both resolve sites of _addCustomUrlModules. Adds tests for the deepest-first default, candidate enrichment, and chooser override. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| adversarial-review-tests | ||
| fixtures/file-refs-csv | ||
| README.md | ||
| test-file-refs-csv.js | ||
| test-ide-sync.js | ||
| test-installation-components.js | ||
| test-installer-channels.js | ||
| test-parse-source-urls.js | ||
| test-rehype-plugins.mjs | ||
| test-workflow-path-regex.js | ||
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