- Python 79%
- HTML 12.6%
- JavaScript 6.1%
- CSS 1.2%
- Astro 1%
* feat(analyst): run the brief and PRFAQ through bmad-facilitate
Mary's CB, WB and BD menu items call the engine the way John's do. The brief template moves to the module's doc-templates with both agents listed, and a new prfaq template with its own rubric carries over what bmad-prfaq was for.
* feat(method)!: retire bmad-prfaq, bmad-product-brief and bmad-prd
Mary runs the brief and the PRFAQ through bmad-facilitate and John the PRD, so the three standalone skills go. They are listed in retired.toml, and every help page and skill that named them now points at Mary or John.
* docs: route the brief and PRFAQ to Mary and drop the retired skills
The planning pages, the skills reference, the templates page and the planning diagram name Mary (bmad-agent-analyst) for the PRFAQ and the brief. The customization recipes that used bmad-product-brief as their example now use bmad-facilitate and a template extension.
* feat(agents)!: list documents from the templates, and replace two-letter menu codes
- John's and Mary's descriptions name the agent and its role; the menu and the bmad skill list the documents.
- Mary's skill follows John's shape. Her prfaq template and rubric move to her assets/, and she passes her own template library to bmad-facilitate.
- John and Mary offer CREATE, UPDATE and VALIDATE, and the engine picks the template. Asked what they can do, they list the documents they write through list_templates.py, which gains an --agent filter and returns each template's agents.
- Mary's six research items become one RESEARCH item.
- Menu codes become words for every agent: Mary BRAINSTORM, RESEARCH, CONTEXT; Amelia BUILD, TESTS, REVIEW, RETRO; Winston ARCHITECTURE; Sally DESIGN.
- John drops the hardcoded list of shared templates, and his trigger evals drop the brief and BRD queries.
BREAKING CHANGE: an override keyed by an old menu code (CB, WB, BD, MR, DR, TR, TS, CR, UV, BP, PC, CA, CU, QA, ER) now adds an item instead of replacing the shipped one.
* feat(analyst)!: give Mary the brief and the BRD
The brief and BRD templates move from the module's shared doc-templates/ to Mary's assets/, so she alone offers them. John points a brief or BRD to Mary, and his PRD or SRS still picks up a BRD's ids. bmad-ux, the core and method help, the planning docs and the planning diagram now send the brief and BRD to Mary.
BREAKING CHANGE: John no longer writes the brief or the BRD, and a team copy of either template now lives under bmad-agent-analyst/assets/.
* feat(facilitate)!: paced templates, facilitation order, and a generic engine
- `paced: true` walks a template's sections in order, each section's comment acting as the coach's brief; the PRFAQ, brief, experiment, opportunity, pitch, postmortem and decision record are paced.
- `facilitation_order` in the frontmatter lists sections by id in the order they come up, `?` marking those not required; every section is settled on every path, and `list_templates.py` reports ids and headings that do not match.
- Each message opens with a progress line counted against the facilitation order.
- HTML views for the PRFAQ, brief and pitch, rendered at close.
- The engine no longer assumes a planning document: stakes come from the template, assumptions are logged in the memlog, and the stakes ladder, `[ASSUMPTION]` tags, ids and the level below move to `guidance-planning`, which every shipped template names through the new `guidance` key.
BREAKING CHANGE: a section comment no longer marks a section required when the template sets `facilitation_order`, and templates without `guidance` get no stakes levels or body tags.
* fix(facilitate): address review of the template listing and docs
- A replacement template with no `agents` keeps the owner of the template it hides, so a team's copy of the brief stays on Mary's menu.
- `list_templates.py` reports a `facilitation_order` that is not a one-line list, and pairs code fences the CommonMark way.
- The extension example sets a facilitation order so its Compliance section is required; the replace recipe copies the brief's view and keeps its frontmatter keys; the publish example stops on a document that is not final.
- Section ids drop punctuation, as the docs and engine now say.
- The BRD wording keeps the regulator and contract case, and the brief is for why to build, not whether.
* feat(facilitate): required extension sections, and html_view per template
A section an extension adds is now required unless its comment says optional or include when, and the template listing adds it to the merged order, so an extension no longer restates the template's whole order. Extensions can set view and html_view. A template's view now names only the layout; its own html_view decides whether the view is made, replacing the team setting, and the team's never still stops every view. The four templates that set a view also set html_view: always, keeping their behavior.
* feat(customize): change document templates from bmad-customize
bmad-customize now handles a change to a document, such as a section the PRD must have or HTML by default, without the user knowing which skill writes it. It finds the template through the listing, writes an extension by default and a copy only to change what the template says, puts settings for every document in bmad-facilitate.toml, and verifies with the merged listing. Help routes every customization question to it.
* feat(facilitate): load a template and its customizations as one merged file
list_templates.py merges a template with its extensions into {run}/.template.md (--template, --merge), customizations first, frontmatter merged and paths absolute, and the engine works only from that file. An extension's facilitation_order may leave out a template section to remove it, reported under removed, and a section with a template heading replaces it as its comment says. --brief lists only what choosing needs, --libraries-of reads a skill's template_libraries itself, and --project-root fills the placeholder, so a model cannot drop the project's folder. The engine takes a template the user names before the brain dump, and John and Mary hand off before asking about the work.
* fix(facilitate): choose among templates of the named kind, and keep extension orders open
A document asked for by name, such as "a PRD", now narrows the choice to templates of that kind, so a team's prd-billing can win over prd for billing work. bmad-customize never sets facilitation_order just to place a new section, since a restated order removes any section the template adds later, and it can copy a template under a new id as a different document for one team.
* docs(customize): explain document templates and add a team customization tutorial
How Document Templates Work covers where templates come from, the merged file a run reads, and when to extend, replace or make a new template. Customize a Document for Your Team walks a fictional company through a new required section, a change to how an existing section is coached, and a separate billing PRD once the changes outgrow an extension.
* fix(facilitate): write merged template paths with forward slashes
On Windows the merged frontmatter carried JSON-escaped backslashes, which a model reading .template.md had to unescape and the test did not expect.
* fix(facilitate): load supplied templates through the merge, and report unreadable extension orders
A template given by path or URL now goes first in the merge's sources, and a plain markdown file is copied to .template.md. An extension's facilitation_order that is not a one-line list is reported even when the base template's order wins. bmad-customize routes a document change to its template path before the directed-request shortcut, and the explanation page drops its Next Steps section.
|
||
|---|---|---|
| .github | ||
| docs | ||
| docs-site | ||
| skills | ||
| tools | ||
| .coderabbit.yaml | ||
| .gitignore | ||
| .npmrc | ||
| .pre-commit-config.yaml | ||
| .python-version | ||
| .yamllint.yaml | ||
| action.yml | ||
| AGENTS.md | ||
| banner-bmad-method.png | ||
| CHANGELOG.md | ||
| CNAME | ||
| CONTRIBUTING.md | ||
| CONTRIBUTORS.md | ||
| greptile.json | ||
| LICENSE | ||
| pyproject.toml | ||
| README.md | ||
| SECURITY.md | ||
| TRADEMARK.md | ||
| uv.lock | ||
| Wordmark.png | ||
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
BMad ships on two lines. The stable release is v6.12, installed by the npm installer and frozen aside from bug fixes. V7 is in preview alpha on this branch: its skills, install path, and docs change often. The v7 release ETA is mid-November 2026, and it might be sooner. Both routes need uv for BMad setup and Python scripts.
Stable: v6.12 (recommended if stability is needed until v7 is finalized for release)
With Node.js 20.12+ and Python 3.10+, run in your project:
npx bmad-method install
Open your project in your AI coding tool, invoke bmad-build with what you want to change, and run bmad-help whenever you want guidance on what comes next. The v6.12 source and documentation live on the V6.12 branch.
V7 Preview Alpha (recommended for solo or small teams that can pivot as things will change before beta)
Expect breaking changes between updates. You need an AI coding tool that supports skills.
Skills CLI — with Node.js and npm and Git, run in your project:
npx skills add bmad-code-org/BMAD-METHOD --skill '*'
--skill '*' installs the full BMad Method and asks which coding tools to install to. To pick skills instead, run the command without --skill '*' and include bmad for setup and help, plus the module record for each module you pick skills from: bmod-method and bmod-core-tools.
Claude Code plugin — add the marketplace inside Claude Code:
/plugin marketplace add bmad-code-org/bmad-plugins
Codex plugin — add the marketplace from your terminal:
codex plugin marketplace add bmad-code-org/bmad-plugins
For either marketplace, install bmad-method for the delivery workflows and
bmad-core-tools for standalone skills, including the bmad hub.
Open your coding tool in the project and ask the bmad skill to run
bmad setup. Then invoke bmad-build with what you want to change. Ask
bmad whenever you want guidance on what comes next or what is optional.
Ask for bmad status to check versions and see what to run next. Ask for bmad setup to install updates: it runs npx skills update, then refreshes the project and cleans up renamed and removed skills. With a plugin marketplace, update there, then ask for bmad setup.
Report preview problems in GitHub Issues or on Discord.
Next steps
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.
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 much planning a change needs →
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 |
Documentation
- Build Your First Change — Install BMad and build a small project.
- Choose a Planning Path — Pick how much planning a change needs and see what each planning skill produces.
- Start in an Existing Codebase — Add BMad to an existing codebase.
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.
If you would like to contribute, join us in the discord and read CONTRIBUTORS.md first.
