Description
On a fresh project, bmad-loop validate reports a hard failure (bmad-config) because it
hard-codes the legacy BMAD layout project/_bmad/bmm/config.yaml, while a current
bmad setup / npx bmad-method install (BMAD-METHOD 6.12.x) produces the new-style
project/_bmad/config.toml. The two layouts are not interchangeable, so bmad-loop 0.11.1
and the modern BMAD install are on different configuration formats and validate cannot
pass, which blocks bmad-loop run.
Steps to reproduce
git init a project, add sprint-status.yaml, and initialize the orchestrator:
bmad-loop init --project <proj> --cli opencode
- Run the current BMAD install (produces the modern layout under the project):
Observe that it creates
_bmad/config.toml (with [core], [modules.bmm],
[agents.bmm.*]) — not _bmad/bmm/config.yaml.
- Run preflight:
bmad-loop validate --project <proj>
Expected behavior
bmad-loop validate should pass (or give a clear version-compatibility path) when a current
BMAD Method module is installed. At minimum, the format mismatch should be surfaced so it is
clear how to make the two line up rather than failing on an unproducible legacy path.
Actual behavior
FAIL: BMAD config not found: <proj>/_bmad/bmm/config.yaml (is BMAD installed here?)
FAIL: .claude/skills/bmad-build-auto not found — … ships with the bmm module
(BMAD-METHOD >= 6.10.0) …
FAIL: .claude/skills/bmad-review-adversarial-general not found — …
FAIL: .claude/skills/bmad-review-edge-case-hunter not found — …
Screenshots
No response
Which area is this for?
Setup / init
bmad-loop Version
0.11.1
Which coding CLI are you using?
Other
Operating System
Windows
Relevant log output
- The hard-coded legacy path is read at
[`bmad_loop/bmadconfig.py` `load_paths`](https://github.com/bmad-code-org/bmad-loop/blob/main/src/bmad_loop/bmadconfig.py#L188):
config_path = project / "_bmad" / "bmm" / "config.yaml"
...
raise BmadConfigError(f"BMAD config not found: {config_path} (is BMAD installed here?)")
- The finding surfaces at `cli.py` (validate): `report.fail("bmad-config", str(e))` after
`load_paths(project)`; module docstring of `bmadconfig.py` states `load_paths *requires*
project/_bmad/bmm/config.yaml`.
- bmad-loop 0.11.1's expected skills are the legacy per-lens names
`bmad-build-auto` / `bmad-review-adversarial-general` / `bmad-review-edge-case-hunter`
under `.claude/skills/` ("ships with the bmm module (BMAD-METHOD >= 6.10.0)").
- A current `bmad setup` (bmad 6.12.0) materializes `_bmad/config.toml` (new config format)
and does not create `_bmad/bmm/config.yaml`.
Diagnostic dump (bmad-loop diagnose)
No response
Confirm
Description
On a fresh project,
bmad-loop validatereports a hard failure (bmad-config) because ithard-codes the legacy BMAD layout
project/_bmad/bmm/config.yaml, while a currentbmad setup/npx bmad-method install(BMAD-METHOD 6.12.x) produces the new-styleproject/_bmad/config.toml. The two layouts are not interchangeable, sobmad-loop0.11.1and the modern BMAD install are on different configuration formats and
validatecannotpass, which blocks
bmad-loop run.Steps to reproduce
git inita project, addsprint-status.yaml, and initialize the orchestrator:_bmad/config.toml(with[core],[modules.bmm],[agents.bmm.*]) — not_bmad/bmm/config.yaml.Expected behavior
bmad-loop validateshould pass (or give a clear version-compatibility path) when a currentBMAD Method module is installed. At minimum, the format mismatch should be surfaced so it is
clear how to make the two line up rather than failing on an unproducible legacy path.
Actual behavior
Screenshots
No response
Which area is this for?
Setup / init
bmad-loop Version
0.11.1
Which coding CLI are you using?
Other
Operating System
Windows
Relevant log output
Diagnostic dump (bmad-loop diagnose)
No response
Confirm