BMAD-METHOD/tools/installer/modules
pbean 9bc76acdcb feat(installer): recognize new module system (plugin.json#bmad)
Add Strategy 0 to PluginResolver: detect a .claude-plugin/plugin.json
carrying a bmad{} block at the module root and resolve+validate it via
the bmad-module skill's own libs (new bmad-module-lib bridge), so the
installer and runtime skill agree on what a module is. Every resolved
module now carries a format discriminator ('plugin-json' | 'legacy').

OfficialModules routes 'plugin-json' resolutions through a new
_installFromPluginJson path that reuses the skill's copy-plan/flatten/
rewrite/atomic-swap libs, producing an on-disk layout byte-identical to
a bmad-module install while leaving legacy installs untouched. Direct
mode in ui.js prefers a root plugin.json#bmad manifest over SKILL.md
scanning. Adds Test Suite 45 covering detection, legacy fall-through,
and end-to-end install.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-01 13:14:14 -07:00
..
bmad-module-lib.js feat(installer): recognize new module system (plugin.json#bmad) 2026-06-01 13:14:14 -07:00
channel-plan.js v6.7.0: bundle module registry, retire marketplace, refresh display names (#2388) 2026-05-17 17:47:25 -05:00
channel-resolver.js feat(installer): channel-based version resolution + interactive channel management (#2305) 2026-04-24 08:20:30 -05:00
custom-module-manager.js fix: support nested group paths in SSH Git URLs (#2379) 2026-05-25 14:15:04 -05:00
external-manager.js v6.7.0: bundle module registry, retire marketplace, refresh display names (#2388) 2026-05-17 17:47:25 -05:00
module-help-schema.js refactor(catalog): rename after/before to preceded-by/followed-by (#2360) 2026-05-01 12:28:50 -07:00
official-modules.js feat(installer): recognize new module system (plugin.json#bmad) 2026-06-01 13:14:14 -07:00
plugin-resolver.js feat(installer): recognize new module system (plugin.json#bmad) 2026-06-01 13:14:14 -07:00
version-resolver.js fix: bmad tea instal version (#2298) 2026-04-22 11:03:20 -05:00