* feat(installer): ask about shims during Quick Update Quick Update returned before the shim prompt, so anyone who only ever runs it carried their compatibility shims forward release after release without once being offered the chance to drop them. Quick Update now asks, defaulting to keeping the shims so pressing enter never removes a skill in active use. It stays quiet for an installation that already dropped its shims rather than re-asking every update. The prompt carries the recommendation to remove them and names the one case that justifies keeping them: a customized shim not yet migrated. Whenever an install retains shims, it now lists every one of them and what it forwards to. That notice is emitted where the policy is resolved rather than at the prompt, so it also reaches the paths that never prompt: --yes, --shims, and scripted quick updates. * fix(installer): never prompt for shims without a TTY, and report removal Two gaps in the Quick Update shim prompt. The prompt could be reached by a scripted run. `--action quick-update` is a documented scripting flag and is not tied to `--yes`, so a headless invocation on an install that still had shims fell through to a confirm. clack's confirm never resolves without a TTY: the process drained its event loop and exited silently, mid-install, with status 0. It now keeps the standing answer whenever stdin is not a TTY, leaving --shims and --no-shims as the way to change it from a script. Removing shims was also completely silent. Source filtering just skips the directories, and the IDE cleanup that deletes the stale skill dirs suppresses its logging on purpose, so nothing anywhere told the user that a skill they may still invoke had just gone. Any run that removes shims now lists them and says how to put them back, mirroring the retained notice. Between the two, every run that has shims either way reports which way it went, on interactive and headless paths alike. * feat(installer): carry the shim outcome into the final summary Both shim notices print before the install tasks start, so a long run buries them well above the fold. The summary box already repeats the uv warning for exactly this reason; the shim outcome now rides along the same way, as a single line next to the preserved/backed-up file counts. Retained reads "Deprecated shim skills retained: N (re-run to remove them)" in yellow, removed reads "Deprecated shim skills removed: N" in green, and an install with no shims either way adds no line at all. * fix(installer): say what an empty module selection installs The official module picker allows an empty selection on purpose: core is always installed and is not a row in the list, so selecting nothing is a valid core-only install. The prompt did not say so, and collapsed to a bare "0 items selected", which reads as though the install is about to do nothing. autocompleteMultiselect takes an optional emptyLabel, shown while selecting as "Nothing selected: installs core only" and on submit as "0 items selected (core only)". Pickers that pass no emptyLabel are unchanged. Also fixes the count to say "1 item" rather than "1 items". * refactor(installer): trim explanatory comments to what the code cannot say Cuts 35 comment lines added across this branch down to seven, keeping only the non-obvious constraints: clack's confirm hanging without a TTY, core not being a row in the module picker, and why the shim notices are emitted where they are. * fix(installer): report shims removed after they are retired from source Removal reporting was derived from the shims the incoming release ships, so a shim retired from source fell out of the report entirely: it was absent from discovery, yet the update cleanup still deleted its installed target using the previous manifest. The v7 cut is exactly that case, and it would have removed every shim in silence. Removal is now derived from what is installed, read back from skill-manifest.csv, and the retained/removed split moves into selectShimOutcome. This also covers the mixed run where one shim is retired while the rest stay enabled: both notices fire, and the summary carries both counts. The recovery line no longer offers --shims when the release cannot reinstall them. Raised by greptile and coderabbit on #2746.
Agile Ai Driven Development — turn an idea or change request into working software without giving up the thinking.
Ai Driven Development (AiDD) covers the whole effort, not only the code: what to build, how it holds together, and how it changes as you learn. BMad Method is the agile way to do it — decisions stay explicit, context carries forward, and the process sizes itself to the work. Small changes go straight to build. Complex work gets the depth it needs. The same method covers a weekend prototype and a system with years of history behind it.
Start anywhere. Use BMad end to end, or carry its briefs, specifications, and architecture into your existing delivery workflow.
Start Building
Prerequisites: Node.js 20.12+, Python 3.10+, and uv
npx bmad-method install
Open your project in your AI coding tool, invoke bmad-build with what you want to change, and keep making the decisions that matter. Run bmad-help whenever you want guidance on what comes next or what is optional.
Build your first project with BMad →
Add BMad to an existing codebase →
BMad is free and open source, with no paywalled workflows or gated community. For prerelease builds, CI/CD, configuration overrides, and non-interactive setup, see the installation guide.
Why BMad?
Coding assistants are effective at implementation, but they often turn unstated assumptions into code. BMad keeps you in control while its agents and workflows make the important decisions explicit and preserve them as context for the work that follows.
- Right-sized process — Go directly to implementation for clear changes or add deeper planning for larger initiatives.
- New or existing code — Start from nothing, or establish verified context on a codebase you inherited and work from what is actually there.
- Durable context — Carry product and technical decisions forward instead of re-explaining them in every chat.
- Specialized perspectives — Bring in product, architecture, UX, development, and testing expertise when it helps.
- Guided collaboration — Use structured workflows and multiple-agent discussions without handing over judgment.
- One delivery path — Move from early thinking through reviewed implementation, correction, and learning.
See how the workflows fit together →
BMad Ecosystem
Install the core method or add official modules for specialized work.
| Module | Purpose |
|---|---|
| BMad Method | Plan and deliver software, from new prototypes to established codebases |
| BMad Builder | Skill, workflow, and agent builder |
| BMad Creative Intelligence Suite | Creative thinking partners for innovation, design thinking, and storytelling |
| BMad Test Architect | Enterprise testing add-on for BMad Method |
| BMad Loop | Builds, verifies, and retros a whole epic unattended |
| BMad Game Dev Studio | Ideate, design, and build games in any framework, including Unity, Unreal, Godot, and Phaser |
Plan on the Web
Web bundles package selected BMad workflows as Google Gemini Gems and ChatGPT Custom GPTs. Use them for planning in your existing web subscription, then bring the resulting artifacts into your AI coding tool for implementation.
Documentation
- Getting Started — Install BMad and build a small project.
- Workflow Map — Understand the available paths and outputs.
- Established Projects — Add BMad to an existing codebase.
- Upgrade to V6 — Migrate from an earlier version.
Roadmap
See what is in progress and what is planned on the public roadmap.
Community
- Discord — Get help, share ideas, and collaborate.
- YouTube — Watch tutorials and master classes.
- GitHub Issues — Report bugs and request features.
- GitHub Discussions — Join longer community conversations.
- BMad Code — Explore the wider ecosystem.
Support and Contributing
BMad is free for everyone and always will be. Star the repository, buy me a coffee, or email contact@bmadcode.com for corporate sponsorship.
Contributions are welcome. Read CONTRIBUTING.md before opening a pull request.
License
MIT License — see LICENSE for details.
BMad and BMAD-METHOD are trademarks of BMad Code, LLC. See TRADEMARK.md for details.
See CONTRIBUTORS.md for contributor information.
