bmad-method 4.37.0-beta.6 → 5.0.0-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.github/workflows/promote-to-stable.yml +144 -0
- package/CHANGELOG.md +27 -2
- package/bmad-core/agents/analyst.md +1 -1
- package/bmad-core/agents/architect.md +2 -3
- package/bmad-core/agents/bmad-master.md +0 -1
- package/bmad-core/agents/bmad-orchestrator.md +9 -10
- package/bmad-core/agents/dev.md +9 -10
- package/bmad-core/agents/po.md +1 -1
- package/bmad-core/agents/qa.md +38 -19
- package/bmad-core/agents/sm.md +1 -1
- package/bmad-core/agents/ux-expert.md +1 -1
- package/bmad-core/checklists/architect-checklist.md +0 -5
- package/bmad-core/checklists/pm-checklist.md +0 -5
- package/bmad-core/checklists/po-master-checklist.md +0 -9
- package/bmad-core/checklists/story-dod-checklist.md +0 -7
- package/bmad-core/checklists/story-draft-checklist.md +0 -3
- package/bmad-core/data/bmad-kb.md +5 -2
- package/bmad-core/data/elicitation-methods.md +20 -0
- package/bmad-core/data/test-levels-framework.md +146 -0
- package/bmad-core/data/test-priorities-matrix.md +172 -0
- package/bmad-core/tasks/create-brownfield-story.md +11 -3
- package/bmad-core/tasks/create-deep-research-prompt.md +0 -11
- package/bmad-core/tasks/document-project.md +15 -13
- package/bmad-core/tasks/facilitate-brainstorming-session.md +1 -1
- package/bmad-core/tasks/index-docs.md +0 -6
- package/bmad-core/tasks/kb-mode-interaction.md +3 -3
- package/bmad-core/tasks/nfr-assess.md +343 -0
- package/bmad-core/tasks/qa-gate.md +159 -0
- package/bmad-core/tasks/review-story.md +243 -74
- package/bmad-core/tasks/risk-profile.md +353 -0
- package/bmad-core/tasks/shard-doc.md +0 -2
- package/bmad-core/tasks/test-design.md +174 -0
- package/bmad-core/tasks/trace-requirements.md +264 -0
- package/bmad-core/templates/qa-gate-tmpl.yaml +102 -0
- package/common/tasks/execute-checklist.md +0 -7
- package/dist/agents/analyst.txt +20 -26
- package/dist/agents/architect.txt +14 -35
- package/dist/agents/bmad-master.txt +40 -70
- package/dist/agents/bmad-orchestrator.txt +28 -5
- package/dist/agents/dev.txt +0 -14
- package/dist/agents/pm.txt +0 -25
- package/dist/agents/po.txt +0 -18
- package/dist/agents/qa.txt +2079 -135
- package/dist/agents/sm.txt +0 -10
- package/dist/agents/ux-expert.txt +0 -7
- package/dist/expansion-packs/bmad-2d-phaser-game-dev/agents/game-designer.txt +0 -37
- package/dist/expansion-packs/bmad-2d-phaser-game-dev/agents/game-developer.txt +3 -12
- package/dist/expansion-packs/bmad-2d-phaser-game-dev/agents/game-sm.txt +0 -7
- package/dist/expansion-packs/bmad-2d-phaser-game-dev/teams/phaser-2d-nodejs-game-team.txt +44 -90
- package/dist/expansion-packs/bmad-2d-unity-game-dev/agents/game-architect.txt +14 -49
- package/dist/expansion-packs/bmad-2d-unity-game-dev/agents/game-designer.txt +0 -46
- package/dist/expansion-packs/bmad-2d-unity-game-dev/agents/game-developer.txt +0 -15
- package/dist/expansion-packs/bmad-2d-unity-game-dev/agents/game-sm.txt +0 -17
- package/dist/expansion-packs/bmad-2d-unity-game-dev/teams/unity-2d-game-team.txt +38 -142
- package/dist/expansion-packs/bmad-infrastructure-devops/agents/infra-devops-platform.txt +0 -2
- package/dist/teams/team-all.txt +2181 -261
- package/dist/teams/team-fullstack.txt +43 -57
- package/dist/teams/team-ide-minimal.txt +2064 -125
- package/dist/teams/team-no-ui.txt +43 -57
- package/docs/enhanced-ide-development-workflow.md +220 -15
- package/docs/user-guide.md +271 -18
- package/docs/working-in-the-brownfield.md +265 -32
- package/expansion-packs/Complete AI Agent System - Blank Templates & Google Cloud Setup/README.md +14 -14
- package/expansion-packs/bmad-2d-phaser-game-dev/data/bmad-kb.md +0 -4
- package/expansion-packs/bmad-2d-phaser-game-dev/data/development-guidelines.md +3 -5
- package/expansion-packs/bmad-2d-phaser-game-dev/tasks/advanced-elicitation.md +0 -1
- package/expansion-packs/bmad-2d-phaser-game-dev/tasks/game-design-brainstorming.md +0 -18
- package/expansion-packs/bmad-2d-unity-game-dev/checklists/game-architect-checklist.md +0 -5
- package/expansion-packs/bmad-2d-unity-game-dev/checklists/game-story-dod-checklist.md +0 -8
- package/expansion-packs/bmad-2d-unity-game-dev/data/bmad-kb.md +0 -7
- package/expansion-packs/bmad-2d-unity-game-dev/data/development-guidelines.md +0 -4
- package/expansion-packs/bmad-2d-unity-game-dev/tasks/advanced-elicitation.md +0 -1
- package/expansion-packs/bmad-2d-unity-game-dev/tasks/correct-course-game.md +0 -10
- package/expansion-packs/bmad-2d-unity-game-dev/tasks/game-design-brainstorming.md +0 -18
- package/expansion-packs/bmad-infrastructure-devops/data/bmad-kb.md +0 -3
- package/expansion-packs/bmad-infrastructure-devops/tasks/review-infrastructure.md +0 -1
- package/expansion-packs/bmad-infrastructure-devops/tasks/validate-infrastructure.md +0 -1
- package/package.json +1 -1
- package/tools/installer/bin/bmad.js +33 -32
- package/tools/installer/config/install.config.yaml +11 -1
- package/tools/installer/lib/file-manager.js +1 -1
- package/tools/installer/lib/ide-base-setup.js +1 -1
- package/tools/installer/lib/ide-setup.js +197 -83
- package/tools/installer/lib/installer.js +3 -3
- package/tools/installer/package.json +1 -1
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
# Enhanced Development Workflow
|
|
1
|
+
# Enhanced IDE Development Workflow
|
|
2
2
|
|
|
3
|
-
This is a simple step-by-step guide to help you efficiently manage your development workflow using the BMad Method. Refer to the **[<ins>User Guide</ins>](user-guide.md)** for any scenario that is not covered here.
|
|
3
|
+
This is a simple step-by-step guide to help you efficiently manage your development workflow using the BMad Method. The workflow integrates the Test Architect (QA agent) throughout the development lifecycle to ensure quality, prevent regressions, and maintain high standards. Refer to the **[<ins>User Guide</ins>](user-guide.md)** for any scenario that is not covered here.
|
|
4
4
|
|
|
5
|
-
## Create
|
|
5
|
+
## Create New Branch
|
|
6
6
|
|
|
7
7
|
1. **Start new branch**
|
|
8
8
|
|
|
@@ -21,23 +21,228 @@ This is a simple step-by-step guide to help you efficiently manage your developm
|
|
|
21
21
|
3. **Execute**: `*develop-story {selected-story}` (runs execute-checklist task)
|
|
22
22
|
4. **Review generated report** in `{selected-story}`
|
|
23
23
|
|
|
24
|
-
##
|
|
24
|
+
## Test Architect Integration Throughout Workflow
|
|
25
25
|
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
26
|
+
The Test Architect (Quinn) provides comprehensive quality assurance throughout the development lifecycle. Here's how to leverage each capability at the right time.
|
|
27
|
+
|
|
28
|
+
**Command Aliases:** Documentation uses short forms (`*risk`, `*design`, `*nfr`, `*trace`) for the full commands (`*risk-profile`, `*test-design`, `*nfr-assess`, `*trace-requirements`).
|
|
29
|
+
|
|
30
|
+
### Quick Command Reference
|
|
31
|
+
|
|
32
|
+
| **Stage** | **Command** | **Purpose** | **Output** | **Priority** |
|
|
33
|
+
| ------------------------ | ----------- | --------------------------------------- | --------------------------------------------------------------- | --------------------------- |
|
|
34
|
+
| **After Story Approval** | `*risk` | Identify integration & regression risks | `docs/qa/assessments/{epic}.{story}-risk-{YYYYMMDD}.md` | High for complex/brownfield |
|
|
35
|
+
| | `*design` | Create test strategy for dev | `docs/qa/assessments/{epic}.{story}-test-design-{YYYYMMDD}.md` | High for new features |
|
|
36
|
+
| **During Development** | `*trace` | Verify test coverage | `docs/qa/assessments/{epic}.{story}-trace-{YYYYMMDD}.md` | Medium |
|
|
37
|
+
| | `*nfr` | Validate quality attributes | `docs/qa/assessments/{epic}.{story}-nfr-{YYYYMMDD}.md` | High for critical features |
|
|
38
|
+
| **After Development** | `*review` | Comprehensive assessment | QA Results in story + `docs/qa/gates/{epic}.{story}-{slug}.yml` | **Required** |
|
|
39
|
+
| **Post-Review** | `*gate` | Update quality decision | Updated `docs/qa/gates/{epic}.{story}-{slug}.yml` | As needed |
|
|
40
|
+
|
|
41
|
+
### Stage 1: After Story Creation (Before Dev Starts)
|
|
42
|
+
|
|
43
|
+
**RECOMMENDED - Set Developer Up for Success:**
|
|
44
|
+
|
|
45
|
+
```bash
|
|
46
|
+
# 1. RISK ASSESSMENT (Run FIRST for complex stories)
|
|
47
|
+
@qa *risk {approved-story}
|
|
48
|
+
# Identifies:
|
|
49
|
+
# - Technical debt impact
|
|
50
|
+
# - Integration complexity
|
|
51
|
+
# - Regression potential (1-9 scoring)
|
|
52
|
+
# - Mitigation strategies
|
|
53
|
+
# Critical for: Brownfield, API changes, data migrations
|
|
54
|
+
|
|
55
|
+
# 2. TEST DESIGN (Run SECOND to guide implementation)
|
|
56
|
+
@qa *design {approved-story}
|
|
57
|
+
# Provides:
|
|
58
|
+
# - Test scenarios per acceptance criterion
|
|
59
|
+
# - Test level recommendations (unit/integration/E2E)
|
|
60
|
+
# - Risk-based priorities (P0/P1/P2)
|
|
61
|
+
# - Test data requirements
|
|
62
|
+
# Share with Dev: Include in story comments or attach to ticket
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
### Stage 2: During Development (Mid-Implementation Checkpoints)
|
|
66
|
+
|
|
67
|
+
**Developer Self-Service Quality Checks:**
|
|
68
|
+
|
|
69
|
+
```bash
|
|
70
|
+
# 3. REQUIREMENTS TRACING (Verify coverage mid-development)
|
|
71
|
+
@qa *trace {story-in-progress}
|
|
72
|
+
# Validates:
|
|
73
|
+
# - All acceptance criteria have tests
|
|
74
|
+
# - No missing test scenarios
|
|
75
|
+
# - Appropriate test levels
|
|
76
|
+
# - Given-When-Then documentation clarity
|
|
77
|
+
# Run when: After writing initial tests
|
|
78
|
+
|
|
79
|
+
# 4. NFR VALIDATION (Check quality attributes)
|
|
80
|
+
@qa *nfr {story-in-progress}
|
|
81
|
+
# Assesses:
|
|
82
|
+
# - Security: Authentication, authorization, data protection
|
|
83
|
+
# - Performance: Response times, resource usage
|
|
84
|
+
# - Reliability: Error handling, recovery
|
|
85
|
+
# - Maintainability: Code quality, documentation
|
|
86
|
+
# Run when: Before marking "Ready for Review"
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
### Stage 3: Story Review (Quality Gate Assessment)
|
|
90
|
+
|
|
91
|
+
**REQUIRED - Comprehensive Test Architecture Review:**
|
|
92
|
+
|
|
93
|
+
**Prerequisite:** All tests green locally; lint & type checks pass.
|
|
94
|
+
|
|
95
|
+
```bash
|
|
96
|
+
# 5. FULL REVIEW (Standard review process)
|
|
97
|
+
@qa *review {completed-story}
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
**What Happens During Review:**
|
|
101
|
+
|
|
102
|
+
1. **Deep Code Analysis**
|
|
103
|
+
- Architecture pattern compliance
|
|
104
|
+
- Code quality and maintainability
|
|
105
|
+
- Security vulnerability scanning
|
|
106
|
+
- Performance bottleneck detection
|
|
107
|
+
|
|
108
|
+
2. **Active Refactoring**
|
|
109
|
+
- Improves code directly when safe
|
|
110
|
+
- Fixes obvious issues immediately
|
|
111
|
+
- Suggests complex refactoring for dev
|
|
112
|
+
|
|
113
|
+
3. **Test Validation**
|
|
114
|
+
- Coverage at all levels (unit/integration/E2E)
|
|
115
|
+
- Test quality (no flaky tests, proper assertions)
|
|
116
|
+
- Regression test adequacy
|
|
117
|
+
|
|
118
|
+
4. **Gate Decision**
|
|
119
|
+
- Creates: `docs/qa/gates/{epic}.{story}-{slug}.yml`
|
|
120
|
+
- Adds: QA Results section to story file
|
|
121
|
+
- Status: PASS/CONCERNS/FAIL/WAIVED
|
|
122
|
+
|
|
123
|
+
### Stage 4: Post-Review (After Addressing Issues)
|
|
124
|
+
|
|
125
|
+
**Update Gate Status After Fixes:**
|
|
126
|
+
|
|
127
|
+
```bash
|
|
128
|
+
# 6. GATE UPDATE (Document final decision)
|
|
129
|
+
@qa *gate {reviewed-story}
|
|
130
|
+
# Updates: Quality gate with new status
|
|
131
|
+
# Use when: After addressing review feedback
|
|
132
|
+
# Documents: What was fixed, what was waived
|
|
133
|
+
```
|
|
134
|
+
|
|
135
|
+
### Understanding Gate Decisions
|
|
136
|
+
|
|
137
|
+
| **Status** | **Meaning** | **Action Required** | **Can Proceed?** |
|
|
138
|
+
| ------------ | -------------------------------------------- | ----------------------- | ---------------- |
|
|
139
|
+
| **PASS** | All critical requirements met | None | ✅ Yes |
|
|
140
|
+
| **CONCERNS** | Non-critical issues found | Team review recommended | ⚠️ With caution |
|
|
141
|
+
| **FAIL** | Critical issues (security, missing P0 tests) | Must fix | ❌ No |
|
|
142
|
+
| **WAIVED** | Issues acknowledged and accepted | Document reasoning | ✅ With approval |
|
|
143
|
+
|
|
144
|
+
### Risk-Based Testing Strategy
|
|
145
|
+
|
|
146
|
+
The Test Architect uses risk scoring to prioritize testing:
|
|
147
|
+
|
|
148
|
+
| **Risk Score** | **Calculation** | **Testing Priority** | **Gate Impact** |
|
|
149
|
+
| -------------- | ------------------------------ | ------------------------- | ------------------------ |
|
|
150
|
+
| **9** | High probability × High impact | P0 - Must test thoroughly | FAIL if untested |
|
|
151
|
+
| **6** | Medium-high combinations | P1 - Should test well | CONCERNS if gaps |
|
|
152
|
+
| **4** | Medium combinations | P1 - Should test | CONCERNS if notable gaps |
|
|
153
|
+
| **2-3** | Low-medium combinations | P2 - Nice to have | Note in review |
|
|
154
|
+
| **1** | Minimal risk | P2 - Minimal | Note in review |
|
|
155
|
+
|
|
156
|
+
### Special Situations & Best Practices
|
|
157
|
+
|
|
158
|
+
#### High-Risk or Brownfield Stories
|
|
159
|
+
|
|
160
|
+
```bash
|
|
161
|
+
# ALWAYS run this sequence:
|
|
162
|
+
@qa *risk {story} # First - identify dangers
|
|
163
|
+
@qa *design {story} # Second - plan defense
|
|
164
|
+
# Then during dev:
|
|
165
|
+
@qa *trace {story} # Verify regression coverage
|
|
166
|
+
@qa *nfr {story} # Check performance impact
|
|
167
|
+
# Finally:
|
|
168
|
+
@qa *review {story} # Deep integration analysis
|
|
169
|
+
```
|
|
170
|
+
|
|
171
|
+
#### Complex Integrations
|
|
172
|
+
|
|
173
|
+
- Run `*trace` multiple times during development
|
|
174
|
+
- Focus on integration test coverage
|
|
175
|
+
- Use `*nfr` to validate cross-system performance
|
|
176
|
+
- Review with extra attention to API contracts
|
|
177
|
+
|
|
178
|
+
#### Performance-Critical Features
|
|
179
|
+
|
|
180
|
+
- Run `*nfr` early and often (not just at review)
|
|
181
|
+
- Establish performance baselines before changes
|
|
182
|
+
- Document acceptable performance degradation
|
|
183
|
+
- Consider load testing requirements in `*design`
|
|
184
|
+
|
|
185
|
+
### Test Quality Standards Enforced
|
|
186
|
+
|
|
187
|
+
Quinn ensures all tests meet these standards:
|
|
188
|
+
|
|
189
|
+
- **No Flaky Tests**: Proper async handling, explicit waits
|
|
190
|
+
- **No Hard Waits**: Dynamic strategies only (polling, events)
|
|
191
|
+
- **Stateless**: Tests run independently and in parallel
|
|
192
|
+
- **Self-Cleaning**: Tests manage their own test data
|
|
193
|
+
- **Appropriate Levels**: Unit for logic, integration for interactions, E2E for journeys
|
|
194
|
+
- **Clear Assertions**: Keep assertions in tests, not buried in helpers
|
|
195
|
+
|
|
196
|
+
### Documentation & Audit Trail
|
|
197
|
+
|
|
198
|
+
All Test Architect activities create permanent records:
|
|
199
|
+
|
|
200
|
+
- **Assessment Reports**: Timestamped analysis in `docs/qa/assessments/`
|
|
201
|
+
- **Gate Files**: Decision records in `docs/qa/gates/`
|
|
202
|
+
- **Story Updates**: QA Results sections in story files
|
|
203
|
+
- **Traceability**: Requirements to test mapping maintained
|
|
30
204
|
|
|
31
205
|
## Commit Changes and Push
|
|
32
206
|
|
|
33
207
|
1. **Commit changes**
|
|
34
208
|
2. **Push to remote**
|
|
35
209
|
|
|
36
|
-
##
|
|
210
|
+
## Complete Development Cycle Flow
|
|
211
|
+
|
|
212
|
+
### The Full Workflow with Test Architect
|
|
213
|
+
|
|
214
|
+
1. **SM**: Create next story → Review → Approve
|
|
215
|
+
2. **QA (Optional)**: Risk assessment (`*risk`) → Test design (`*design`)
|
|
216
|
+
3. **Dev**: Implement story → Write tests → Complete
|
|
217
|
+
4. **QA (Optional)**: Mid-dev checks (`*trace`, `*nfr`)
|
|
218
|
+
5. **Dev**: Mark Ready for Review
|
|
219
|
+
6. **QA (Required)**: Review story (`*review`) → Gate decision
|
|
220
|
+
7. **Dev (If needed)**: Address issues
|
|
221
|
+
8. **QA (If needed)**: Update gate (`*gate`)
|
|
222
|
+
9. **Commit**: All changes
|
|
223
|
+
10. **Push**: To remote
|
|
224
|
+
11. **Continue**: Until all features implemented
|
|
225
|
+
|
|
226
|
+
### Quick Decision Guide
|
|
227
|
+
|
|
228
|
+
**Should I run Test Architect commands?**
|
|
229
|
+
|
|
230
|
+
| **Scenario** | **Before Dev** | **During Dev** | **After Dev** |
|
|
231
|
+
| ------------------------ | ------------------------------- | ---------------------------- | ---------------------------- |
|
|
232
|
+
| **Simple bug fix** | Optional | Optional | Required `*review` |
|
|
233
|
+
| **New feature** | Recommended `*risk`, `*design` | Optional `*trace` | Required `*review` |
|
|
234
|
+
| **Brownfield change** | **Required** `*risk`, `*design` | Recommended `*trace`, `*nfr` | Required `*review` |
|
|
235
|
+
| **API modification** | **Required** `*risk`, `*design` | **Required** `*trace` | Required `*review` |
|
|
236
|
+
| **Performance-critical** | Recommended `*design` | **Required** `*nfr` | Required `*review` |
|
|
237
|
+
| **Data migration** | **Required** `*risk`, `*design` | **Required** `*trace` | Required `*review` + `*gate` |
|
|
238
|
+
|
|
239
|
+
### Success Metrics
|
|
240
|
+
|
|
241
|
+
The Test Architect helps achieve:
|
|
37
242
|
|
|
38
|
-
- **
|
|
39
|
-
- **
|
|
40
|
-
- **
|
|
41
|
-
- **
|
|
42
|
-
- **
|
|
43
|
-
- **
|
|
243
|
+
- **Zero regression defects** in production
|
|
244
|
+
- **100% requirements coverage** with tests
|
|
245
|
+
- **Clear quality gates** for go/no-go decisions
|
|
246
|
+
- **Documented risk acceptance** for technical debt
|
|
247
|
+
- **Consistent test quality** across the team
|
|
248
|
+
- **Shift-left testing** with early risk identification
|
package/docs/user-guide.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
# BMad
|
|
1
|
+
# BMad Method — User Guide
|
|
2
2
|
|
|
3
|
-
This guide will help you understand and effectively use the BMad Method for agile AI
|
|
3
|
+
This guide will help you understand and effectively use the BMad Method for agile AI-driven planning and development.
|
|
4
4
|
|
|
5
5
|
## The BMad Plan and Execute Workflow
|
|
6
6
|
|
|
@@ -8,7 +8,7 @@ First, here is the full standard Greenfield Planning + Execution Workflow. Brown
|
|
|
8
8
|
|
|
9
9
|
If you are going to use the BMad Method with a Brownfield project (an existing project), review **[Working in the Brownfield](./working-in-the-brownfield.md)**.
|
|
10
10
|
|
|
11
|
-
If
|
|
11
|
+
If the diagrams below don't render, install Markdown All in One along with the Markdown Preview Mermaid Support plugins to VSCode (or one of the forked clones). With these plugins, if you right click on the tab when open, there should be an Open Preview option, or check the IDE documentation.
|
|
12
12
|
|
|
13
13
|
### The Planning Workflow (Web UI or Powerful IDE Agents)
|
|
14
14
|
|
|
@@ -32,8 +32,11 @@ graph TD
|
|
|
32
32
|
F2 -->|No| H["Architect: Create Architecture from PRD"]
|
|
33
33
|
F3 --> F4["UX Expert: Generate UI Prompt for Lovable/V0 (Optional)"]
|
|
34
34
|
F4 --> H2["Architect: Create Architecture from PRD + UX Spec"]
|
|
35
|
-
H -->
|
|
36
|
-
H2 -->
|
|
35
|
+
H --> Q{"Early Test Strategy? (Optional)"}
|
|
36
|
+
H2 --> Q
|
|
37
|
+
Q -->|Yes| R["QA: Early Test Architecture Input on High-Risk Areas"]
|
|
38
|
+
Q -->|No| I
|
|
39
|
+
R --> I["PO: Run Master Checklist"]
|
|
37
40
|
I --> J{"Documents Aligned?"}
|
|
38
41
|
J -->|Yes| K["Planning Complete"]
|
|
39
42
|
J -->|No| L["PO: Update Epics & Stories"]
|
|
@@ -58,6 +61,8 @@ graph TD
|
|
|
58
61
|
style G fill:#e3f2fd,color:#000
|
|
59
62
|
style H fill:#f3e5f5,color:#000
|
|
60
63
|
style H2 fill:#f3e5f5,color:#000
|
|
64
|
+
style Q fill:#e3f2fd,color:#000
|
|
65
|
+
style R fill:#ffd54f,color:#000
|
|
61
66
|
style I fill:#f9ab00,color:#fff
|
|
62
67
|
style J fill:#e3f2fd,color:#000
|
|
63
68
|
style K fill:#34a853,color:#fff
|
|
@@ -77,6 +82,17 @@ graph TD
|
|
|
77
82
|
3. **Document Sharding**: Use the PO agent to shard the PRD and then the Architecture
|
|
78
83
|
4. **Begin Development**: Start the Core Development Cycle that follows
|
|
79
84
|
|
|
85
|
+
#### Planning Artifacts (Standard Paths)
|
|
86
|
+
|
|
87
|
+
```text
|
|
88
|
+
PRD → docs/prd.md
|
|
89
|
+
Architecture → docs/architecture.md
|
|
90
|
+
Sharded Epics → docs/epics/
|
|
91
|
+
Sharded Stories → docs/stories/
|
|
92
|
+
QA Assessments → docs/qa/assessments/
|
|
93
|
+
QA Gates → docs/qa/gates/
|
|
94
|
+
```
|
|
95
|
+
|
|
80
96
|
### The Core Development Cycle (IDE)
|
|
81
97
|
|
|
82
98
|
Once planning is complete and documents are sharded, BMad follows a structured development workflow:
|
|
@@ -85,35 +101,52 @@ Once planning is complete and documents are sharded, BMad follows a structured d
|
|
|
85
101
|
graph TD
|
|
86
102
|
A["Development Phase Start"] --> B["SM: Reviews Previous Story Dev/QA Notes"]
|
|
87
103
|
B --> B2["SM: Drafts Next Story from Sharded Epic + Architecture"]
|
|
88
|
-
B2 -->
|
|
104
|
+
B2 --> S{"High-Risk Story? (Optional)"}
|
|
105
|
+
S -->|Yes| T["QA: *risk + *design on Draft Story"]
|
|
106
|
+
S -->|No| B3
|
|
107
|
+
T --> U["Test Strategy & Risk Profile Created"]
|
|
108
|
+
U --> B3{"PO: Validate Story Draft (Optional)"}
|
|
89
109
|
B3 -->|Validation Requested| B4["PO: Validate Story Against Artifacts"]
|
|
90
110
|
B3 -->|Skip Validation| C{"User Approval"}
|
|
91
111
|
B4 --> C
|
|
92
112
|
C -->|Approved| D["Dev: Sequential Task Execution"]
|
|
93
113
|
C -->|Needs Changes| B2
|
|
94
114
|
D --> E["Dev: Implement Tasks + Tests"]
|
|
95
|
-
E -->
|
|
115
|
+
E --> V{"Mid-Dev QA Check? (Optional)"}
|
|
116
|
+
V -->|Yes| W["QA: *trace or *nfr for Early Validation"]
|
|
117
|
+
V -->|No| F
|
|
118
|
+
W --> X["Dev: Address Coverage/NFR Gaps"]
|
|
119
|
+
X --> F["Dev: Run All Validations"]
|
|
96
120
|
F --> G["Dev: Mark Ready for Review + Add Notes"]
|
|
97
121
|
G --> H{"User Verification"}
|
|
98
|
-
H -->|Request QA Review| I["QA:
|
|
122
|
+
H -->|Request QA Review| I["QA: Test Architect Review + Quality Gate"]
|
|
99
123
|
H -->|Approve Without QA| M["IMPORTANT: Verify All Regression Tests and Linting are Passing"]
|
|
100
|
-
I --> J["QA:
|
|
124
|
+
I --> J["QA: Test Architecture Analysis + Active Refactoring"]
|
|
101
125
|
J --> L{"QA Decision"}
|
|
102
126
|
L -->|Needs Dev Work| D
|
|
103
127
|
L -->|Approved| M
|
|
104
128
|
H -->|Needs Fixes| D
|
|
105
129
|
M --> N["IMPORTANT: COMMIT YOUR CHANGES BEFORE PROCEEDING!"]
|
|
106
|
-
N -->
|
|
130
|
+
N --> Y{"Gate Update Needed?"}
|
|
131
|
+
Y -->|Yes| Z["QA: *gate to Update Status"]
|
|
132
|
+
Y -->|No| K
|
|
133
|
+
Z --> K["Mark Story as Done"]
|
|
107
134
|
K --> B
|
|
108
135
|
|
|
109
136
|
style A fill:#f5f5f5,color:#000
|
|
110
137
|
style B fill:#e8f5e9,color:#000
|
|
111
138
|
style B2 fill:#e8f5e9,color:#000
|
|
139
|
+
style S fill:#e3f2fd,color:#000
|
|
140
|
+
style T fill:#ffd54f,color:#000
|
|
141
|
+
style U fill:#ffd54f,color:#000
|
|
112
142
|
style B3 fill:#e3f2fd,color:#000
|
|
113
143
|
style B4 fill:#fce4ec,color:#000
|
|
114
144
|
style C fill:#e3f2fd,color:#000
|
|
115
145
|
style D fill:#e3f2fd,color:#000
|
|
116
146
|
style E fill:#e3f2fd,color:#000
|
|
147
|
+
style V fill:#e3f2fd,color:#000
|
|
148
|
+
style W fill:#ffd54f,color:#000
|
|
149
|
+
style X fill:#e3f2fd,color:#000
|
|
117
150
|
style F fill:#e3f2fd,color:#000
|
|
118
151
|
style G fill:#e3f2fd,color:#000
|
|
119
152
|
style H fill:#e3f2fd,color:#000
|
|
@@ -123,13 +156,23 @@ graph TD
|
|
|
123
156
|
style L fill:#e3f2fd,color:#000
|
|
124
157
|
style M fill:#ff5722,color:#fff
|
|
125
158
|
style N fill:#d32f2f,color:#fff
|
|
159
|
+
style Y fill:#e3f2fd,color:#000
|
|
160
|
+
style Z fill:#ffd54f,color:#000
|
|
126
161
|
```
|
|
127
162
|
|
|
163
|
+
## Prerequisites
|
|
164
|
+
|
|
165
|
+
Before installing BMad Method, ensure you have:
|
|
166
|
+
|
|
167
|
+
- **Node.js** ≥ 18, **npm** ≥ 9
|
|
168
|
+
- **Git** installed and configured
|
|
169
|
+
- **(Optional)** VS Code with "Markdown All in One" + "Markdown Preview Mermaid Support" extensions
|
|
170
|
+
|
|
128
171
|
## Installation
|
|
129
172
|
|
|
130
173
|
### Optional
|
|
131
174
|
|
|
132
|
-
If you want to do the planning
|
|
175
|
+
If you want to do the planning on the web with Claude (Sonnet 4 or Opus), Gemini Gem (2.5 Pro), or Custom GPTs:
|
|
133
176
|
|
|
134
177
|
1. Navigate to `dist/teams/`
|
|
135
178
|
2. Copy `team-fullstack.txt`
|
|
@@ -146,17 +189,17 @@ npx bmad-method install
|
|
|
146
189
|
|
|
147
190
|
## Special Agents
|
|
148
191
|
|
|
149
|
-
There are two
|
|
192
|
+
There are two BMad agents — in the future they'll be consolidated into a single BMad-Master.
|
|
150
193
|
|
|
151
194
|
### BMad-Master
|
|
152
195
|
|
|
153
|
-
This agent can do any task or command that all other agents can do, aside from actual story implementation. Additionally, this agent can help explain the BMad Method when
|
|
196
|
+
This agent can do any task or command that all other agents can do, aside from actual story implementation. Additionally, this agent can help explain the BMad Method when on the web by accessing the knowledge base and explaining anything to you about the process.
|
|
154
197
|
|
|
155
198
|
If you don't want to bother switching between different agents aside from the dev, this is the agent for you. Just remember that as the context grows, the performance of the agent degrades, therefore it is important to instruct the agent to compact the conversation and start a new conversation with the compacted conversation as the initial message. Do this often, preferably after each story is implemented.
|
|
156
199
|
|
|
157
200
|
### BMad-Orchestrator
|
|
158
201
|
|
|
159
|
-
This agent should NOT be used within the IDE, it is a
|
|
202
|
+
This agent should NOT be used within the IDE, it is a heavyweight, special-purpose agent that utilizes a lot of context and can morph into any other agent. This exists solely to facilitate the teams within the web bundles. If you use a web bundle you will be greeted by the BMad Orchestrator.
|
|
160
203
|
|
|
161
204
|
### How Agents Work
|
|
162
205
|
|
|
@@ -187,12 +230,12 @@ dependencies:
|
|
|
187
230
|
**In IDE:**
|
|
188
231
|
|
|
189
232
|
```bash
|
|
190
|
-
# Some
|
|
233
|
+
# Some IDEs, like Cursor or Windsurf for example, utilize manual rules so interaction is done with the '@' symbol
|
|
191
234
|
@pm Create a PRD for a task management app
|
|
192
235
|
@architect Design the system architecture
|
|
193
236
|
@dev Implement the user authentication
|
|
194
237
|
|
|
195
|
-
# Some, like Claude Code use slash commands instead
|
|
238
|
+
# Some IDEs, like Claude Code, use slash commands instead
|
|
196
239
|
/pm Create user stories
|
|
197
240
|
/dev Fix the login bug
|
|
198
241
|
```
|
|
@@ -212,6 +255,216 @@ dependencies:
|
|
|
212
255
|
- **File Organization**: Maintain clean project structure
|
|
213
256
|
- **Commit Regularly**: Save your work frequently
|
|
214
257
|
|
|
258
|
+
## The Test Architect (QA Agent)
|
|
259
|
+
|
|
260
|
+
### Overview
|
|
261
|
+
|
|
262
|
+
The QA agent in BMad is not just a "senior developer reviewer" - it's a **Test Architect** with deep expertise in test strategy, quality gates, and risk-based testing. Named Quinn, this agent provides advisory authority on quality matters while actively improving code when safe to do so.
|
|
263
|
+
|
|
264
|
+
#### Quick Start (Essential Commands)
|
|
265
|
+
|
|
266
|
+
```bash
|
|
267
|
+
@qa *risk {story} # Assess risks before development
|
|
268
|
+
@qa *design {story} # Create test strategy
|
|
269
|
+
@qa *trace {story} # Verify test coverage during dev
|
|
270
|
+
@qa *nfr {story} # Check quality attributes
|
|
271
|
+
@qa *review {story} # Full assessment → writes gate
|
|
272
|
+
```
|
|
273
|
+
|
|
274
|
+
#### Command Aliases (Test Architect)
|
|
275
|
+
|
|
276
|
+
The documentation uses short forms for convenience. Both styles are valid:
|
|
277
|
+
|
|
278
|
+
```text
|
|
279
|
+
*risk → *risk-profile
|
|
280
|
+
*design → *test-design
|
|
281
|
+
*nfr → *nfr-assess
|
|
282
|
+
*trace → *trace-requirements (or just *trace)
|
|
283
|
+
*review → *review
|
|
284
|
+
*gate → *gate
|
|
285
|
+
```
|
|
286
|
+
|
|
287
|
+
### Core Capabilities
|
|
288
|
+
|
|
289
|
+
#### 1. Risk Profiling (`*risk`)
|
|
290
|
+
|
|
291
|
+
**When:** After story draft, before development begins (earliest intervention point)
|
|
292
|
+
|
|
293
|
+
Identifies and assesses implementation risks:
|
|
294
|
+
|
|
295
|
+
- **Categories**: Technical, Security, Performance, Data, Business, Operational
|
|
296
|
+
- **Scoring**: Probability × Impact analysis (1-9 scale)
|
|
297
|
+
- **Mitigation**: Specific strategies for each identified risk
|
|
298
|
+
- **Gate Impact**: Risks ≥9 trigger FAIL, ≥6 trigger CONCERNS (see `tasks/risk-profile.md` for authoritative rules)
|
|
299
|
+
|
|
300
|
+
#### 2. Test Design (`*design`)
|
|
301
|
+
|
|
302
|
+
**When:** After story draft, before development begins (guides what tests to write)
|
|
303
|
+
|
|
304
|
+
Creates comprehensive test strategies including:
|
|
305
|
+
|
|
306
|
+
- Test scenarios for each acceptance criterion
|
|
307
|
+
- Appropriate test level recommendations (unit vs integration vs E2E)
|
|
308
|
+
- Risk-based prioritization (P0/P1/P2)
|
|
309
|
+
- Test data requirements and mock strategies
|
|
310
|
+
- Execution strategies for CI/CD integration
|
|
311
|
+
|
|
312
|
+
**Example output:**
|
|
313
|
+
|
|
314
|
+
```yaml
|
|
315
|
+
test_summary:
|
|
316
|
+
total: 24
|
|
317
|
+
by_level:
|
|
318
|
+
unit: 15
|
|
319
|
+
integration: 7
|
|
320
|
+
e2e: 2
|
|
321
|
+
by_priority:
|
|
322
|
+
P0: 8 # Must have - linked to critical risks
|
|
323
|
+
P1: 10 # Should have - medium risks
|
|
324
|
+
P2: 6 # Nice to have - low risks
|
|
325
|
+
```
|
|
326
|
+
|
|
327
|
+
#### 3. Requirements Tracing (`*trace`)
|
|
328
|
+
|
|
329
|
+
**When:** During development (mid-implementation checkpoint)
|
|
330
|
+
|
|
331
|
+
Maps requirements to test coverage:
|
|
332
|
+
|
|
333
|
+
- Documents which tests validate each acceptance criterion
|
|
334
|
+
- Uses Given-When-Then for clarity (documentation only, not BDD code)
|
|
335
|
+
- Identifies coverage gaps with severity ratings
|
|
336
|
+
- Creates traceability matrix for audit purposes
|
|
337
|
+
|
|
338
|
+
#### 4. NFR Assessment (`*nfr`)
|
|
339
|
+
|
|
340
|
+
**When:** During development or early review (validate quality attributes)
|
|
341
|
+
|
|
342
|
+
Validates non-functional requirements:
|
|
343
|
+
|
|
344
|
+
- **Core Four**: Security, Performance, Reliability, Maintainability
|
|
345
|
+
- **Evidence-Based**: Looks for actual implementation proof
|
|
346
|
+
- **Gate Integration**: NFR failures directly impact quality gates
|
|
347
|
+
|
|
348
|
+
#### 5. Comprehensive Test Architecture Review (`*review`)
|
|
349
|
+
|
|
350
|
+
**When:** After development complete, story marked "Ready for Review"
|
|
351
|
+
|
|
352
|
+
When you run `@qa *review {story}`, Quinn performs:
|
|
353
|
+
|
|
354
|
+
- **Requirements Traceability**: Maps every acceptance criterion to its validating tests
|
|
355
|
+
- **Test Level Analysis**: Ensures appropriate testing at unit, integration, and E2E levels
|
|
356
|
+
- **Coverage Assessment**: Identifies gaps and redundant test coverage
|
|
357
|
+
- **Active Refactoring**: Improves code quality directly when safe
|
|
358
|
+
- **Quality Gate Decision**: Issues PASS/CONCERNS/FAIL status based on findings
|
|
359
|
+
|
|
360
|
+
#### 6. Quality Gates (`*gate`)
|
|
361
|
+
|
|
362
|
+
**When:** After review fixes or when gate status needs updating
|
|
363
|
+
|
|
364
|
+
Manages quality gate decisions:
|
|
365
|
+
|
|
366
|
+
- **Deterministic Rules**: Clear criteria for PASS/CONCERNS/FAIL
|
|
367
|
+
- **Parallel Authority**: QA owns gate files in `docs/qa/gates/`
|
|
368
|
+
- **Advisory Nature**: Provides recommendations, not blocks
|
|
369
|
+
- **Waiver Support**: Documents accepted risks when needed
|
|
370
|
+
|
|
371
|
+
**Note:** Gates are advisory; teams choose their quality bar. WAIVED requires reason, approver, and expiry date. See `templates/qa-gate-tmpl.yaml` for schema and `tasks/review-story.md` (gate rules) and `tasks/risk-profile.md` for scoring.
|
|
372
|
+
|
|
373
|
+
### Working with the Test Architect
|
|
374
|
+
|
|
375
|
+
#### Integration with BMad Workflow
|
|
376
|
+
|
|
377
|
+
The Test Architect provides value throughout the entire development lifecycle. Here's when and how to leverage each capability:
|
|
378
|
+
|
|
379
|
+
| **Stage** | **Command** | **When to Use** | **Value** | **Output** |
|
|
380
|
+
| ------------------ | ----------- | ----------------------- | -------------------------- | -------------------------------------------------------------- |
|
|
381
|
+
| **Story Drafting** | `*risk` | After SM drafts story | Identify pitfalls early | `docs/qa/assessments/{epic}.{story}-risk-{YYYYMMDD}.md` |
|
|
382
|
+
| | `*design` | After risk assessment | Guide dev on test strategy | `docs/qa/assessments/{epic}.{story}-test-design-{YYYYMMDD}.md` |
|
|
383
|
+
| **Development** | `*trace` | Mid-implementation | Verify test coverage | `docs/qa/assessments/{epic}.{story}-trace-{YYYYMMDD}.md` |
|
|
384
|
+
| | `*nfr` | While building features | Catch quality issues early | `docs/qa/assessments/{epic}.{story}-nfr-{YYYYMMDD}.md` |
|
|
385
|
+
| **Review** | `*review` | Story marked complete | Full quality assessment | QA Results in story + gate file |
|
|
386
|
+
| **Post-Review** | `*gate` | After fixing issues | Update quality decision | Updated `docs/qa/gates/{epic}.{story}-{slug}.yml` |
|
|
387
|
+
|
|
388
|
+
#### Example Commands
|
|
389
|
+
|
|
390
|
+
```bash
|
|
391
|
+
# Planning Stage - Run these BEFORE development starts
|
|
392
|
+
@qa *risk {draft-story} # What could go wrong?
|
|
393
|
+
@qa *design {draft-story} # What tests should we write?
|
|
394
|
+
|
|
395
|
+
# Development Stage - Run these DURING coding
|
|
396
|
+
@qa *trace {story} # Are we testing everything?
|
|
397
|
+
@qa *nfr {story} # Are we meeting quality standards?
|
|
398
|
+
|
|
399
|
+
# Review Stage - Run when development complete
|
|
400
|
+
@qa *review {story} # Comprehensive assessment + refactoring
|
|
401
|
+
|
|
402
|
+
# Post-Review - Run after addressing issues
|
|
403
|
+
@qa *gate {story} # Update gate status
|
|
404
|
+
```
|
|
405
|
+
|
|
406
|
+
### Quality Standards Enforced
|
|
407
|
+
|
|
408
|
+
Quinn enforces these test quality principles:
|
|
409
|
+
|
|
410
|
+
- **No Flaky Tests**: Ensures reliability through proper async handling
|
|
411
|
+
- **No Hard Waits**: Dynamic waiting strategies only
|
|
412
|
+
- **Stateless & Parallel-Safe**: Tests run independently
|
|
413
|
+
- **Self-Cleaning**: Tests manage their own test data
|
|
414
|
+
- **Appropriate Test Levels**: Unit for logic, integration for interactions, E2E for journeys
|
|
415
|
+
- **Explicit Assertions**: Keep assertions in tests, not helpers
|
|
416
|
+
|
|
417
|
+
### Gate Status Meanings
|
|
418
|
+
|
|
419
|
+
- **PASS**: All critical requirements met, no blocking issues
|
|
420
|
+
- **CONCERNS**: Non-critical issues found, team should review
|
|
421
|
+
- **FAIL**: Critical issues that should be addressed (security risks, missing P0 tests)
|
|
422
|
+
- **WAIVED**: Issues acknowledged but explicitly accepted by team
|
|
423
|
+
|
|
424
|
+
### Special Situations
|
|
425
|
+
|
|
426
|
+
**High-Risk Stories:**
|
|
427
|
+
|
|
428
|
+
- Always run `*risk` and `*design` before development starts
|
|
429
|
+
- Consider mid-development `*trace` and `*nfr` checkpoints
|
|
430
|
+
|
|
431
|
+
**Complex Integrations:**
|
|
432
|
+
|
|
433
|
+
- Run `*trace` during development to ensure all integration points tested
|
|
434
|
+
- Follow up with `*nfr` to validate performance across integrations
|
|
435
|
+
|
|
436
|
+
**Performance-Critical:**
|
|
437
|
+
|
|
438
|
+
- Run `*nfr` early and often during development
|
|
439
|
+
- Don't wait until review to discover performance issues
|
|
440
|
+
|
|
441
|
+
**Brownfield/Legacy Code:**
|
|
442
|
+
|
|
443
|
+
- Start with `*risk` to identify regression dangers
|
|
444
|
+
- Use `*review` with extra focus on backward compatibility
|
|
445
|
+
|
|
446
|
+
### Best Practices
|
|
447
|
+
|
|
448
|
+
- **Early Engagement**: Run `*design` and `*risk` during story drafting
|
|
449
|
+
- **Risk-Based Focus**: Let risk scores drive test prioritization
|
|
450
|
+
- **Iterative Improvement**: Use QA feedback to improve future stories
|
|
451
|
+
- **Gate Transparency**: Share gate decisions with the team
|
|
452
|
+
- **Continuous Learning**: QA documents patterns for team knowledge sharing
|
|
453
|
+
- **Brownfield Care**: Pay extra attention to regression risks in existing systems
|
|
454
|
+
|
|
455
|
+
### Output Paths Reference
|
|
456
|
+
|
|
457
|
+
Quick reference for where Test Architect outputs are stored:
|
|
458
|
+
|
|
459
|
+
```text
|
|
460
|
+
*risk-profile → docs/qa/assessments/{epic}.{story}-risk-{YYYYMMDD}.md
|
|
461
|
+
*test-design → docs/qa/assessments/{epic}.{story}-test-design-{YYYYMMDD}.md
|
|
462
|
+
*trace → docs/qa/assessments/{epic}.{story}-trace-{YYYYMMDD}.md
|
|
463
|
+
*nfr-assess → docs/qa/assessments/{epic}.{story}-nfr-{YYYYMMDD}.md
|
|
464
|
+
*review → QA Results section in story + gate file reference
|
|
465
|
+
*gate → docs/qa/gates/{epic}.{story}-{slug}.yml
|
|
466
|
+
```
|
|
467
|
+
|
|
215
468
|
## Technical Preferences System
|
|
216
469
|
|
|
217
470
|
BMad includes a personalization system through the `technical-preferences.md` file located in `.bmad-core/data/` - this can help bias the PM and Architect to recommend your preferences for design patterns, technology selection, or anything else you would like to put in here.
|
|
@@ -235,9 +488,9 @@ devLoadAlwaysFiles:
|
|
|
235
488
|
- docs/architecture/project-structure.md
|
|
236
489
|
```
|
|
237
490
|
|
|
238
|
-
You will want to verify from sharding your architecture that these documents exist, that they are as lean as possible, and contain exactly the information you want your dev agent to ALWAYS load into
|
|
491
|
+
You will want to verify from sharding your architecture that these documents exist, that they are as lean as possible, and contain exactly the information you want your dev agent to ALWAYS load into its context. These are the rules the agent will follow.
|
|
239
492
|
|
|
240
|
-
As your project grows and the code starts to build consistent patterns, coding standards should be reduced to include only the standards
|
|
493
|
+
As your project grows and the code starts to build consistent patterns, coding standards should be reduced to include only the standards the agent still needs enforced. The agent will look at surrounding code in files to infer the coding standards that are relevant to the current task.
|
|
241
494
|
|
|
242
495
|
## Getting Help
|
|
243
496
|
|