BMAD-METHOD/tools/cli/installers
Marcos Fadul c3486a8844 fix: address PR review findings for extension module installer (#1667)
- installer.js: use findModuleSource() instead of getModulePath() so
  external official modules are recognized as a base when computing
  hasBaseModule (getModulePath only resolves repo-local src/ paths)
- installer.js: wrap base-module install block in try/finally so the
  custom module path is always restored even if an exception is thrown
- installer.js: pass moduleConfig:{} to fallback moduleManager.install()
  so createModuleDirectories receives the expected config
- test: fix assert() to throw on failure so broken preconditions halt
  the scenario immediately instead of cascading
- test: Scenarios A/B now call manager.install() instead of hand-rolling
  fs.remove/fs.copy, exercising the real filtering and manifest logic
- test: Scenario C tests actual removal behavior (sentinel file) instead
  of grepping manager.js source for the guard string
- test: Scenario D adds manifest verification (exactly one bmm entry)
- test: add Scenario E — user-modified sentinel file is preserved when
  extension overlay is applied with isExtension:true
- ci: add validate-extensions-macos job so extension tests run on macOS

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-21 13:56:35 +01:00
..
lib fix: address PR review findings for extension module installer (#1667) 2026-03-21 13:56:35 +01:00
install-messages.yaml fix: correct docs domain to docs.bmad-method.org (#1777) 2026-02-27 13:03:16 -06:00