BMAD-METHOD/tools/installer/modules
Brian Madison d03ba50a60 feat(installer): add plugin resolution strategies for custom URL installs
When installing from a custom GitHub URL, the installer now analyzes
marketplace.json plugin structures to determine how to locate module
registration files (module.yaml, module-help.csv). Five strategies
are tried in cascade:

1. Root module files at the common parent of listed skills
2. A -setup skill with registration files in its assets/
3. Single standalone skill with registration files in assets/
4. Multiple standalone skills, each with their own registration files
5. Fallback: synthesize registration from marketplace.json metadata
   and SKILL.md frontmatter

Also changes the custom URL flow from confirm-all to multiselect,
letting users pick which plugins to install. Already-installed modules
are pre-checked for update; new modules are unchecked for opt-in.

New file: tools/installer/modules/plugin-resolver.js
Modified: custom-module-manager.js, official-modules.js, ui.js
2026-04-09 00:32:33 -05:00
..
community-manager.js feat(installer): community module browser and custom URL support (#2229) 2026-04-08 00:50:04 -05:00
custom-module-manager.js feat(installer): add plugin resolution strategies for custom URL installs 2026-04-09 00:32:33 -05:00
external-manager.js feat(installer): community module browser and custom URL support (#2229) 2026-04-08 00:50:04 -05:00
official-modules.js feat(installer): add plugin resolution strategies for custom URL installs 2026-04-09 00:32:33 -05:00
plugin-resolver.js feat(installer): add plugin resolution strategies for custom URL installs 2026-04-09 00:32:33 -05:00
registry-client.js feat(installer): community module browser and custom URL support (#2229) 2026-04-08 00:50:04 -05:00
registry-fallback.yaml feat(installer): remote registry + remove custom content (#2228) 2026-04-07 22:45:01 -05:00