Compare commits

..

1 Commits

Author SHA1 Message Date
Nick Pirocanac e2c41e61d4
Merge cd3885f1e2 into baf2b9daef 2026-01-24 20:24:55 +13:00
16 changed files with 121 additions and 644 deletions

View File

@ -5,7 +5,7 @@
[![Node.js Version](https://img.shields.io/badge/node-%3E%3D20.0.0-brightgreen)](https://nodejs.org)
[![Discord](https://img.shields.io/badge/Discord-Join%20Community-7289da?logo=discord&logoColor=white)](https://discord.gg/gk8jAdXWmj)
**Breakthrough Method of Agile AI Driven Development** — An AI-driven agile development framework with 21 specialized agents, 50+ guided workflows, and scale-adaptive intelligence that adjusts from bug fixes to enterprise systems.
**Build More, Architect Dreams** — An AI-driven agile development framework with 21 specialized agents, 50+ guided workflows, and scale-adaptive intelligence that adjusts from bug fixes to enterprise systems.
**100% free and open source.** No paywalls. No gated content. No gated Discord. We believe in empowering everyone, not just those who can pay.
@ -16,7 +16,6 @@ Traditional AI tools do the thinking for you, producing average results. BMad ag
- **Scale-Adaptive**: Automatically adjusts planning depth based on project complexity (Level 0-4)
- **Structured Workflows**: Grounded in agile best practices across analysis, planning, architecture, and implementation
- **Specialized Agents**: 12+ domain experts (PM, Architect, Developer, UX, Scrum Master, and more)
- **Party Mode**: Bring multiple agent personas into one session to plan, troubleshoot, or discuss your project collaboratively
- **Complete Lifecycle**: From brainstorming to deployment, with just-in-time documentation
## Quick Start
@ -27,43 +26,34 @@ Traditional AI tools do the thinking for you, producing average results. BMad ag
npx bmad-method@alpha install
```
Follow the installer prompts, then open your AI IDE (Claude Code, Cursor, Windsurf, etc.) in the project folder.
Follow the installer prompts to configure your project.
> **Not sure what to do?** Run `/bmad-help` — it tells you exactly what's next and what's optional. You can also ask it questions like `/bmad-help How should I build a web app for XYZ?`
Once you have installed BMad to a folder, launch your tool of choice from where you installed BMad. (We really like Claude Code and Cursor - but there are any that work great with BMad!)
The workflows below show the fastest path to working code. You can also load agents directly for a more structured process, extensive planning, or to learn about agile development practices — the agents guide you with menus, explanations, and elicitation at each step.
Then its simple as running the command: `/bmad-help` if you do not know what to do. Depending on which modules you have installed, you will have different choices.
### Simple Path (Quick Flow)
To make the help more applicable you can even run the `/bmad-help What do you suggest I do to get started building a brand new web application for XYZ`.
Bug fixes, small features, clear scope — 3 commands:
The results from BMad Help will be able to suggest and constantly guide you on what to do next - along with the workflows upon completion also making suggestions on what to do next.
1. `/quick-spec` — analyzes your codebase and produces a tech-spec with stories
2. `/dev-story` — implements each story
3. `/code-review` — validates quality
This analyzes your project and recommends a track:
### Full Planning Path (BMad Method)
Products, platforms, complex features — structured planning then build:
1. `/product-brief` — define problem, users, and MVP scope
2. `/create-prd` — full requirements with personas, metrics, and risks
3. `/create-architecture` — technical decisions and system design
4. `/create-epics-and-stories` — break work into prioritized stories
5. `/sprint-planning` — initialize sprint tracking
6. **Repeat per story:** `/create-story``/dev-story``/code-review`
Every step tells you what's next. Optional phases (brainstorming, research, UX design) are available when you need them — ask `/bmad-help` anytime. For a detailed walkthrough, see the [Getting Started Tutorial](http://docs.bmad-method.org/tutorials/getting-started/getting-started-bmadv6/).
| Track | Best For | Time to First Story Coding |
| --------------- | ------------------------- | -------------------------- |
| **Quick Flow** | Bug fixes, small features | ~10-30 minutes |
| **BMad Method** | Products and platforms | ~30 minutes - 2 hours |
| **Enterprise** | Compliance-heavy systems | ~1-3 hours |
## Modules
BMad Method extends with official modules for specialized domains. Modules are available during installation and can be added to your project at any time.
| Module | GitHub | NPM | Purpose |
| ------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------- |
| **BMad Method (BMM)** | [bmad-code-org/BMAD-METHOD](https://github.com/bmad-code-org/BMAD-METHOD) | [bmad-method](https://www.npmjs.com/package/bmad-method) | Core framework with 34+ workflows across 4 development phases |
| **BMad Builder (BMB)** | [bmad-code-org/bmad-builder](https://github.com/bmad-code-org/bmad-builder) | [bmad-builder](https://www.npmjs.com/package/bmad-builder) | Create custom BMad agents, workflows, and domain-specific modules |
| **Game Dev Studio (BMGD)** | [bmad-code-org/bmad-module-game-dev-studio](https://github.com/bmad-code-org/bmad-module-game-dev-studio) | [bmad-game-dev-studio](https://www.npmjs.com/package/bmad-game-dev-studio) | Game development workflows for Unity, Unreal, and Godot |
| **Creative Intelligence Suite (CIS)** | [bmad-code-org/bmad-module-creative-intelligence-suite](https://github.com/bmad-code-org/bmad-module-creative-intelligence-suite) | [bmad-creative-intelligence-suite](https://www.npmjs.com/package/bmad-creative-intelligence-suite) | Innovation, brainstorming, design thinking, and problem-solving |
| Module | GitHub | NPM | Purpose |
|--------|--------|-----|---------|
| **BMad Method (BMM)** | [bmad-code-org/BMAD-METHOD](https://github.com/bmad-code-org/BMAD-METHOD) | [bmad-method](https://www.npmjs.com/package/bmad-method) | Core framework with 34+ workflows across 4 development phases |
| **BMad Builder (BMB)** | [bmad-code-org/bmad-builder](https://github.com/bmad-code-org/bmad-builder) | [bmad-builder](https://www.npmjs.com/package/bmad-builder) | Create custom BMad agents, workflows, and domain-specific modules |
| **Game Dev Studio (BMGD)** | [bmad-code-org/bmad-module-game-dev-studio](https://github.com/bmad-code-org/bmad-module-game-dev-studio) | [bmad-game-dev-studio](https://www.npmjs.com/package/bmad-game-dev-studio) | Game development workflows for Unity, Unreal, and Godot |
| **Creative Intelligence Suite (CIS)** | [bmad-code-org/bmad-module-creative-intelligence-suite](https://github.com/bmad-code-org/bmad-module-creative-intelligence-suite) | [bmad-creative-intelligence-suite](https://www.npmjs.com/package/bmad-creative-intelligence-suite) | Innovation, brainstorming, design thinking, and problem-solving |
## Documentation

View File

@ -13,7 +13,6 @@ If you're comfortable working with AI coding assistants like Claude, Cursor, or
The fastest way to understand BMad is to try it. Choose a tutorial to walk through your first project in about 10 minutes.
- **[Get Started with BMad](/docs/tutorials/getting-started/getting-started-bmadv6.md)** — Latest features, still in active development
- **[Workflow Guide](/workflow-guide)** — A simple visual overview of the various BMad tracks that get you going quickly.
:::tip[Already familiar with AI-assisted development?]
Feel free to skip around. Use the sidebar to jump to any topic, or check out [What Are Agents?](/docs/explanation/core-concepts/what-are-agents.md) to understand how BMad organizes its AI personas.

View File

@ -42,7 +42,9 @@ BMad helps you build software through guided workflows with specialized AI agent
| 3 | Solutioning | Design architecture *(BMad Method/Enterprise only)* |
| 4 | Implementation | Build epic by epic, story by story |
**[Open the Interactive Workflow Guide](/workflow-guide)** to explore phases, agents, and outputs for your chosen track.
![BMad Method Workflow - Standard Greenfield](./images/workflow-method-greenfield.svg)
*Complete visual flowchart showing all phases, workflows, and agents for the standard greenfield track.*
Based on your project's complexity, BMad offers three planning tracks:
@ -84,8 +86,6 @@ your-project/
Having issues? See [Install BMad](/docs/how-to/installation/install-bmad.md) for common solutions.
:::
Open your AI IDE in the project folder. From here, you can run `/bmad-help` anytime to see what to do next — or ask it a question like `/bmad-help How should I build a web app for XYZ?`
## Step 1: Initialize Your Project
Load the **Analyst agent** in your IDE, wait for the menu, then run `workflow-init`.

View File

@ -52,7 +52,7 @@ Analyze the user's input to determine mode:
- Load the spec, extract tasks/context/AC
- Set `{execution_mode}` = "tech-spec"
- Set `{tech_spec_path}` = provided path
- **NEXT:** Read fully and follow: `step-03-execute.md`
- **NEXT:** Load `step-03-execute.md`
**Mode B: Direct Instructions**
@ -88,63 +88,43 @@ Use holistic judgment, not mechanical keyword matching.
### No Escalation (simple request)
Display: "**Select:** [T] Plan first (tech-spec) [E] Execute directly"
Present choice:
#### Menu Handling Logic:
```
**[t] Plan first** - Create tech-spec then implement
**[e] Execute directly** - Start now
```
- IF T: Direct user to `{quick_spec_workflow}`. **EXIT Quick Dev.**
- IF E: Ask for any additional guidance, then **NEXT:** Read fully and follow: `step-02-context-gathering.md`
#### EXECUTION RULES:
- ALWAYS halt and wait for user input after presenting menu
- ONLY proceed when user makes a selection
---
- **[t]:** Direct user to `{quick_spec_workflow}`. **EXIT Quick Dev.**
- **[e]:** Ask for any additional guidance, then **NEXT:** Load `step-02-context-gathering.md`
### Escalation Triggered - Level 0-2
Present: "This looks like a focused feature with multiple components."
```
This looks like a focused feature with multiple components.
Display:
**[t] Create tech-spec first** (recommended)
**[w] Seems bigger than quick-dev** - Recommend the Full BMad Flow PRD Process
**[e] Execute directly**
```
**[T] Create tech-spec first** (recommended)
**[W] Seems bigger than quick-dev** - Recommend the Full BMad Flow PRD Process
**[E] Execute directly**
#### Menu Handling Logic:
- IF T: Direct to `{quick_spec_workflow}`. **EXIT Quick Dev.**
- IF W: Direct user to run the PRD workflow instead. **EXIT Quick Dev.**
- IF E: Ask for guidance, then **NEXT:** Read fully and follow: `step-02-context-gathering.md`
#### EXECUTION RULES:
- ALWAYS halt and wait for user input after presenting menu
- ONLY proceed when user makes a selection
---
- **[t]:** Direct to `{quick_spec_workflow}`. **EXIT Quick Dev.**
- **[w]:** Direct user to run the PRD workflow instead. **EXIT Quick Dev.**
- **[e]:** Ask for guidance, then **NEXT:** Load `step-02-context-gathering.md`
### Escalation Triggered - Level 3+
Present: "This sounds like platform/system work."
```
This sounds like platform/system work.
Display:
**[w] Start BMad Method** (recommended)
**[t] Create tech-spec** (lighter planning)
**[e] Execute directly** - feeling lucky
```
**[W] Start BMad Method** (recommended)
**[T] Create tech-spec** (lighter planning)
**[E] Execute directly** - feeling lucky
#### Menu Handling Logic:
- IF T: Direct to `{quick_spec_workflow}`. **EXIT Quick Dev.**
- IF W: Direct user to run the PRD workflow instead. **EXIT Quick Dev.**
- IF E: Ask for guidance, then **NEXT:** Read fully and follow: `step-02-context-gathering.md`
#### EXECUTION RULES:
- ALWAYS halt and wait for user input after presenting menu
- ONLY proceed when user makes a selection
- **[t]:** Direct to `{quick_spec_workflow}`. **EXIT Quick Dev.**
- **[w]:** Direct user to run the PRD workflow instead. **EXIT Quick Dev.**
- **[e]:** Ask for guidance, then **NEXT:** Load `step-02-context-gathering.md`
---
@ -152,9 +132,9 @@ Display:
**CRITICAL:** When this step completes, explicitly state which step to load:
- Mode A (tech-spec): "**NEXT:** read fully and follow: `step-03-execute.md`"
- Mode B (direct, [E] selected): "**NEXT:** Read fully and follow: `step-02-context-gathering.md`"
- Escalation ([T] or [W]): "**EXITING Quick Dev.** Follow the directed workflow."
- Mode A (tech-spec): "**NEXT:** Loading `step-03-execute.md`"
- Mode B (direct, [e] selected): "**NEXT:** Loading `step-02-context-gathering.md`"
- Escalation ([t] or [w]): "**EXITING Quick Dev.** Follow the directed workflow."
---

View File

@ -99,7 +99,7 @@ Ready to execute? (y/n/adjust)
**CRITICAL:** When user confirms ready, explicitly state:
- **y:** "**NEXT:** Read fully and follow: `step-03-execute.md`"
- **y:** "**NEXT:** Loading `step-03-execute.md`"
- **n/adjust:** Continue gathering context, then re-present plan
---

View File

@ -91,7 +91,7 @@ For each task:
## NEXT STEP
When ALL tasks are complete (or halted on blocker), read fully and follow: `step-04-self-check.md`.
When ALL tasks are complete (or halted on blocker), load `step-04-self-check.md`.
---

View File

@ -85,7 +85,7 @@ If TodoWrite or similar tool is available, turn each finding into a TODO, includ
## NEXT STEP
With findings in hand, read fully and follow: `step-06-resolve-findings.md` for user to choose resolution approach.
With findings in hand, load `step-06-resolve-findings.md` for user to choose resolution approach.
---

View File

@ -25,24 +25,15 @@ From previous steps:
## RESOLUTION OPTIONS
Present: "How would you like to handle these findings?"
Present choice to user:
Display:
```
How would you like to handle these findings?
**[1] Walk through** - Discuss each finding individually
**[2] Auto-fix** - Automatically fix issues classified as "real"
**[3] Skip** - Acknowledge and proceed to commit
### Menu Handling Logic:
- IF 1: Execute OPTION 1 (Walk Through) below
- IF 2: Execute OPTION 2 (Auto-fix) below
- IF 3: Execute OPTION 3 (Skip) below
### EXECUTION RULES:
- ALWAYS halt and wait for user input after presenting menu
- ONLY proceed when user makes a selection
```
---

View File

@ -47,20 +47,20 @@ Hey {user_name}! Found a tech-spec in progress:
Is this what you're here to continue?
[Y] Yes, pick up where I left off
[N] No, archive it and start something new
[y] Yes, pick up where I left off
[n] No, archive it and start something new
```
4. **HALT and wait for user selection.**
a) **Menu Handling:**
- **[Y] Continue existing:**
- **[y] Continue existing:**
- Jump directly to the appropriate step based on `stepsCompleted`:
- `[1]` → Load `{nextStepFile}` (Step 2)
- `[1, 2]` → Load `{skipToStepFile}` (Step 3)
- `[1, 2, 3]` → Load `./step-04-review.md` (Step 4)
- **[N] Archive and start fresh:**
- **[n] Archive and start fresh:**
- Rename `{wipFile}` to `{implementation_artifacts}/tech-spec-{slug}-archived-{date}.md`
### 1. Greet and Ask for Initial Request
@ -162,22 +162,19 @@ b) **Report to user:**
a) **Display menu:**
Display: "**Select:** [A] Advanced Elicitation [P] Party Mode [C] Continue to Deep Investigation (Step 2 of 4)"
```
[a] Advanced Elicitation - dig deeper into requirements
[c] Continue - proceed to next step
[p] Party Mode - bring in other experts
```
b) **HALT and wait for user selection.**
#### Menu Handling Logic:
#### Menu Handling:
- IF A: Read fully and follow: `{advanced_elicitation}` with current tech-spec content, process enhanced insights, ask user "Accept improvements? (y/n)", if yes update WIP file then redisplay menu, if no keep original then redisplay menu
- IF P: Read fully and follow: `{party_mode_exec}` with current tech-spec content, process collaborative insights, ask user "Accept changes? (y/n)", if yes update WIP file then redisplay menu, if no keep original then redisplay menu
- IF C: Verify `{wipFile}` has `stepsCompleted: [1]`, then read fully and follow: `{nextStepFile}`
- IF Any other comments or queries: respond helpfully then redisplay menu
#### EXECUTION RULES:
- ALWAYS halt and wait for user input after presenting menu
- ONLY proceed to next step when user selects 'C'
- After A or P execution, return to this menu
- **[a]**: Read fully and follow: `{advanced_elicitation}`, then return here and redisplay menu
- **[c]**: Read fully and follow: `{nextStepFile}` (Map Technical Constraints)
- **[p]**: Read fully and follow: `{party_mode_exec}`, then return here and redisplay menu
---
@ -189,4 +186,4 @@ b) **HALT and wait for user selection.**
- [ ] WIP check performed FIRST before any greeting.
- [ ] `{wipFile}` created with correct frontmatter, Overview, Context for Development, and `stepsCompleted: [1]`.
- [ ] User selected [C] to continue.
- [ ] User selected [c] to continue.

View File

@ -115,22 +115,21 @@ Fill in:
### 4. Present Checkpoint Menu
Display: "**Select:** [A] Advanced Elicitation [P] Party Mode [C] Continue to Generate Spec (Step 3 of 4)"
**Display menu:**
```
[a] Advanced Elicitation - explore more context
[c] Continue - proceed to Generate Spec
[p] Party Mode - bring in other experts
```
**HALT and wait for user selection.**
#### Menu Handling Logic:
#### Menu Handling:
- IF A: Read fully and follow: `{advanced_elicitation}` with current tech-spec content, process enhanced insights, ask user "Accept improvements? (y/n)", if yes update WIP file then redisplay menu, if no keep original then redisplay menu
- IF P: Read fully and follow: `{party_mode_exec}` with current tech-spec content, process collaborative insights, ask user "Accept changes? (y/n)", if yes update WIP file then redisplay menu, if no keep original then redisplay menu
- IF C: Verify frontmatter updated with `stepsCompleted: [1, 2]`, then read fully and follow: `{nextStepFile}`
- IF Any other comments or queries: respond helpfully then redisplay menu
#### EXECUTION RULES:
- ALWAYS halt and wait for user input after presenting menu
- ONLY proceed to next step when user selects 'C'
- After A or P execution, return to this menu
- **[a]**: Read fully and follow: `{advanced_elicitation}`, then return here and redisplay menu
- **[c]**: Verify frontmatter updated with `stepsCompleted: [1, 2]`, then read fully and follow: `{nextStepFile}`
- **[p]**: Read fully and follow: `{party_mode_exec}`, then return here and redisplay menu
---

View File

@ -43,24 +43,23 @@ wipFile: '{implementation_artifacts}/tech-spec-wip.md'
**Present review menu:**
Display: "**Select:** [Y] Approve [C] Changes [Q] Questions [A] Advanced Elicitation [P] Party Mode"
```
[y] Approve - finalize the spec
[c] Changes - request modifications
[q] Questions - ask about any section
[a] Advanced Elicitation - dig deeper before approving
[p] Party Mode - get expert feedback before approving
```
**HALT and wait for user selection.**
#### Menu Handling Logic:
#### Menu Handling:
- IF Y: Proceed to Section 3 (Finalize the Spec)
- IF C: Proceed to Section 2 (Handle Review Feedback), then return here and redisplay menu
- IF Q: Answer questions, then redisplay this menu
- IF A: Read fully and follow: `{advanced_elicitation}` with current spec content, process enhanced insights, ask user "Accept improvements? (y/n)", if yes update spec then redisplay menu, if no keep original then redisplay menu
- IF P: Read fully and follow: `{party_mode_exec}` with current spec content, process collaborative insights, ask user "Accept changes? (y/n)", if yes update spec then redisplay menu, if no keep original then redisplay menu
- IF Any other comments or queries: respond helpfully then redisplay menu
#### EXECUTION RULES:
- ALWAYS halt and wait for user input after presenting menu
- ONLY proceed to finalize when user selects 'Y'
- After other menu items execution, return to this menu
- **[y]**: Proceed to Section 3 (Finalize the Spec)
- **[c]**: Proceed to Section 2 (Handle Review Feedback), then return here and redisplay menu
- **[q]**: Answer questions, then redisplay this menu
- **[a]**: Read fully and follow: `{advanced_elicitation}`, then return here and redisplay menu
- **[p]**: Read fully and follow: `{party_mode_exec}`, then return here and redisplay menu
### 2. Handle Review Feedback
@ -115,11 +114,11 @@ Saved to: {finalFile}
**Next Steps:**
[A] Advanced Elicitation - refine further
[R] Adversarial Review - critique of the spec (highly recommended)
[B] Begin Development - start implementing now (not recommended)
[D] Done - exit workflow
[P] Party Mode - get expert feedback before dev
[a] Advanced Elicitation - refine further
[r] Adversarial Review - critique of the spec (highly recommended)
[b] Begin Development - start implementing now (not recommended)
[d] Done - exit workflow
[p] Party Mode - get expert feedback before dev
---
@ -136,23 +135,14 @@ This ensures the dev agent has clean context focused solely on implementation.
b) **HALT and wait for user selection.**
#### Menu Handling Logic:
#### Menu Handling:
- IF A: Read fully and follow: `{advanced_elicitation}` with current spec content, process enhanced insights, ask user "Accept improvements? (y/n)", if yes update spec then redisplay menu, if no keep original then redisplay menu
- IF B: Load and execute `{quick_dev_workflow}` with the final spec file (warn: fresh context is better)
- IF D: Exit workflow - display final confirmation and path to spec
- IF P: Read fully and follow: `{party_mode_exec}` with current spec content, process collaborative insights, ask user "Accept changes? (y/n)", if yes update spec then redisplay menu, if no keep original then redisplay menu
- IF R: Execute Adversarial Review (see below)
- IF Any other comments or queries: respond helpfully then redisplay menu
#### EXECUTION RULES:
- ALWAYS halt and wait for user input after presenting menu
- After A, P, or R execution, return to this menu
#### Adversarial Review [R] Process:
1. **Invoke Adversarial Review Task**:
- **[a]**: Read fully and follow: `{advanced_elicitation}`, then return here and redisplay menu
- **[b]**: Read fully and follow: `{quick_dev_workflow}` with the final spec file (warn: fresh context is better)
- **[d]**: Exit workflow - display final confirmation and path to spec
- **[p]**: Read fully and follow: `{party_mode_exec}`, then return here and redisplay menu
- **[r]**: Execute Adversarial Review:
1. **Invoke Adversarial Review Task**:
> With `{finalFile}` constructed, invoke the review task. If possible, use information asymmetry: run this task, and only it, in a separate subagent or process with read access to the project, but no context except the `{finalFile}`.
<invoke-task>Review {finalFile} using {project-root}/_bmad/core/tasks/review-adversarial-general.xml</invoke-task>
> **Platform fallback:** If task invocation not available, load the task file and follow its instructions inline, passing `{finalFile}` as the content.
@ -171,7 +161,7 @@ b) **HALT and wait for user selection.**
### 5. Exit Workflow
**When user selects [D]:**
**When user selects [d]:**
"**All done!** Your tech-spec is ready at:

View File

@ -47,7 +47,7 @@ This uses **step-file architecture** for disciplined execution:
1. **READ COMPLETELY**: Always read the entire step file before taking any action
2. **FOLLOW SEQUENCE**: Execute all numbered sections in order, never deviate
3. **WAIT FOR INPUT**: If a menu is presented, halt and wait for user selection
4. **CHECK CONTINUATION**: Only proceed to next step when user selects [C] (Continue)
4. **CHECK CONTINUATION**: Only proceed to next step when user selects [c] (Continue)
5. **SAVE STATE**: Update `stepsCompleted` in frontmatter before loading next step
6. **LOAD NEXT**: When directed, read fully and follow the next step file

View File

@ -227,7 +227,7 @@
### test-design-qa.md
**REQUIRED SECTIONS:**
**NEW STRUCTURE (streamlined from 375 to ~287 lines):**
- [ ] **Purpose statement** at top (test execution recipe)
- [ ] **Executive Summary** with risk summary and coverage summary
@ -258,19 +258,19 @@
- [ ] **Appendix A: Code Examples & Tagging**
- [ ] **Appendix B: Knowledge Base References**
**DON'T INCLUDE (bloat):**
- [ ] ❌ NO Quick Reference section
- [ ] ❌ NO System Architecture Summary
- [ ] ❌ NO Test Environment Requirements as separate section (integrate into Dependencies)
- [ ] ❌ NO Testability Assessment section (covered in Dependencies)
- [ ] ❌ NO Test Levels Strategy section (obvious from test scenarios)
- [ ] ❌ NO NFR Readiness Summary
**REMOVED SECTIONS (bloat):**
- [ ] ❌ NO Quick Reference section (bloat)
- [ ] ❌ NO System Architecture Summary (bloat)
- [ ] ❌ NO Test Environment Requirements as separate section (integrated into Dependencies)
- [ ] ❌ NO Testability Assessment section (bloat - covered in Dependencies)
- [ ] ❌ NO Test Levels Strategy section (bloat - obvious from test scenarios)
- [ ] ❌ NO NFR Readiness Summary (bloat)
- [ ] ❌ NO Quality Gate Criteria section (teams decide for themselves)
- [ ] ❌ NO Follow-on Workflows section (BMAD commands self-explanatory)
- [ ] ❌ NO Approval section
- [ ] ❌ NO Follow-on Workflows section (bloat - BMAD commands self-explanatory)
- [ ] ❌ NO Approval section (unnecessary formality)
- [ ] ❌ NO Infrastructure/DevOps/Finance effort tables (out of scope)
- [ ] ❌ NO Sprint 0/1/2/3 breakdown tables
- [ ] ❌ NO Next Steps section
- [ ] ❌ NO Sprint 0/1/2/3 breakdown tables (too prescriptive)
- [ ] ❌ NO Next Steps section (bloat)
### Cross-Document Consistency

View File

@ -27,9 +27,6 @@ const LINK_REGEX = /\[([^\]]*)\]\((\/[^)]+)\)/g;
// File extensions that are static assets, not markdown docs
const STATIC_ASSET_EXTENSIONS = ['.zip', '.txt', '.pdf', '.png', '.jpg', '.jpeg', '.gif', '.svg', '.webp', '.ico'];
// Custom Astro page routes (not part of the docs content collection)
const CUSTOM_PAGE_ROUTES = new Set(['/workflow-guide']);
// Regex to extract headings for anchor validation
const HEADING_PATTERN = /^#{1,6}\s+(.+)$/gm;
@ -213,11 +210,6 @@ function processFile(filePath) {
continue;
}
// Skip custom Astro page routes
if (CUSTOM_PAGE_ROUTES.has(linkPath)) {
continue;
}
// Validate the link target exists
const targetFile = resolveLink(linkPath);

View File

@ -1,444 +0,0 @@
---
---
<div class="workflow-guide not-content">
<div class="help-callout">
<code>/bmad-help</code>
<span>Run this anytime to see what to do next — or ask it a question like <em>"what should I do to build a web app?"</em></span>
</div>
<p class="agents-note">Loading agents is optional. If your IDE supports slash commands, you can run workflows directly.</p>
<div class="track-selector">
<div class="track-buttons">
<button class="track-btn" data-track="quick">
<span class="track-label">Quick Flow</span>
<span class="track-desc">Bug fixes, small features</span>
</button>
<button class="track-btn" data-track="method">
<span class="track-label">BMad Method</span>
<span class="track-desc">Products, platforms</span>
</button>
<button class="track-btn" data-track="enterprise">
<span class="track-label">Enterprise</span>
<span class="track-desc">Compliance, large-scale</span>
</button>
</div>
</div>
<div class="flow-container" data-state="no-track">
<p class="choose-prompt">Select a track above to see the workflow.</p>
<div class="flow-list">
<!-- Phase 1: Analysis -->
<div class="phase-label">Analysis</div>
<div class="flow-row" data-quick="optional" data-method="optional" data-enterprise="optional">
<code class="flow-cmd">/brainstorm-project</code>
<span class="flow-agent">Analyst</span>
<span class="flow-status"></span>
<p class="flow-desc">Guided ideation using 60+ techniques to explore your project idea and create brainstorm notes.</p>
</div>
<div class="flow-arrow" data-quick="optional" data-method="optional" data-enterprise="optional">&#x2193;</div>
<div class="flow-row" data-quick="optional" data-method="optional" data-enterprise="optional">
<code class="flow-cmd">/research</code>
<span class="flow-agent">Analyst</span>
<span class="flow-status"></span>
<p class="flow-desc">Market, technical, or competitive research producing a structured research document.</p>
</div>
<div class="flow-arrow" data-quick="optional" data-method="optional" data-enterprise="optional">&#x2193;</div>
<div class="flow-row" data-quick="optional" data-method="optional" data-enterprise="optional">
<code class="flow-cmd">/product-brief</code>
<span class="flow-agent">Analyst</span>
<span class="flow-status"></span>
<p class="flow-desc">Combines brainstorm and research into a foundation document covering problem, users, and MVP scope.</p>
</div>
<div class="flow-arrow" data-quick="optional" data-method="required" data-enterprise="required">&#x2193;</div>
<!-- Phase 2: Planning -->
<div class="phase-label">Planning</div>
<div class="flow-row" data-quick="required" data-method="skip" data-enterprise="skip">
<code class="flow-cmd">/quick-spec</code>
<span class="flow-agent">Barry</span>
<span class="flow-status"></span>
<p class="flow-desc">Analyzes your codebase, auto-detects stack, and produces tech-spec.md with implementation-ready story files.</p>
</div>
<div class="flow-arrow" data-quick="required" data-method="skip" data-enterprise="skip">&#x2193;</div>
<div class="flow-row" data-quick="skip" data-method="required" data-enterprise="required">
<code class="flow-cmd">/create-prd</code>
<span class="flow-agent">PM</span>
<span class="flow-status"></span>
<p class="flow-desc">Creates PRD.md with user personas, requirements, success metrics, and risks.</p>
</div>
<div class="flow-arrow" data-quick="skip" data-method="required" data-enterprise="required">&#x2193;</div>
<div class="flow-row" data-quick="optional" data-method="optional" data-enterprise="optional">
<code class="flow-cmd">/create-ux-design</code>
<span class="flow-agent">UX Designer</span>
<span class="flow-status"></span>
<p class="flow-desc">Creates ux-design.md with user journeys, wireframes, and a design system.</p>
</div>
<div class="flow-arrow" data-quick="required" data-method="required" data-enterprise="required">&#x2193;</div>
<!-- Phase 3: Solutioning -->
<div class="phase-label" data-quick="skip" data-method="required" data-enterprise="required">Solutioning</div>
<div class="flow-row" data-quick="skip" data-method="required" data-enterprise="required">
<code class="flow-cmd">/create-architecture</code>
<span class="flow-agent">Architect</span>
<span class="flow-status"></span>
<p class="flow-desc">Designs system architecture with ADRs covering data, API, security, and deployment decisions.</p>
</div>
<div class="flow-arrow" data-quick="skip" data-method="required" data-enterprise="required">&#x2193;</div>
<div class="flow-row" data-quick="skip" data-method="required" data-enterprise="required">
<code class="flow-cmd">/create-epics-and-stories</code>
<span class="flow-agent">PM</span>
<span class="flow-status"></span>
<p class="flow-desc">Breaks PRD and architecture into epic files with prioritized, technically-informed stories.</p>
</div>
<div class="flow-arrow" data-quick="skip" data-method="required" data-enterprise="required">&#x2193;</div>
<div class="flow-row" data-quick="skip" data-method="optional" data-enterprise="required">
<code class="flow-cmd">/implementation-readiness</code>
<span class="flow-agent">Architect</span>
<span class="flow-status"></span>
<p class="flow-desc">Validates cohesion across all planning documents to confirm you're ready to build.</p>
</div>
<div class="flow-arrow" data-quick="skip" data-method="required" data-enterprise="required">&#x2193;</div>
<!-- Phase 4: Implementation -->
<div class="phase-label">Implementation</div>
<div class="flow-row" data-quick="skip" data-method="required" data-enterprise="required">
<code class="flow-cmd">/sprint-planning</code>
<span class="flow-agent">SM</span>
<span class="flow-status"></span>
<p class="flow-desc">Initializes sprint-status.yaml to track all stories through development. Run once.</p>
</div>
<div class="flow-arrow" data-quick="skip" data-method="required" data-enterprise="required">&#x2193;</div>
<!-- Dev loop -->
<div class="dev-loop" data-quick="required" data-method="required" data-enterprise="required">
<span class="loop-label">&#x21bb; Repeat for each story</span>
<div class="flow-row" data-quick="skip" data-method="required" data-enterprise="required">
<code class="flow-cmd">/create-story</code>
<span class="flow-agent">SM</span>
<span class="flow-status"></span>
<p class="flow-desc">Prepares a story file with full context and acceptance criteria from the epic.</p>
</div>
<div class="flow-arrow" data-quick="required" data-method="required" data-enterprise="required">&#x2193;</div>
<div class="flow-row" data-quick="required" data-method="required" data-enterprise="required">
<code class="flow-cmd">/dev-story</code>
<span class="flow-agent">DEV</span>
<span class="flow-status"></span>
<p class="flow-desc">Implements production code and tests following architecture patterns.</p>
</div>
<div class="flow-arrow" data-quick="required" data-method="required" data-enterprise="required">&#x2193;</div>
<div class="flow-row" data-quick="optional" data-method="required" data-enterprise="required">
<code class="flow-cmd">/code-review</code>
<span class="flow-agent">DEV</span>
<span class="flow-status"></span>
<p class="flow-desc">Reviews code for quality, architecture alignment, tests, and security.</p>
</div>
</div>
<div class="flow-arrow" data-quick="skip" data-method="optional" data-enterprise="optional">&#x2193;</div>
<div class="flow-row" data-quick="skip" data-method="optional" data-enterprise="optional">
<code class="flow-cmd">/epic-retrospective</code>
<span class="flow-agent">SM</span>
<span class="flow-status"></span>
<p class="flow-desc">Captures learnings from a completed epic to improve the next one.</p>
</div>
</div>
</div>
</div>
<style>
.workflow-guide {
max-width: 36rem;
margin: 0 auto;
}
.help-callout {
display: flex;
align-items: baseline;
gap: 0.75rem;
padding: 0.75rem 1rem;
border: 2px solid var(--sl-color-accent);
border-radius: 0.5rem;
background: var(--sl-color-accent-low);
margin-bottom: 1rem;
}
.help-callout code {
font-size: 1.05rem;
font-weight: 700;
color: var(--sl-color-accent-high);
white-space: nowrap;
background: none;
padding: 0;
}
.help-callout span {
font-size: 0.85rem;
color: var(--sl-color-gray-2);
line-height: 1.4;
}
.agents-note {
font-size: 0.8rem;
color: var(--sl-color-gray-3);
margin-bottom: 1rem;
font-style: italic;
}
.track-selector {
margin-bottom: 1.25rem;
}
.track-buttons {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 0.5rem;
}
.track-btn {
width: 100%;
box-sizing: border-box;
padding: 0.5rem 0.6rem;
border: 1px solid var(--sl-color-gray-5);
border-radius: 0.4rem;
background: transparent;
cursor: pointer;
text-align: left;
transition: border-color 0.15s ease, background-color 0.15s ease;
display: flex;
flex-direction: column;
gap: 0.1rem;
}
.track-btn:hover {
border-color: var(--sl-color-accent);
}
.track-btn.active {
border-color: var(--sl-color-accent);
background: var(--sl-color-accent-low);
}
.track-label {
font-weight: 600;
font-size: 0.85rem;
color: var(--sl-color-white);
}
.track-desc {
font-size: 0.7rem;
color: var(--sl-color-gray-3);
}
.flow-container[data-state="no-track"] .flow-list {
display: none;
}
.flow-container[data-state="no-track"] .choose-prompt {
display: block;
}
.choose-prompt {
display: none;
color: var(--sl-color-gray-3);
font-style: italic;
text-align: center;
padding: 1.5rem 0;
}
.flow-list {
display: flex;
flex-direction: column;
align-items: stretch;
}
.phase-label {
font-size: 0.65rem;
font-weight: 700;
text-transform: uppercase;
letter-spacing: 0.06em;
color: var(--sl-color-gray-3);
margin-top: 0.75rem;
margin-bottom: 0.3rem;
padding-left: 0.25rem;
}
.phase-label:first-child {
margin-top: 0;
}
.phase-label[data-visibility="skip"] {
display: none;
}
.flow-row {
display: grid;
grid-template-columns: 1fr auto auto;
align-items: center;
gap: 0.75rem;
padding: 0.4rem 0.6rem;
border: 1px solid var(--sl-color-gray-5);
border-radius: 0.3rem;
transition: opacity 0.15s ease, border-color 0.15s ease;
}
.flow-row[data-visibility="active"] {
border-color: var(--sl-color-gray-4);
}
.flow-row[data-visibility="skip"] {
display: none;
}
.flow-cmd {
font-size: 0.9rem;
font-weight: 600;
color: var(--sl-color-white);
background: none;
padding: 0;
}
.flow-agent {
font-size: 0.75rem;
color: var(--sl-color-accent-high);
background: var(--sl-color-accent-low);
padding: 0.1rem 0.4rem;
border-radius: 0.2rem;
white-space: nowrap;
}
.flow-status {
font-size: 0.65rem;
font-weight: 500;
text-transform: uppercase;
letter-spacing: 0.03em;
min-width: 4rem;
text-align: right;
}
.flow-status[data-status="required"] {
color: var(--sl-color-accent-high);
}
.flow-status[data-status="optional"] {
color: var(--sl-color-gray-3);
}
.flow-status[data-status="recommended"] {
color: var(--sl-color-accent-high);
}
.flow-desc {
grid-column: 1 / -1;
font-size: 0.75rem;
color: var(--sl-color-gray-3);
line-height: 1.4;
margin: 0.1rem 0 0;
}
.flow-arrow {
text-align: center;
font-size: 1rem;
color: var(--sl-color-gray-4);
line-height: 1;
padding: 0.15rem 0;
}
.flow-arrow[data-visibility="skip"] {
display: none;
}
.dev-loop {
border: 1px dashed var(--sl-color-accent);
border-radius: 0.4rem;
padding: 0.4rem 0.5rem;
display: flex;
flex-direction: column;
align-items: stretch;
}
.dev-loop[data-visibility="skip"] {
display: none;
}
.dev-loop .flow-row {
border-color: var(--sl-color-gray-5);
}
.loop-label {
font-size: 0.65rem;
font-weight: 600;
color: var(--sl-color-accent-high);
text-transform: uppercase;
letter-spacing: 0.04em;
margin-bottom: 0.3rem;
}
@media (max-width: 30rem) {
.track-buttons {
grid-template-columns: 1fr;
}
.help-callout {
flex-direction: column;
gap: 0.4rem;
}
}
</style>
<script>
function initWorkflowGuide() {
const guide = document.querySelector('.workflow-guide');
if (!guide) return;
const trackBtns = guide.querySelectorAll('.track-btn');
const flowContainer = guide.querySelector('.flow-container');
const allElements = guide.querySelectorAll('[data-quick]');
trackBtns.forEach((btn) => {
btn.addEventListener('click', () => {
const track = btn.getAttribute('data-track');
trackBtns.forEach((b) => b.classList.remove('active'));
btn.classList.add('active');
flowContainer.setAttribute('data-state', 'has-track');
allElements.forEach((el) => {
const status = el.getAttribute(`data-${track}`);
if (status === 'skip') {
el.setAttribute('data-visibility', 'skip');
} else {
el.setAttribute('data-visibility', 'active');
}
// Update status text for flow rows
const statusEl = el.querySelector('.flow-status');
if (statusEl) {
statusEl.setAttribute('data-status', status);
statusEl.textContent = status === 'skip' ? '' : status;
}
});
});
});
}
document.addEventListener('DOMContentLoaded', initWorkflowGuide);
document.addEventListener('astro:page-load', initWorkflowGuide);
</script>

View File

@ -1,17 +0,0 @@
---
import StarlightPage from '@astrojs/starlight/components/StarlightPage.astro';
import WorkflowGuide from '../components/WorkflowGuide.astro';
---
<StarlightPage
frontmatter={{
title: 'Workflow Guide',
description: 'Interactive guide to the BMad Method workflow — choose your track and see the recommended phases, agents, and outputs.',
tableOfContents: false,
}}
>
<p>
This interactive guide helps you understand which workflows to run, which agents to use, and what outputs to expect at each phase. Select your project's track to see the relevant path.
</p>
<WorkflowGuide />
</StarlightPage>