mirror of
https://github.com/bmad-code-org/BMAD-METHOD.git
synced 2026-08-28 19:20:41 +08:00
docs: add Build a Change page in plain English (#2780)
* docs: create Build a Change page and retire Quick Fixes and Build Consolidate how-to/quick-fixes and explanation/build into the canonical build/build-a-change page, opening with the sizing model and Where Build Fits table and preserving the Build diagram and intent examples. Add the Build sidebar group after Start, redirect both old routes, retarget first-party English links and the llms.txt entry, and close the resulting sidebar-order gaps. * fix(docs): track Build a Change page by scoping Astro build ignore The bare build/ gitignore rule also matched docs/build/, so the new canonical page never entered the prior commit. * docs: rewrite Build a Change page in plain English Name the skill as bmad-build instead of Build, drop the duplicated routing tables, and explain why it spends human attention on a few checkpoints instead of a Continue slog.
This commit is contained in:
+2
-2
@@ -82,10 +82,10 @@ _bmad/custom/*.user.toml
|
|||||||
.windsurf
|
.windsurf
|
||||||
|
|
||||||
|
|
||||||
# Astro / Documentation Build
|
# Astro / Documentation Build (repo-root output only — not docs/build/)
|
||||||
website/.astro/
|
website/.astro/
|
||||||
website/dist/
|
website/dist/
|
||||||
build/
|
/build/
|
||||||
|
|
||||||
# Web bundle release artifacts
|
# Web bundle release artifacts
|
||||||
dist/web-bundles/
|
dist/web-bundles/
|
||||||
|
|||||||
Vendored
+173
@@ -0,0 +1,173 @@
|
|||||||
|
---
|
||||||
|
title: 'Build a Change'
|
||||||
|
description: Use bmad-build to turn a request, issue, spec, or story into implemented and reviewed code.
|
||||||
|
sidebar:
|
||||||
|
order: 1
|
||||||
|
---
|
||||||
|
|
||||||
|
The core implementation skill is `bmad-build`. It takes any expression of
|
||||||
|
what you want — a sentence, an issue, a spec, or a planned story — and asks
|
||||||
|
questions until the goal is clear and small enough for one development
|
||||||
|
session. Then it plans the change, implements it, reviews the result, and
|
||||||
|
fixes the bugs it finds. See [how a run works](#run-bmad-build).
|
||||||
|
|
||||||
|
## Size the Work
|
||||||
|
|
||||||
|
Use the smallest amount of BMad that safely fits the change. A typical
|
||||||
|
session is one goal: about 500 lines of code added or changed (not counting
|
||||||
|
tests) in a small handful of files. If it fits, give it to `bmad-build`. If it
|
||||||
|
doesn't, plan that bigger piece of work first — see
|
||||||
|
[Choose a Development Path](../how-to/choose-a-development-path.md). You
|
||||||
|
often cannot tell until you try; if you aren't sure, ask `bmad-help`.
|
||||||
|
|
||||||
|
For a trivial edit you are willing to review yourself, skip the process
|
||||||
|
and ask the agent to make it directly. But if a bug could escape into
|
||||||
|
production, `bmad-build` is likely worth it.
|
||||||
|
|
||||||
|
## Run `bmad-build`
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
### 1. Start a Fresh Chat
|
||||||
|
|
||||||
|
Open a **fresh chat** in your AI IDE. Reusing a session from another workflow
|
||||||
|
can mix contexts and confuse the run.
|
||||||
|
|
||||||
|
### 2. Give It Your Intent
|
||||||
|
|
||||||
|
You can describe the change before, with, or after the command. It does not
|
||||||
|
have to be tidy. A ramble, a voice dump, a half-formed thought, an issue
|
||||||
|
link, a file, or a planned story all work — anything the model can turn into
|
||||||
|
a concrete goal.
|
||||||
|
|
||||||
|
```text
|
||||||
|
/bmad-build Fix the login validation bug that allows empty passwords.
|
||||||
|
```
|
||||||
|
|
||||||
|
```text
|
||||||
|
/bmad-build Fix https://github.com/org/repo/issues/42.
|
||||||
|
```
|
||||||
|
|
||||||
|
```text
|
||||||
|
/bmad-build Implement the intent in
|
||||||
|
_bmad-output/implementation-artifacts/my-intent.md.
|
||||||
|
```
|
||||||
|
|
||||||
|
```text
|
||||||
|
I think the problem is in the auth middleware, it's not checking token expiry.
|
||||||
|
Let me look at it... yeah, src/auth/middleware.ts line 47 skips
|
||||||
|
the exp check entirely. /bmad-build
|
||||||
|
```
|
||||||
|
|
||||||
|
```text
|
||||||
|
/bmad-build
|
||||||
|
> What would you like to do?
|
||||||
|
Refactor UserService to use async/await instead of callbacks.
|
||||||
|
```
|
||||||
|
|
||||||
|
### 3. Clarify the Intent
|
||||||
|
|
||||||
|
`bmad-build` first works with you to turn the request into one clear goal. The
|
||||||
|
input can start rough, but before it runs on its own the goal must be small
|
||||||
|
enough, clear enough, and free of contradictions. It uses any upstream context
|
||||||
|
it already has and asks only about gaps it needs to implement safely.
|
||||||
|
|
||||||
|
Answer those questions carefully. A wrong answer here is the most expensive
|
||||||
|
kind of mistake to find later.
|
||||||
|
|
||||||
|
### 4. Approve a Plan When Asked
|
||||||
|
|
||||||
|
Once the goal is clear, `bmad-build` chooses a path. Tiny, low-risk changes go
|
||||||
|
straight to implementation. Everything else gets a short written plan first, so
|
||||||
|
the model has a firm boundary before it works longer without you.
|
||||||
|
|
||||||
|
Approve the plan when it describes the right thing to build. Push back if it
|
||||||
|
does not — fixing the plan is cheaper than fixing the code.
|
||||||
|
|
||||||
|
### 5. Implementation and Review
|
||||||
|
|
||||||
|
After that decision, `bmad-build` implements the change, reviews its own work
|
||||||
|
with independent reviewers, fixes problems that belong to this change, and
|
||||||
|
commits locally. This works best on a platform that can spawn subagents, or at
|
||||||
|
least call another model from the command line and wait for a result.
|
||||||
|
|
||||||
|
Review is triage, not a dump of every possible note. Issues that belong to the
|
||||||
|
current change get fixed. Unrelated pre-existing issues get deferred. If the
|
||||||
|
code is wrong because the plan was weak, or the plan is wrong because the goal
|
||||||
|
was wrong, it goes back to that layer and regenerates from there instead of
|
||||||
|
patching only the diff.
|
||||||
|
|
||||||
|
### 6. Review the Result
|
||||||
|
|
||||||
|
When it finishes, `bmad-build` shows you the completed change and its review
|
||||||
|
notes. This is the main checkpoint.
|
||||||
|
|
||||||
|
- Skim the diff to confirm the change matches your intent
|
||||||
|
- If something looks off, tell the agent what to fix — it can iterate in the
|
||||||
|
same session
|
||||||
|
|
||||||
|
Once you are satisfied, push the commit. It can offer to push and create a PR
|
||||||
|
for you.
|
||||||
|
|
||||||
|
:::caution[If Something Breaks]
|
||||||
|
If a pushed change causes unexpected issues, use `git revert HEAD` to undo the
|
||||||
|
last commit cleanly. Then start a fresh chat and run `bmad-build` again with a
|
||||||
|
different approach.
|
||||||
|
:::
|
||||||
|
|
||||||
|
## What You Get
|
||||||
|
|
||||||
|
- Modified source files with the change applied
|
||||||
|
- Passing tests (if your project has a test suite)
|
||||||
|
- A ready-to-push commit with a conventional commit message
|
||||||
|
- An implementation record for the run, kept beside the parent spec or story
|
||||||
|
when there is one
|
||||||
|
|
||||||
|
## Deferred Work
|
||||||
|
|
||||||
|
Each run stays focused on one goal. If your request contains several independent
|
||||||
|
goals, or review finds pre-existing issues unrelated to your change,
|
||||||
|
`bmad-build` writes them to `deferred-work.md` in your implementation artifacts
|
||||||
|
directory instead of trying to do everything at once.
|
||||||
|
|
||||||
|
Check that file after a run — it is a backlog of follow-ups. You can feed each
|
||||||
|
item into a fresh `bmad-build` run later.
|
||||||
|
|
||||||
|
## When to Plan First
|
||||||
|
|
||||||
|
Add a spec, or PRD, UX, architecture, and story planning, before running
|
||||||
|
`bmad-build` when:
|
||||||
|
|
||||||
|
- The change affects multiple systems or needs coordinated updates across many
|
||||||
|
files
|
||||||
|
- You are unsure about the scope and need requirements discovery first
|
||||||
|
- You need documentation or architectural decisions recorded for the team
|
||||||
|
- Clarifying the intent keeps surfacing contradictions that one session cannot
|
||||||
|
resolve
|
||||||
|
|
||||||
|
Larger work becomes a sequence of one-session changes. That sequence can change
|
||||||
|
as implementation teaches you more. Parent specs keep the shared goal; story
|
||||||
|
records carry decisions and completion state; integration checks and
|
||||||
|
retrospectives cover the combined result. `bmad-build` handles one unit. It does
|
||||||
|
not own the backlog, pick the next story, or replace those later checks.
|
||||||
|
|
||||||
|
Use `bmad-build` for foundational, risky, or important stories where your
|
||||||
|
decisions may set patterns for later work. Once those patterns are stable,
|
||||||
|
`bmad-build-auto` can run one unit without waiting for you; see
|
||||||
|
[Autonomous Development Loops](../reference/build-auto.md).
|
||||||
|
|
||||||
|
## Why It Works This Way
|
||||||
|
|
||||||
|
LLMs can see what looks important, not what actually is. Without your
|
||||||
|
attention, the whole thing quickly falls apart.
|
||||||
|
|
||||||
|
Ten minutes of inference is usually cheaper than ten seconds of your
|
||||||
|
attention. Watching every step yourself is a slog of Continue — keep going,
|
||||||
|
yes, proceed. That part is tedious, unnecessary, and it turns you into the
|
||||||
|
bottleneck.
|
||||||
|
|
||||||
|
`bmad-build` hands the "go on"s to the machine. It keeps your attention in a
|
||||||
|
few places that actually need you — clarifying the goal, approving the plan,
|
||||||
|
and reviewing the finished change — and brings you back only when it could not
|
||||||
|
safely decide alone. That triage will sometimes be imperfect. Missing a
|
||||||
|
low-value finding is usually better than flooding you with noise.
|
||||||
@@ -1,132 +0,0 @@
|
|||||||
---
|
|
||||||
title: 'Build'
|
|
||||||
description: Understand how the attentive Build workflow handles direct intent and planned stories.
|
|
||||||
sidebar:
|
|
||||||
order: 7
|
|
||||||
---
|
|
||||||
|
|
||||||
`bmad-build` is the attentive Build workflow for one coherent,
|
|
||||||
session-sized unit of software work. It accepts anything from free-form intent
|
|
||||||
or an issue to a fully planned story, then clarifies, plans, implements, and
|
|
||||||
reviews that unit with as few human checkpoints as safety allows.
|
|
||||||
|
|
||||||
Session-sized means that one implementation session can reasonably understand,
|
|
||||||
implement, review, and finish the intent. It is a scope boundary, not a time
|
|
||||||
estimate. A small change may require more planning because of its risk,
|
|
||||||
ambiguity, or architectural reach.
|
|
||||||
|
|
||||||
Invoke the `bmad-build` skill directly. Upstream planning determines the
|
|
||||||
context Build receives; it does not require a different implementation agent.
|
|
||||||
|
|
||||||
When a planned story enters Build, the story remains the product and acceptance
|
|
||||||
context. Build creates an implementation record for the current run so
|
|
||||||
decisions, completion state, and review findings remain traceable without
|
|
||||||
replacing the story.
|
|
||||||
|
|
||||||

|
|
||||||
|
|
||||||
## Where Build Fits
|
|
||||||
|
|
||||||
Use the smallest planning path that safely produces a session-sized unit, then
|
|
||||||
give that unit to Build.
|
|
||||||
|
|
||||||
| Starting point | What Build receives | What preserves the larger intent |
|
|
||||||
| ----------------- | ----------------------------------------------- | ------------------------------------------------------------- |
|
|
||||||
| Direct change | A request, issue, or intent file | The Build implementation record |
|
|
||||||
| Spec-backed epic | One entry from the spec folder's `stories.yaml` | `SPEC.md`, its companions, and prior story records |
|
|
||||||
| Full BMad project | One selected story | PRD, UX, architecture, epics, sprint tracking, and prior work |
|
|
||||||
|
|
||||||
An obvious, low-risk edit may not need Build. An epic or project needs more
|
|
||||||
planning around Build, but each implementation unit still uses the same workflow.
|
|
||||||
See [Choose a Development Path](../how-to/choose-a-development-path.md) for the
|
|
||||||
complete routing guide.
|
|
||||||
|
|
||||||
## How Larger Work Reaches Build
|
|
||||||
|
|
||||||
Larger intent becomes a sequence of session-sized units. That sequence can
|
|
||||||
change as implementation produces evidence. Later stories may need to absorb a
|
|
||||||
new constraint, reconcile a decision made by an earlier story, or be divided
|
|
||||||
differently.
|
|
||||||
|
|
||||||
The larger BMad flow reduces the risk of losing information when work is
|
|
||||||
divided. Parent specs and planning artifacts preserve shared intent; story
|
|
||||||
records carry decisions and completion state; integration checks judge the
|
|
||||||
combined behavior; and retrospectives compare the whole epic with its contract.
|
|
||||||
|
|
||||||
Build handles one unit in that lifecycle. It does not own the backlog, select
|
|
||||||
the next story, coordinate several epic streams, or replace integration and
|
|
||||||
retrospective review.
|
|
||||||
|
|
||||||
## Attentive and Unattended Work
|
|
||||||
|
|
||||||
Use Build for foundational, risky, or important stories where human decisions
|
|
||||||
may establish patterns for later work. Once those patterns are stable,
|
|
||||||
`bmad-build-auto` can execute one unit unattended. An AI coding session or
|
|
||||||
another orchestrator, such as bmad-loop, must still select and dispatch each
|
|
||||||
unit.
|
|
||||||
|
|
||||||
Both Build workflows write story records under the same spec folder,
|
|
||||||
so downstream integration and Retrospective can use their status regardless of
|
|
||||||
which Build workflow produced them. See
|
|
||||||
[Autonomous Development Loops](../reference/build-auto.md) for that contract.
|
|
||||||
|
|
||||||
## Why This Exists
|
|
||||||
|
|
||||||
Human-in-the-loop turns are necessary and expensive.
|
|
||||||
|
|
||||||
Current LLMs still fail in predictable ways: they misread intent, fill gaps with confident guesses, drift into unrelated work, and generate noisy review output. At the same time, constant human intervention limits development velocity. Human attention is the bottleneck.
|
|
||||||
|
|
||||||
`bmad-build` rebalances that tradeoff. It trusts the model to run unsupervised for longer stretches, but only after the workflow has created a strong enough boundary to make that safe.
|
|
||||||
|
|
||||||
## The Core Design
|
|
||||||
|
|
||||||
### 1. Compress intent first
|
|
||||||
|
|
||||||
The workflow starts by having the human and the model compress the request into one coherent goal. The input can begin as a rough expression of intent, but before the workflow runs autonomously it has to become small enough, clear enough, and contradiction-free enough to execute.
|
|
||||||
|
|
||||||
Intent can come in many forms: a couple of phrases, a bug tracker link, output from plan mode, text copied from a chat session, or a planned story from BMad's own epics and sprint artifacts. The workflow uses whatever upstream context exists and resolves any gaps it needs to implement safely.
|
|
||||||
|
|
||||||
This workflow does not eliminate human control. It relocates it to a small number of high-value moments:
|
|
||||||
|
|
||||||
- **Intent clarification** - turning a messy request into one coherent goal without hidden contradictions
|
|
||||||
- **Spec approval** - confirming that the frozen understanding is the right thing to build
|
|
||||||
- **Review of the final product** - the primary checkpoint, where the human decides whether the result is acceptable at the end
|
|
||||||
|
|
||||||
### 2. Route to the smallest safe path
|
|
||||||
|
|
||||||
Once the goal is clear, the workflow decides whether this is a true one-shot change or whether it needs the fuller path. Small, zero-blast-radius changes can go straight to implementation. Everything else goes through planning so the model has a stronger boundary before it runs longer on its own.
|
|
||||||
|
|
||||||
### 3. Run longer with less supervision
|
|
||||||
|
|
||||||
After that routing decision, the model can carry more of the work on its own. On the fuller path, the approved spec becomes the boundary the model executes against with less supervision, which is the whole point of the design.
|
|
||||||
|
|
||||||
### 4. Diagnose failure at the right layer
|
|
||||||
|
|
||||||
If the implementation is wrong because the intent was wrong, patching the code is the wrong fix. If the code is wrong because the spec was weak, patching the diff is also the wrong fix. The workflow is designed to diagnose where the failure entered the system, go back to that layer, and regenerate from there.
|
|
||||||
|
|
||||||
Review findings are used to decide whether the problem came from intent, spec generation, or local implementation. Only truly local problems get patched locally.
|
|
||||||
|
|
||||||
### 5. Bring the human back only when needed
|
|
||||||
|
|
||||||
The intent interview is human-in-the-loop, but it is not the same kind of interruption as a recurring checkpoint. The workflow tries to keep those recurring checkpoints to a minimum. After the initial shaping of intent, the human mainly comes back when the workflow cannot safely continue without judgment and at the end, when it is time to review the result.
|
|
||||||
|
|
||||||
- **Intent-gap resolution** - stepping back in when review proves the workflow could not safely infer what was meant
|
|
||||||
|
|
||||||
Everything else is a candidate for longer autonomous execution. That tradeoff is deliberate. Older patterns spend more human attention on continuous supervision. Build spends more trust on the model, but saves human attention for the moments where human reasoning has the highest leverage.
|
|
||||||
|
|
||||||
## Why the Review System Matters
|
|
||||||
|
|
||||||
The review phase is not just there to find bugs. It is there to route correction without destroying momentum.
|
|
||||||
|
|
||||||
This workflow works best on a platform that can spawn subagents, or at least invoke another LLM through the command line and wait for a result. If your platform does not support that natively, you can add a skill to do it. Context-free subagents are a cornerstone of the review design.
|
|
||||||
|
|
||||||
Agentic reviews often go wrong in two ways:
|
|
||||||
|
|
||||||
- They generate too many findings, forcing the human to sift through noise.
|
|
||||||
- They derail the current change by surfacing unrelated issues and turning every run into an ad hoc cleanup project.
|
|
||||||
|
|
||||||
Build addresses both by treating review as triage.
|
|
||||||
|
|
||||||
Some findings belong to the current change. Some do not. If a finding is incidental rather than causally tied to the current work, the workflow can defer it instead of forcing the human to handle it immediately. That keeps the run focused and prevents random tangents from consuming the budget of attention.
|
|
||||||
|
|
||||||
That triage will sometimes be imperfect. That is acceptable. It is usually better to misjudge some findings than to flood the human with thousands of low-value review comments. The system is optimizing for signal quality, not exhaustive recall.
|
|
||||||
@@ -2,7 +2,7 @@
|
|||||||
title: "Checkpoint Preview"
|
title: "Checkpoint Preview"
|
||||||
description: LLM-assisted human-in-the-loop review that guides you through a change from purpose to details
|
description: LLM-assisted human-in-the-loop review that guides you through a change from purpose to details
|
||||||
sidebar:
|
sidebar:
|
||||||
order: 8
|
order: 7
|
||||||
---
|
---
|
||||||
|
|
||||||
`bmad-checkpoint-preview` is an interactive, LLM-assisted human-in-the-loop review workflow. It walks you through a code change — from purpose and context into details — so you can make an informed decision about whether to ship, rework, or dig deeper.
|
`bmad-checkpoint-preview` is an interactive, LLM-assisted human-in-the-loop review workflow. It walks you through a code change — from purpose and context into details — so you can make an informed decision about whether to ship, rework, or dig deeper.
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
title: "Deep Recon"
|
title: "Deep Recon"
|
||||||
description: Decision-grade research three ways — draft a prompt for your own deep-research tool, process a finished report, or run the research in place
|
description: Decision-grade research three ways — draft a prompt for your own deep-research tool, process a finished report, or run the research in place
|
||||||
sidebar:
|
sidebar:
|
||||||
order: 14
|
order: 13
|
||||||
---
|
---
|
||||||
|
|
||||||
Deep Recon researches anything you need to decide on. This page explains its three modes, how to pick between them, and what actually happens inside a native research run.
|
Deep Recon researches anything you need to decide on. This page explains its three modes, how to pick between them, and what actually happens inside a native research run.
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
title: "Established Projects FAQ"
|
title: "Established Projects FAQ"
|
||||||
description: Common questions about using BMad Method on established projects
|
description: Common questions about using BMad Method on established projects
|
||||||
sidebar:
|
sidebar:
|
||||||
order: 12
|
order: 11
|
||||||
---
|
---
|
||||||
Quick answers to common questions about working on established projects with the BMad Method (BMM).
|
Quick answers to common questions about working on established projects with the BMad Method (BMM).
|
||||||
|
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
title: "Forge an Idea"
|
title: "Forge an Idea"
|
||||||
description: Pressure-test an idea through persona-driven interrogation until it hardens, proves out, or dies cheaply
|
description: Pressure-test an idea through persona-driven interrogation until it hardens, proves out, or dies cheaply
|
||||||
sidebar:
|
sidebar:
|
||||||
order: 13
|
order: 12
|
||||||
---
|
---
|
||||||
|
|
||||||
Take a half-formed idea and pressure-test it now, in conversation, while changing your mind is still free.
|
Take a half-formed idea and pressure-test it now, in conversation, while changing your mind is still free.
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
title: "Party Mode"
|
title: "Party Mode"
|
||||||
description: Get your AI agents in one conversation — run them, build your own cast, and choose how independently they think
|
description: Get your AI agents in one conversation — run them, build your own cast, and choose how independently they think
|
||||||
sidebar:
|
sidebar:
|
||||||
order: 9
|
order: 8
|
||||||
---
|
---
|
||||||
|
|
||||||
Party mode puts your AI agents in one room and lets them talk, to each other and to you. This page explains what a party is, the four ways it can run, how to build your own cast of personas instead of using the installed agents, and how a party remembers you between sessions.
|
Party mode puts your AI agents in one room and lets them talk, to each other and to you. This page explains what a party is, the four ways it can run, how to build your own cast of personas instead of using the installed agents, and how a party remembers you between sessions.
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
title: "The Theory of Project Context"
|
title: "The Theory of Project Context"
|
||||||
description: Why bmad-project-context captures so little, what earns a place in a repository's agent instructions, and what is deliberately left out
|
description: Why bmad-project-context captures so little, what earns a place in a repository's agent instructions, and what is deliberately left out
|
||||||
sidebar:
|
sidebar:
|
||||||
order: 11
|
order: 10
|
||||||
---
|
---
|
||||||
|
|
||||||
`bmad-project-context` is built on an uncomfortable finding: most documentation written *for* AI agents makes them worse. This page explains the theory behind the skill — what it captures and why, and more importantly, what it deliberately refuses to capture. If you are coming from `bmad-document-project` or `bmad-generate-project-context`, the last section explains exactly what changed.
|
`bmad-project-context` is built on an uncomfortable finding: most documentation written *for* AI agents makes them worse. This page explains the theory behind the skill — what it captures and why, and more importantly, what it deliberately refuses to capture. If you are coming from `bmad-document-project` or `bmad-generate-project-context`, the last section explains exactly what changed.
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
title: "Project Context"
|
title: "Project Context"
|
||||||
description: How bmad-project-context writes a repository's agent instructions — a small verified block in AGENTS.md
|
description: How bmad-project-context writes a repository's agent instructions — a small verified block in AGENTS.md
|
||||||
sidebar:
|
sidebar:
|
||||||
order: 10
|
order: 9
|
||||||
---
|
---
|
||||||
|
|
||||||
`bmad-project-context` sets up a repository so AI agents work well in it. The output is a small verified block inside the repo's `AGENTS.md`: what the org requires, the commands that were actually run, the conventions where the obvious guess is wrong, and the mistakes agents keep making here.
|
`bmad-project-context` sets up a repository so AI agents work well in it. The output is a small verified block inside the repo's `AGENTS.md`: what the org requires, the commands that were actually run, the conventions where the obvious guess is wrong, and the mistakes agents keep making here.
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
title: 'Retrospective'
|
title: 'Retrospective'
|
||||||
description: Close out a finished epic by reading the evidence it left — the diff, the commits, the specs — and judging the result instead of trusting memory.
|
description: Close out a finished epic by reading the evidence it left — the diff, the commits, the specs — and judging the result instead of trusting memory.
|
||||||
sidebar:
|
sidebar:
|
||||||
order: 15
|
order: 14
|
||||||
---
|
---
|
||||||
|
|
||||||
Run `bmad-retrospective` directly when an epic is done. It reads what the epic
|
Run `bmad-retrospective` directly when an epic is done. It reads what the epic
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
title: "Sprint Planning"
|
title: "Sprint Planning"
|
||||||
description: One skill owns the sprint-status artifact end to end — gate the plan, generate the tracking, view the status, repair it when it breaks — with the mechanical work done by a deterministic script.
|
description: One skill owns the sprint-status artifact end to end — gate the plan, generate the tracking, view the status, repair it when it breaks — with the mechanical work done by a deterministic script.
|
||||||
sidebar:
|
sidebar:
|
||||||
order: 16
|
order: 15
|
||||||
---
|
---
|
||||||
|
|
||||||
Run `bmad-sprint-planning` at the boundary between planning and implementation. It answers three questions with one skill: is this plan actually buildable (the readiness gate), what work exists and where does it stand (`sprint-status.yaml` generation), and where are we now (the status view). It also validates and repairs the tracking file itself. Say "check implementation readiness", "run sprint planning", "show sprint status", "validate sprint status", or "fix sprint status" — the skill detects which you want.
|
Run `bmad-sprint-planning` at the boundary between planning and implementation. It answers three questions with one skill: is this plan actually buildable (the readiness gate), what work exists and where does it stand (`sprint-status.yaml` generation), and where are we now (the status view). It also validates and repairs the tracking file itself. Say "check implementation readiness", "run sprint planning", "show sprint status", "validate sprint status", or "fix sprint status" — the skill detects which you want.
|
||||||
|
|||||||
@@ -70,7 +70,7 @@ existing formats.
|
|||||||
|
|
||||||
Build accepts direct intent, an issue, an intent file, an existing Build spec,
|
Build accepts direct intent, an issue, an intent file, an existing Build spec,
|
||||||
or a planned story. It clarifies the unit, plans when needed, implements it,
|
or a planned story. It clarifies the unit, plans when needed, implements it,
|
||||||
reviews the result, and records what happened. See [Build](../explanation/build.md)
|
reviews the result, and records what happened. See [Build a Change](../build/build-a-change.md)
|
||||||
for the implementation model.
|
for the implementation model.
|
||||||
|
|
||||||
### 4. Start Epic-Sized Work
|
### 4. Start Epic-Sized Work
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
title: 'How to Customize BMad'
|
title: 'How to Customize BMad'
|
||||||
description: Customize agents and workflows while preserving update compatibility
|
description: Customize agents and workflows while preserving update compatibility
|
||||||
sidebar:
|
sidebar:
|
||||||
order: 6
|
order: 5
|
||||||
---
|
---
|
||||||
|
|
||||||
Tailor agent personas, inject domain context, add capabilities, and configure workflow behavior -- all without modifying installed files. Your customizations survive every update.
|
Tailor agent personas, inject domain context, add capabilities, and configure workflow behavior -- all without modifying installed files. Your customizations survive every update.
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
title: 'Established Projects'
|
title: 'Established Projects'
|
||||||
description: How to use BMad Method on existing codebases
|
description: How to use BMad Method on existing codebases
|
||||||
sidebar:
|
sidebar:
|
||||||
order: 5
|
order: 4
|
||||||
---
|
---
|
||||||
|
|
||||||
Use BMad Method effectively when working on existing projects and legacy codebases.
|
Use BMad Method effectively when working on existing projects and legacy codebases.
|
||||||
@@ -107,5 +107,5 @@ Pay close attention here to prevent reinventing the wheel or making decisions th
|
|||||||
|
|
||||||
## More Information
|
## More Information
|
||||||
|
|
||||||
- **[Quick Fixes](./quick-fixes.md)** - Bug fixes and ad-hoc changes
|
- **[Build a Change](../build/build-a-change.md)** - Bug fixes and ad-hoc changes
|
||||||
- **[Established Projects FAQ](../explanation/established-projects-faq.md)** - Common questions about working on established projects
|
- **[Established Projects FAQ](../explanation/established-projects-faq.md)** - Common questions about working on established projects
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
title: 'How to Expand BMad for Your Organization'
|
title: 'How to Expand BMad for Your Organization'
|
||||||
description: Six customization patterns that reshape BMad without forking — agent-wide rules, workflow conventions, external publishing, template swaps, agent roster changes, and advanced integration patterns
|
description: Six customization patterns that reshape BMad without forking — agent-wide rules, workflow conventions, external publishing, template swaps, agent roster changes, and advanced integration patterns
|
||||||
sidebar:
|
sidebar:
|
||||||
order: 8
|
order: 7
|
||||||
---
|
---
|
||||||
|
|
||||||
BMad's customization surface lets an organization reshape behavior without editing installed files or forking skills. This guide walks through six recipes that cover most enterprise needs.
|
BMad's customization surface lets an organization reshape behavior without editing installed files or forking skills. This guide walks through six recipes that cover most enterprise needs.
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
title: 'How to Get Answers About BMad'
|
title: 'How to Get Answers About BMad'
|
||||||
description: Use an LLM to quickly answer your own BMad questions
|
description: Use an LLM to quickly answer your own BMad questions
|
||||||
sidebar:
|
sidebar:
|
||||||
order: 10
|
order: 9
|
||||||
---
|
---
|
||||||
|
|
||||||
Use BMad's built-in help, source docs, or the community to get answers — from quickest to most thorough.
|
Use BMad's built-in help, source docs, or the community to get answers — from quickest to most thorough.
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
title: "Pressure-Test an Idea"
|
title: "Pressure-Test an Idea"
|
||||||
description: Use the bmad-forge-idea skill to harden, prove, or kill an idea before you invest in it
|
description: Use the bmad-forge-idea skill to harden, prove, or kill an idea before you invest in it
|
||||||
sidebar:
|
sidebar:
|
||||||
order: 9
|
order: 8
|
||||||
---
|
---
|
||||||
|
|
||||||
Use the `bmad-forge-idea` skill to put a half-formed idea under adversarial questioning. It either survives with earned conviction or dies cheaply.
|
Use the `bmad-forge-idea` skill to put a half-formed idea under adversarial questioning. It either survives with earned conviction or dies cheaply.
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
title: 'Manage Project Context'
|
title: 'Manage Project Context'
|
||||||
description: Set up and maintain your repository's agent instructions with bmad-project-context
|
description: Set up and maintain your repository's agent instructions with bmad-project-context
|
||||||
sidebar:
|
sidebar:
|
||||||
order: 7
|
order: 6
|
||||||
---
|
---
|
||||||
|
|
||||||
Use `bmad-project-context` to set up a repository so AI agents work well in it — for a new project or an existing codebase, with or without a BMad install. The output is a small verified block in your `AGENTS.md`.
|
Use `bmad-project-context` to set up a repository so AI agents work well in it — for a new project or an existing codebase, with or without a BMad install. The output is a small verified block in your `AGENTS.md`.
|
||||||
|
|||||||
@@ -1,108 +0,0 @@
|
|||||||
---
|
|
||||||
title: 'Quick Fixes'
|
|
||||||
description: How to make quick fixes and ad-hoc changes
|
|
||||||
sidebar:
|
|
||||||
order: 4
|
|
||||||
---
|
|
||||||
|
|
||||||
Use the `bmad-build` workflow for a small targeted change that benefits from
|
|
||||||
planning and structured review. This is the same attentive implementation
|
|
||||||
workflow used for planned stories.
|
|
||||||
|
|
||||||
## When to Use This
|
|
||||||
|
|
||||||
- Bug fixes with a clear, known cause
|
|
||||||
- Small refactorings (rename, extract, restructure) contained within a few files
|
|
||||||
- Minor feature tweaks or configuration changes
|
|
||||||
- Dependency updates
|
|
||||||
|
|
||||||
## When to Skip This
|
|
||||||
|
|
||||||
Make an obvious, low-risk edit directly when Build's planning and review would
|
|
||||||
not add useful safety or clarity. If the work no longer fits one implementation
|
|
||||||
session, use [Choose a Development Path](./choose-a-development-path.md) to add
|
|
||||||
the right planning context.
|
|
||||||
|
|
||||||
:::note[Prerequisites]
|
|
||||||
|
|
||||||
- BMad Method installed (`npx bmad-method install`)
|
|
||||||
- An AI-powered IDE (Claude Code, Cursor, or similar)
|
|
||||||
:::
|
|
||||||
|
|
||||||
## Steps
|
|
||||||
|
|
||||||
### 1. Start a Fresh Chat
|
|
||||||
|
|
||||||
Open a **fresh chat session** in your AI IDE. Reusing a session from a previous workflow can cause context conflicts.
|
|
||||||
|
|
||||||
### 2. Give It Your Intent
|
|
||||||
|
|
||||||
Build accepts free-form intent — before, with, or after the invocation. Examples:
|
|
||||||
|
|
||||||
```text
|
|
||||||
/bmad-build Fix the login validation bug that allows empty passwords.
|
|
||||||
```
|
|
||||||
|
|
||||||
```text
|
|
||||||
/bmad-build Fix https://github.com/org/repo/issues/42.
|
|
||||||
```
|
|
||||||
|
|
||||||
```text
|
|
||||||
/bmad-build Implement the intent in
|
|
||||||
_bmad-output/implementation-artifacts/my-intent.md.
|
|
||||||
```
|
|
||||||
|
|
||||||
```text
|
|
||||||
I think the problem is in the auth middleware, it's not checking token expiry.
|
|
||||||
Let me look at it... yeah, src/auth/middleware.ts line 47 skips
|
|
||||||
the exp check entirely. /bmad-build
|
|
||||||
```
|
|
||||||
|
|
||||||
```text
|
|
||||||
/bmad-build
|
|
||||||
> What would you like to do?
|
|
||||||
Refactor UserService to use async/await instead of callbacks.
|
|
||||||
```
|
|
||||||
|
|
||||||
Plain text, file paths, GitHub issue URLs, bug tracker links — anything the LLM can resolve to a concrete intent.
|
|
||||||
|
|
||||||
### 3. Answer Questions and Approve
|
|
||||||
|
|
||||||
Build may ask clarifying questions or present a short spec for your approval before implementing. Answer its questions and approve when you're satisfied with the plan.
|
|
||||||
|
|
||||||
### 4. Review and Push
|
|
||||||
|
|
||||||
Build implements the change, reviews its own work, patches issues, and commits locally. When it's done, it shows you the review spec.
|
|
||||||
|
|
||||||
- Skim the diff to confirm the change matches your intent
|
|
||||||
- If something looks off, tell the agent what to fix — it can iterate in the same session
|
|
||||||
|
|
||||||
Once satisfied, push the commit. Build will offer to push and create a PR for you.
|
|
||||||
|
|
||||||
:::caution[If Something Breaks]
|
|
||||||
If a pushed change causes unexpected issues, use `git revert HEAD` to undo the last commit cleanly. Then start a fresh chat and run Build again to try a different approach.
|
|
||||||
:::
|
|
||||||
|
|
||||||
## What You Get
|
|
||||||
|
|
||||||
- Modified source files with the fix or refactoring applied
|
|
||||||
- Passing tests (if your project has a test suite)
|
|
||||||
- A ready-to-push commit with a conventional commit message
|
|
||||||
|
|
||||||
## Deferred Work
|
|
||||||
|
|
||||||
Build keeps each run focused on a single goal. If your request contains multiple independent goals, or if the review surfaces pre-existing issues unrelated to your change, Build defers them to a file (`deferred-work.md` in your implementation artifacts directory) rather than trying to tackle everything at once.
|
|
||||||
|
|
||||||
Check this file after a run — it's your backlog of things to come back to. Each deferred item can be fed into a fresh Build run later.
|
|
||||||
|
|
||||||
## When to Add Formal Planning
|
|
||||||
|
|
||||||
Before running the same Build implementation loop, consider adding PRD, UX, architecture, or story planning when:
|
|
||||||
|
|
||||||
- The change affects multiple systems or requires coordinated updates across many files
|
|
||||||
- You are unsure about the scope and need requirements discovery first
|
|
||||||
- You need documentation or architectural decisions recorded for the team
|
|
||||||
|
|
||||||
See [Choose a Development Path](./choose-a-development-path.md) for the
|
|
||||||
epic-sized and project-sized paths, or [Build](../explanation/build.md) for how
|
|
||||||
direct intent and planned work use the same Build workflow.
|
|
||||||
+1
-1
@@ -34,7 +34,7 @@ complete routing guide, from a trivial edit to a multi-epic project.
|
|||||||
empty project.
|
empty project.
|
||||||
|
|
||||||
**You know exactly what needs to change, and it is small.**
|
**You know exactly what needs to change, and it is small.**
|
||||||
Run `bmad-build` and describe the change. See [Quick Fixes](./how-to/quick-fixes.md).
|
Run `bmad-build` and describe the change. See [Build a Change](./build/build-a-change.md).
|
||||||
|
|
||||||
**You are working in an existing codebase.**
|
**You are working in an existing codebase.**
|
||||||
Consider running `bmad-project-context`, then build as usual. See
|
Consider running `bmad-project-context`, then build as usual. See
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ sidebar:
|
|||||||
---
|
---
|
||||||
|
|
||||||
`bmad-build-auto` is the unattended worker for one session-sized unit in the
|
`bmad-build-auto` is the unattended worker for one session-sized unit in the
|
||||||
canonical [Build](../explanation/build.md) implementation model. One invocation
|
canonical [Build a Change](../build/build-a-change.md) implementation model. One invocation
|
||||||
clarifies, plans, implements, and reviews one intent or story, then exposes a
|
clarifies, plans, implements, and reviews one intent or story, then exposes a
|
||||||
terminal status that a human or orchestrator can act on.
|
terminal status that a human or orchestrator can act on.
|
||||||
|
|
||||||
|
|||||||
@@ -165,7 +165,7 @@ function generateLlmsTxt(outputDir) {
|
|||||||
'',
|
'',
|
||||||
'## Core Concepts',
|
'## Core Concepts',
|
||||||
'',
|
'',
|
||||||
`- **[Build](${siteUrl}/explanation/build/)** - Canonical implementation workflow for direct intent and fully planned work`,
|
`- **[Build a Change](${siteUrl}/build/build-a-change/)** - Canonical implementation workflow for direct intent and fully planned work`,
|
||||||
`- **[Party Mode](${siteUrl}/explanation/party-mode/)** - Multi-agent collaboration`,
|
`- **[Party Mode](${siteUrl}/explanation/party-mode/)** - Multi-agent collaboration`,
|
||||||
`- **[Workflow Map](${siteUrl}/reference/workflow-map/)** - Visual overview of phases and workflows`,
|
`- **[Workflow Map](${siteUrl}/reference/workflow-map/)** - Visual overview of phases and workflows`,
|
||||||
'',
|
'',
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
import fs from 'node:fs';
|
import fs from 'node:fs';
|
||||||
import path from 'node:path';
|
import path from 'node:path';
|
||||||
|
|
||||||
const CANONICAL_LLMS_ENTRY = '**[Build]';
|
const CANONICAL_LLMS_ENTRY = '**[Build a Change]';
|
||||||
const CANONICAL_LLMS_DESCRIPTION = 'Canonical implementation workflow for direct intent and fully planned work';
|
const CANONICAL_LLMS_DESCRIPTION = 'Canonical implementation workflow for direct intent and fully planned work';
|
||||||
|
|
||||||
const FORBIDDEN_TERMS = [
|
const FORBIDDEN_TERMS = [
|
||||||
|
|||||||
@@ -20,6 +20,8 @@ export default defineConfig({
|
|||||||
'/how-to/install-bmad': `${basePath}start/install-bmad/`,
|
'/how-to/install-bmad': `${basePath}start/install-bmad/`,
|
||||||
'/how-to/non-interactive-installation': `${basePath}start/install-bmad/`,
|
'/how-to/non-interactive-installation': `${basePath}start/install-bmad/`,
|
||||||
'/tutorials/getting-started': `${basePath}start/build-your-first-change/`,
|
'/tutorials/getting-started': `${basePath}start/build-your-first-change/`,
|
||||||
|
'/how-to/quick-fixes': `${basePath}build/build-a-change/`,
|
||||||
|
'/explanation/build': `${basePath}build/build-a-change/`,
|
||||||
'/fr/how-to/non-interactive-installation': `${basePath}fr/how-to/install-bmad/`,
|
'/fr/how-to/non-interactive-installation': `${basePath}fr/how-to/install-bmad/`,
|
||||||
'/cs/how-to/non-interactive-installation': `${basePath}cs/how-to/install-bmad/`,
|
'/cs/how-to/non-interactive-installation': `${basePath}cs/how-to/install-bmad/`,
|
||||||
'/vi-vn/how-to/non-interactive-installation': `${basePath}vi-vn/how-to/install-bmad/`,
|
'/vi-vn/how-to/non-interactive-installation': `${basePath}vi-vn/how-to/install-bmad/`,
|
||||||
@@ -128,6 +130,23 @@ export default defineConfig({
|
|||||||
},
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
label: 'Build',
|
||||||
|
translations: { 'vi-VN': 'Xây dựng', 'zh-CN': '构建', 'fr-FR': 'Construire', 'cs-CZ': 'Sestavit' },
|
||||||
|
collapsed: false,
|
||||||
|
items: [
|
||||||
|
{
|
||||||
|
label: 'Build a Change',
|
||||||
|
translations: {
|
||||||
|
'vi-VN': 'Xây dựng một thay đổi',
|
||||||
|
'zh-CN': '构建一个变更',
|
||||||
|
'fr-FR': 'Construire un changement',
|
||||||
|
'cs-CZ': 'Sestavit změnu',
|
||||||
|
},
|
||||||
|
slug: 'build/build-a-change',
|
||||||
|
},
|
||||||
|
],
|
||||||
|
},
|
||||||
{
|
{
|
||||||
label: 'Tutorials',
|
label: 'Tutorials',
|
||||||
translations: { 'vi-VN': 'Hướng dẫn nhập môn', 'zh-CN': '教程', 'fr-FR': 'Tutoriels', 'cs-CZ': 'Tutoriály' },
|
translations: { 'vi-VN': 'Hướng dẫn nhập môn', 'zh-CN': '教程', 'fr-FR': 'Tutoriels', 'cs-CZ': 'Tutoriály' },
|
||||||
|
|||||||
Reference in New Issue
Block a user