BMAD-METHOD/tools/installer/modules
pbean be1235fac6 feat(installer): prompt to pick module.yaml when a plugin has several
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>
2026-06-03 14:41:28 -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 feat(installer): prompt to pick module.yaml when a plugin has several 2026-06-03 14:41:28 -07: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): prompt to pick module.yaml when a plugin has several 2026-06-03 14:41:28 -07:00
version-resolver.js fix: bmad tea instal version (#2298) 2026-04-22 11:03:20 -05:00