Summary
The bmad-loop-setup skill's config/help registration targets the legacy per-file YAML layout, but current BMAD-METHOD (v6.10.0) uses a consolidated TOML layout that its own resolver reads exclusively. The scripts write files the runtime never reads.
Environment
- bmad-loop 0.9.0
- BMAD-METHOD v6.10.0 (latest release),
bmm + core modules
- macOS, Python via uv
Details
bmad-loop-setup documents and runs:
merge-config.py → writes _bmad/config.yaml and _bmad/config.user.yaml
merge-help-csv.py → writes a root _bmad/module-help.csv
But on v6.10.0 the consolidated config is TOML, resolved by _bmad/scripts/resolve_config.py, which uses tomllib and reads only these four layers:
_bmad/config.toml, _bmad/config.user.toml, _bmad/custom/config.toml, _bmad/custom/config.user.toml. It never reads config.yaml. Help is consolidated in _bmad/_config/bmad-help.csv (plus per-module _bmad/<module>/module-help.csv), not a root _bmad/module-help.csv.
Net effect: the merge scripts produce dead / split-brain files. On a stock install the BMAD installer has already registered the module (manifest + per-module config + help CSV), and bmad-loop validate reports BMAD config OK sourced from the TOML layout — so the merge scripts add nothing but confusion. The bmad-loop module's module.yaml also has no prompt variables, so there is nothing to collect.
Suggested fix
- Detect the consolidated TOML layout; when present, no-op config/help registration (the installer already did it) or write TOML.
- Update the skill docs (they reference
config.yaml throughout) to the TOML layout.
- Consider skipping the merge entirely for modules with no prompt variables.
Summary
The
bmad-loop-setupskill's config/help registration targets the legacy per-file YAML layout, but current BMAD-METHOD (v6.10.0) uses a consolidated TOML layout that its own resolver reads exclusively. The scripts write files the runtime never reads.Environment
bmm+coremodulesDetails
bmad-loop-setupdocuments and runs:merge-config.py→ writes_bmad/config.yamland_bmad/config.user.yamlmerge-help-csv.py→ writes a root_bmad/module-help.csvBut on v6.10.0 the consolidated config is TOML, resolved by
_bmad/scripts/resolve_config.py, which usestomlliband reads only these four layers:_bmad/config.toml,_bmad/config.user.toml,_bmad/custom/config.toml,_bmad/custom/config.user.toml. It never readsconfig.yaml. Help is consolidated in_bmad/_config/bmad-help.csv(plus per-module_bmad/<module>/module-help.csv), not a root_bmad/module-help.csv.Net effect: the merge scripts produce dead / split-brain files. On a stock install the BMAD installer has already registered the module (manifest + per-module config + help CSV), and
bmad-loop validatereportsBMAD config OKsourced from the TOML layout — so the merge scripts add nothing but confusion. Thebmad-loopmodule'smodule.yamlalso has no prompt variables, so there is nothing to collect.Suggested fix
config.yamlthroughout) to the TOML layout.