Describe the bug
After a fresh install of bmad-builder (v1.1.0, which pulls in core v6.2.0), running the bmad-builder-setup skill reports "legacy configuration detected" and offers to migrate config files — even though the install just happened.
The root cause is a format mismatch between two components:
- The installer (core v6.2.0) writes config in per-module directories:
_bmad/core/config.yaml and _bmad/bmb/config.yaml
bmad-builder-setup skill (bundled with bmb v1.1.0) expects a centralized format: _bmad/config.yaml and _bmad/config.user.yaml
When the setup skill doesn't find the centralized files but finds the per-module ones, it classifies them as legacy. From the user's perspective, they just installed bmb and are immediately told their config is outdated.
Steps to reproduce
- Create a new project folder
- Install bmad-builder (
npm install bmad-builder or equivalent)
- Run the
bmad-builder-setup skill (e.g. /bmad-builder-setup in Claude Code)
- Observe the "legacy configuration detected" message
Expected behavior
Either:
- The installer should write config in the centralized format that
bmad-builder-setup expects (config.yaml + config.user.yaml), or
bmad-builder-setup should recognize the per-module format as current, or
- Both components should agree on a single config format
Environment
- Model: Claude Opus 4.6
- Agentic IDE: Claude Code
- BMad version: core 6.2.0, bmb 1.1.0
- Project language: N/A (config/tooling issue)
PR
Not planning a fix at this time — flagging for awareness since it affects the first-run experience.
Additional context
The config values themselves are correct and carry forward during "migration." The issue is purely UX — a brand new user shouldn't be told their fresh install is outdated. Both _bmad/core/config.yaml and _bmad/bmb/config.yaml contain identical core settings (user_name, communication_language, etc.), suggesting the installer duplicates core config into each module directory.
Describe the bug
After a fresh install of bmad-builder (v1.1.0, which pulls in core v6.2.0), running the
bmad-builder-setupskill reports "legacy configuration detected" and offers to migrate config files — even though the install just happened.The root cause is a format mismatch between two components:
_bmad/core/config.yamland_bmad/bmb/config.yamlbmad-builder-setupskill (bundled with bmb v1.1.0) expects a centralized format:_bmad/config.yamland_bmad/config.user.yamlWhen the setup skill doesn't find the centralized files but finds the per-module ones, it classifies them as legacy. From the user's perspective, they just installed bmb and are immediately told their config is outdated.
Steps to reproduce
npm install bmad-builderor equivalent)bmad-builder-setupskill (e.g./bmad-builder-setupin Claude Code)Expected behavior
Either:
bmad-builder-setupexpects (config.yaml+config.user.yaml), orbmad-builder-setupshould recognize the per-module format as current, orEnvironment
PR
Not planning a fix at this time — flagging for awareness since it affects the first-run experience.
Additional context
The config values themselves are correct and carry forward during "migration." The issue is purely UX — a brand new user shouldn't be told their fresh install is outdated. Both
_bmad/core/config.yamland_bmad/bmb/config.yamlcontain identical core settings (user_name, communication_language, etc.), suggesting the installer duplicates core config into each module directory.