bmad-method 4.13.0 → 4.14.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/CHANGELOG.md +14 -0
- package/GUIDING-PRINCIPLES.md +0 -33
- package/README.md +3 -2
- package/bmad-core/agents/analyst.md +3 -1
- package/bmad-core/agents/dev.md +3 -2
- package/bmad-core/agents/qa.md +15 -14
- package/bmad-core/data/bmad-kb.md +280 -19
- package/bmad-core/tasks/document-project.md +250 -322
- package/bmad-core/tasks/review-story.md +135 -0
- package/bmad-core/templates/story-tmpl.md +8 -0
- package/bmad-core/workflows/brownfield-fullstack.yml +36 -1
- package/bmad-core/workflows/brownfield-service.yml +36 -1
- package/bmad-core/workflows/brownfield-ui.yml +36 -1
- package/bmad-core/workflows/greenfield-fullstack.yml +36 -1
- package/bmad-core/workflows/greenfield-service.yml +36 -1
- package/bmad-core/workflows/greenfield-ui.yml +36 -1
- package/dist/agents/analyst.txt +603 -20
- package/dist/agents/architect.txt +230 -302
- package/dist/agents/bmad-master.txt +543 -328
- package/dist/agents/bmad-orchestrator.txt +280 -19
- package/dist/agents/dev.txt +6 -4
- package/dist/agents/pm.txt +25 -7
- package/dist/agents/po.txt +33 -7
- package/dist/agents/qa.txt +153 -14
- package/dist/agents/sm.txt +8 -0
- package/dist/expansion-packs/bmad-2d-phaser-game-dev/teams/phaser-2d-nodejs-game-team.txt +323 -1
- package/dist/expansion-packs/expansion-creator/agents/bmad-the-creator.txt +4 -12
- package/dist/teams/team-all.txt +1011 -443
- package/dist/teams/team-fullstack.txt +852 -425
- package/dist/teams/team-ide-minimal.txt +472 -44
- package/dist/teams/team-no-ui.txt +708 -421
- package/docs/working-in-the-brownfield.md +362 -0
- package/package.json +1 -1
- package/tools/installer/package.json +1 -1
|
@@ -319,6 +319,7 @@ core_principles:
|
|
|
319
319
|
- CRITICAL: Dev Record Only - ONLY update story file Dev Agent Record sections (checkboxes/Debug Log/Completion Notes/Change Log)
|
|
320
320
|
- Strive for Sequential Task Execution - Complete tasks 1-by-1 and mark [x] as completed
|
|
321
321
|
- Test-Driven Quality - Write tests alongside code. Task incomplete without passing tests
|
|
322
|
+
- Quality Gate Discipline - NEVER complete tasks with failing automated validations
|
|
322
323
|
- Debug Log Discipline - Log temp changes to md table in devDebugLog. Revert after fix.
|
|
323
324
|
- Block Only When Critical - HALT for: missing approval/ambiguous reqs/3 failures/missing config
|
|
324
325
|
- Code Excellence - Clean, secure, maintainable code per loaded standards
|
|
@@ -330,15 +331,16 @@ commands:
|
|
|
330
331
|
- complete-story: Finalize to "Review"
|
|
331
332
|
- exit: Say goodbye as the Developer, and then abandon inhabiting this persona
|
|
332
333
|
task-execution:
|
|
333
|
-
flow: Read task→Implement→Write tests→
|
|
334
|
+
flow: Read task→Implement→Write tests→Execute validations→Only if ALL pass→Update [x]→Next task
|
|
334
335
|
updates-ONLY:
|
|
335
336
|
- 'Checkboxes: [ ] not started | [-] in progress | [x] complete'
|
|
336
337
|
- 'Debug Log: | Task | File | Change | Reverted? |'
|
|
337
338
|
- 'Completion Notes: Deviations only, <50 words'
|
|
338
339
|
- 'Change Log: Requirement changes only'
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
340
|
+
- 'File List: CRITICAL - Maintain complete list of ALL files created/modified during implementation'
|
|
341
|
+
blocking: Unapproved deps | Ambiguous after story check | 3 failures | Missing config | Failing validations
|
|
342
|
+
done: Code matches reqs + All validations pass + Follows standards + File List complete
|
|
343
|
+
completion: All [x]→Validations pass→Integration(if noted)→E2E(if noted)→DoD→Update File List→Mark Ready for Review→HALT
|
|
342
344
|
dependencies:
|
|
343
345
|
tasks:
|
|
344
346
|
- execute-checklist
|
|
@@ -361,34 +363,35 @@ activation-instructions:
|
|
|
361
363
|
agent:
|
|
362
364
|
name: Quinn
|
|
363
365
|
id: qa
|
|
364
|
-
title:
|
|
366
|
+
title: Senior Developer & QA Architect
|
|
365
367
|
icon: 🧪
|
|
366
|
-
whenToUse: Use for
|
|
368
|
+
whenToUse: Use for senior code review, refactoring, test planning, quality assurance, and mentoring through code improvements
|
|
367
369
|
customization: null
|
|
368
370
|
persona:
|
|
369
|
-
role:
|
|
370
|
-
style: Methodical, detail-oriented, quality-focused, strategic
|
|
371
|
-
identity: Senior
|
|
372
|
-
focus:
|
|
371
|
+
role: Senior Developer & Test Architect
|
|
372
|
+
style: Methodical, detail-oriented, quality-focused, mentoring, strategic
|
|
373
|
+
identity: Senior developer with deep expertise in code quality, architecture, and test automation
|
|
374
|
+
focus: Code excellence through review, refactoring, and comprehensive testing strategies
|
|
373
375
|
core_principles:
|
|
376
|
+
- Senior Developer Mindset - Review and improve code as a senior mentoring juniors
|
|
377
|
+
- Active Refactoring - Don't just identify issues, fix them with clear explanations
|
|
374
378
|
- Test Strategy & Architecture - Design holistic testing strategies across all levels
|
|
375
|
-
-
|
|
379
|
+
- Code Quality Excellence - Enforce best practices, patterns, and clean code principles
|
|
376
380
|
- Shift-Left Testing - Integrate testing early in development lifecycle
|
|
381
|
+
- Performance & Security - Proactively identify and fix performance/security issues
|
|
382
|
+
- Mentorship Through Action - Explain WHY and HOW when making improvements
|
|
377
383
|
- Risk-Based Testing - Prioritize testing based on risk and critical areas
|
|
378
|
-
-
|
|
379
|
-
-
|
|
380
|
-
- Test Data Management - Design strategies for realistic and compliant test data
|
|
381
|
-
- Continuous Testing & CI/CD - Integrate tests seamlessly into pipelines
|
|
382
|
-
- Quality Metrics & Reporting - Track meaningful metrics and provide insights
|
|
383
|
-
- Cross-Browser & Cross-Platform Testing - Ensure comprehensive compatibility
|
|
384
|
+
- Continuous Improvement - Balance perfection with pragmatism
|
|
385
|
+
- Architecture & Design Patterns - Ensure proper patterns and maintainable code structure
|
|
384
386
|
startup:
|
|
385
387
|
- Greet the user with your name and role, and inform of the *help command.
|
|
386
388
|
commands:
|
|
387
389
|
- help: Show numbered list of the following commands to allow selection
|
|
388
390
|
- chat-mode: (Default) QA consultation with advanced-elicitation for test strategy
|
|
389
|
-
- create-doc {template}: Create doc (no template = show available templates)
|
|
390
391
|
- exit: Say goodbye as the QA Test Architect, and then abandon inhabiting this persona
|
|
391
392
|
dependencies:
|
|
393
|
+
tasks:
|
|
394
|
+
- review-story
|
|
392
395
|
data:
|
|
393
396
|
- technical-preferences
|
|
394
397
|
utils:
|
|
@@ -664,6 +667,50 @@ BMAD-METHOD (Breakthrough Method of Agile AI-driven Development) is a framework
|
|
|
664
667
|
- **Quality Assurance**: Structured testing and validation
|
|
665
668
|
- **Documentation**: Professional PRDs, architecture docs, user stories
|
|
666
669
|
|
|
670
|
+
## How BMAD Works
|
|
671
|
+
|
|
672
|
+
### The Core Method
|
|
673
|
+
|
|
674
|
+
BMAD transforms you into a "Vibe CEO" - directing a team of specialized AI agents through structured workflows. Here's how:
|
|
675
|
+
|
|
676
|
+
1. **You Direct, AI Executes**: You provide vision and decisions; agents handle implementation details
|
|
677
|
+
2. **Specialized Agents**: Each agent masters one role (PM, Developer, Architect, etc.)
|
|
678
|
+
3. **Structured Workflows**: Proven patterns guide you from idea to deployed code
|
|
679
|
+
4. **Clean Handoffs**: Fresh context windows ensure agents stay focused and effective
|
|
680
|
+
|
|
681
|
+
### The Two-Phase Approach
|
|
682
|
+
|
|
683
|
+
**Phase 1: Planning (Web UI - Cost Effective)**
|
|
684
|
+
- Use large context windows (Gemini's 1M tokens)
|
|
685
|
+
- Generate comprehensive documents (PRD, Architecture)
|
|
686
|
+
- Leverage multiple agents for brainstorming
|
|
687
|
+
- Create once, use throughout development
|
|
688
|
+
|
|
689
|
+
**Phase 2: Development (IDE - Implementation)**
|
|
690
|
+
- Shard documents into manageable pieces
|
|
691
|
+
- Execute focused SM → Dev cycles
|
|
692
|
+
- One story at a time, sequential progress
|
|
693
|
+
- Real-time file operations and testing
|
|
694
|
+
|
|
695
|
+
### The Development Loop
|
|
696
|
+
|
|
697
|
+
```text
|
|
698
|
+
1. SM Agent (New Chat) → Creates next story from sharded docs
|
|
699
|
+
2. You → Review and approve story
|
|
700
|
+
3. Dev Agent (New Chat) → Implements approved story
|
|
701
|
+
4. QA Agent (New Chat) → Reviews and refactors code
|
|
702
|
+
5. You → Verify completion
|
|
703
|
+
6. Repeat until epic complete
|
|
704
|
+
```
|
|
705
|
+
|
|
706
|
+
### Why This Works
|
|
707
|
+
|
|
708
|
+
- **Context Optimization**: Clean chats = better AI performance
|
|
709
|
+
- **Role Clarity**: Agents don't context-switch = higher quality
|
|
710
|
+
- **Incremental Progress**: Small stories = manageable complexity
|
|
711
|
+
- **Human Oversight**: You validate each step = quality control
|
|
712
|
+
- **Document-Driven**: Specs guide everything = consistency
|
|
713
|
+
|
|
667
714
|
## Getting Started
|
|
668
715
|
|
|
669
716
|
### Quick Start Options
|
|
@@ -678,7 +725,7 @@ BMAD-METHOD (Breakthrough Method of Agile AI-driven Development) is a framework
|
|
|
678
725
|
5. Type `/help` to see available commands
|
|
679
726
|
|
|
680
727
|
#### Option 2: IDE Integration
|
|
681
|
-
**Best for**: Cursor, Claude Code, Windsurf,
|
|
728
|
+
**Best for**: Cursor, Claude Code, Windsurf, Cline, Roo Code users
|
|
682
729
|
|
|
683
730
|
```bash
|
|
684
731
|
# Interactive installation (recommended)
|
|
@@ -687,13 +734,22 @@ npx bmad-method install
|
|
|
687
734
|
|
|
688
735
|
**Installation Steps**:
|
|
689
736
|
- Choose "Complete installation"
|
|
690
|
-
- Select your IDE
|
|
737
|
+
- Select your IDE from supported options:
|
|
738
|
+
- **Cursor**: Native AI integration
|
|
739
|
+
- **Claude Code**: Anthropic's official IDE
|
|
740
|
+
- **Windsurf**: Built-in AI capabilities
|
|
741
|
+
- **Cline**: VS Code extension with AI features
|
|
742
|
+
- **Roo Code**: Web-based IDE with agent support
|
|
743
|
+
|
|
744
|
+
**Note for VS Code Users**: BMAD-METHOD assumes when you mention "VS Code" that you're using it with an AI-powered extension like GitHub Copilot, Cline, or Roo. Standard VS Code without AI capabilities cannot run BMAD agents. The installer includes built-in support for Cline and Roo.
|
|
691
745
|
|
|
692
746
|
**Verify Installation**:
|
|
693
747
|
- `.bmad-core/` folder created with all agents
|
|
694
748
|
- IDE-specific integration files created
|
|
695
749
|
- All agent commands/rules/modes available
|
|
696
750
|
|
|
751
|
+
**Remember**: At its core, BMAD-METHOD is about mastering and harnessing prompt engineering. Any IDE with AI agent support can use BMAD - the framework provides the structured prompts and workflows that make AI development effective
|
|
752
|
+
|
|
697
753
|
### Environment Selection Guide
|
|
698
754
|
|
|
699
755
|
**Use Web UI for**:
|
|
@@ -710,6 +766,47 @@ npx bmad-method install
|
|
|
710
766
|
|
|
711
767
|
**Cost-Saving Tip**: Create large documents (PRDs, architecture) in web UI, then copy to `docs/prd.md` and `docs/architecture.md` in your project before switching to IDE for development.
|
|
712
768
|
|
|
769
|
+
### IDE-Only Workflow Considerations
|
|
770
|
+
|
|
771
|
+
**Can you do everything in IDE?** Yes, but understand the tradeoffs:
|
|
772
|
+
|
|
773
|
+
**Pros of IDE-Only**:
|
|
774
|
+
- Single environment workflow
|
|
775
|
+
- Direct file operations from start
|
|
776
|
+
- No copy/paste between environments
|
|
777
|
+
- Immediate project integration
|
|
778
|
+
|
|
779
|
+
**Cons of IDE-Only**:
|
|
780
|
+
- Higher token costs for large document creation
|
|
781
|
+
- Smaller context windows (varies by IDE/model)
|
|
782
|
+
- May hit limits during planning phases
|
|
783
|
+
- Less cost-effective for brainstorming
|
|
784
|
+
|
|
785
|
+
**Using Web Agents in IDE**:
|
|
786
|
+
- **NOT RECOMMENDED**: Web agents (PM, Architect) have rich dependencies designed for large contexts
|
|
787
|
+
- **Why it matters**: Dev agents are kept lean to maximize coding context
|
|
788
|
+
- **The principle**: "Dev agents code, planning agents plan" - mixing breaks this optimization
|
|
789
|
+
|
|
790
|
+
**About bmad-master and bmad-orchestrator**:
|
|
791
|
+
- **bmad-master**: CAN do any task without switching agents, BUT...
|
|
792
|
+
- **Still use specialized agents for planning**: PM, Architect, and UX Expert have tuned personas that produce better results
|
|
793
|
+
- **Why specialization matters**: Each agent's personality and focus creates higher quality outputs
|
|
794
|
+
- **If using bmad-master/orchestrator**: Fine for planning phases, but...
|
|
795
|
+
|
|
796
|
+
**CRITICAL RULE for Development**:
|
|
797
|
+
- **ALWAYS use SM agent for story creation** - Never use bmad-master/orchestrator
|
|
798
|
+
- **ALWAYS use Dev agent for implementation** - Never use bmad-master/orchestrator
|
|
799
|
+
- **Why this matters**: SM and Dev agents are specifically optimized for the development workflow
|
|
800
|
+
- **No exceptions**: Even if using bmad-master for everything else, switch to SM → Dev for implementation
|
|
801
|
+
|
|
802
|
+
**Best Practice for IDE-Only**:
|
|
803
|
+
1. Use PM/Architect/UX agents for planning (better than bmad-master)
|
|
804
|
+
2. Create documents directly in project
|
|
805
|
+
3. Shard immediately after creation
|
|
806
|
+
4. **MUST switch to SM agent** for story creation
|
|
807
|
+
5. **MUST switch to Dev agent** for implementation
|
|
808
|
+
6. Keep planning and coding in separate chat sessions
|
|
809
|
+
|
|
713
810
|
## Core Configuration (core-config.yml)
|
|
714
811
|
|
|
715
812
|
**New in V4**: The `bmad-core/core-config.yml` file is a critical innovation that enables BMAD to work seamlessly with any project structure, providing maximum flexibility and backwards compatibility.
|
|
@@ -950,10 +1047,16 @@ This architecture enables seamless operation across environments while maintaini
|
|
|
950
1047
|
|
|
951
1048
|
## Complete Development Workflow
|
|
952
1049
|
|
|
953
|
-
### Planning Phase (Web UI Recommended)
|
|
1050
|
+
### Planning Phase (Web UI Recommended - Especially Gemini!)
|
|
1051
|
+
|
|
1052
|
+
**Ideal for cost efficiency with Gemini's massive context:**
|
|
954
1053
|
|
|
955
|
-
**
|
|
1054
|
+
**For Brownfield Projects - Start Here!**:
|
|
1055
|
+
1. **Upload entire project to Gemini Web** (GitHub URL, files, or zip)
|
|
1056
|
+
2. **Document existing system**: `/analyst` → `*document-project`
|
|
1057
|
+
3. **Creates comprehensive docs** from entire codebase analysis
|
|
956
1058
|
|
|
1059
|
+
**For All Projects**:
|
|
957
1060
|
1. **Optional Analysis**: `/analyst` - Market research, competitive analysis
|
|
958
1061
|
2. **Project Brief**: Create foundation document (Analyst or user)
|
|
959
1062
|
3. **PRD Creation**: `/pm create-doc prd` - Comprehensive product requirements
|
|
@@ -987,10 +1090,14 @@ that can handle [specific requirements]."
|
|
|
987
1090
|
|
|
988
1091
|
**Prerequisites**: Planning documents must exist in `docs/` folder
|
|
989
1092
|
|
|
990
|
-
1. **Document Sharding
|
|
991
|
-
-
|
|
992
|
-
-
|
|
993
|
-
|
|
1093
|
+
1. **Document Sharding** (CRITICAL STEP):
|
|
1094
|
+
- Documents created by PM/Architect (in Web or IDE) MUST be sharded for development
|
|
1095
|
+
- Two methods to shard:
|
|
1096
|
+
a) **Manual**: Drag `shard-doc` task + document file into chat
|
|
1097
|
+
b) **Agent**: Ask `@bmad-master` or `@po` to shard documents
|
|
1098
|
+
- Shards `docs/prd.md` → `docs/prd/` folder
|
|
1099
|
+
- Shards `docs/architecture.md` → `docs/architecture/` folder
|
|
1100
|
+
- **WARNING**: Do NOT shard in Web UI - copying many small files is painful!
|
|
994
1101
|
|
|
995
1102
|
2. **Verify Sharded Content**:
|
|
996
1103
|
- At least one `epic-n.md` file in `docs/prd/` with stories in development order
|
|
@@ -1004,19 +1111,34 @@ that can handle [specific requirements]."
|
|
|
1004
1111
|
|
|
1005
1112
|
3. **Development Cycle** (Sequential, one story at a time):
|
|
1006
1113
|
|
|
1007
|
-
**
|
|
1114
|
+
**CRITICAL CONTEXT MANAGEMENT**:
|
|
1115
|
+
- **Context windows matter!** Always use fresh, clean context windows
|
|
1116
|
+
- **Model selection matters!** Use most powerful thinking model for SM story creation
|
|
1117
|
+
- **ALWAYS start new chat between SM, Dev, and QA work**
|
|
1118
|
+
|
|
1119
|
+
**Step 1 - Story Creation**:
|
|
1120
|
+
- **NEW CLEAN CHAT** → Select powerful model → `@sm` → `*create`
|
|
1008
1121
|
- SM executes create-next-story task
|
|
1009
1122
|
- Review generated story in `docs/stories/`
|
|
1010
1123
|
- Update status from "Draft" to "Approved"
|
|
1011
1124
|
|
|
1012
|
-
**Step 2 - Story Implementation**:
|
|
1125
|
+
**Step 2 - Story Implementation**:
|
|
1126
|
+
- **NEW CLEAN CHAT** → `@dev`
|
|
1013
1127
|
- Agent asks which story to implement
|
|
1014
1128
|
- Include story file content to save dev agent lookup time
|
|
1015
1129
|
- Dev follows tasks/subtasks, marking completion
|
|
1016
|
-
- Dev
|
|
1017
|
-
-
|
|
1130
|
+
- Dev maintains File List of all changes
|
|
1131
|
+
- Dev marks story as "Review" when complete with all tests passing
|
|
1132
|
+
|
|
1133
|
+
**Step 3 - Senior QA Review**:
|
|
1134
|
+
- **NEW CLEAN CHAT** → `@qa` → execute review-story task
|
|
1135
|
+
- QA performs senior developer code review
|
|
1136
|
+
- QA can refactor and improve code directly
|
|
1137
|
+
- QA appends results to story's QA Results section
|
|
1138
|
+
- If approved: Status → "Done"
|
|
1139
|
+
- If changes needed: Status stays "Review" with unchecked items for dev
|
|
1018
1140
|
|
|
1019
|
-
**Step
|
|
1141
|
+
**Step 4 - Repeat**: Continue SM → Dev → QA cycle until all epic stories complete
|
|
1020
1142
|
|
|
1021
1143
|
**Important**: Only 1 story in progress at a time, worked sequentially until all epic stories complete.
|
|
1022
1144
|
|
|
@@ -1036,12 +1158,72 @@ Each status change requires user verification and approval before proceeding.
|
|
|
1036
1158
|
- Development execution
|
|
1037
1159
|
- Testing and deployment
|
|
1038
1160
|
|
|
1039
|
-
#### Brownfield Enhancement
|
|
1040
|
-
|
|
1041
|
-
|
|
1042
|
-
|
|
1043
|
-
|
|
1044
|
-
|
|
1161
|
+
#### Brownfield Enhancement (Existing Projects)
|
|
1162
|
+
|
|
1163
|
+
**Key Concept**: Brownfield development requires comprehensive documentation of your existing project for AI agents to understand context, patterns, and constraints.
|
|
1164
|
+
|
|
1165
|
+
**Complete Brownfield Workflow Options**:
|
|
1166
|
+
|
|
1167
|
+
**Option 1: PRD-First (Recommended for Large Codebases/Monorepos)**:
|
|
1168
|
+
1. **Upload project to Gemini Web** (GitHub URL, files, or zip)
|
|
1169
|
+
2. **Create PRD first**: `@pm` → `*create-doc brownfield-prd`
|
|
1170
|
+
3. **Focused documentation**: `@analyst` → `*document-project`
|
|
1171
|
+
- Analyst asks for focus if no PRD provided
|
|
1172
|
+
- Choose "single document" format for Web UI
|
|
1173
|
+
- Uses PRD to document ONLY relevant areas
|
|
1174
|
+
- Creates one comprehensive markdown file
|
|
1175
|
+
- Avoids bloating docs with unused code
|
|
1176
|
+
|
|
1177
|
+
**Option 2: Document-First (Good for Smaller Projects)**:
|
|
1178
|
+
1. **Upload project to Gemini Web**
|
|
1179
|
+
2. **Document everything**: `@analyst` → `*document-project`
|
|
1180
|
+
3. **Then create PRD**: `@pm` → `*create-doc brownfield-prd`
|
|
1181
|
+
- More thorough but can create excessive documentation
|
|
1182
|
+
|
|
1183
|
+
2. **Requirements Gathering**:
|
|
1184
|
+
- **Brownfield PRD**: Use PM agent with `brownfield-prd-tmpl`
|
|
1185
|
+
- **Analyzes**: Existing system, constraints, integration points
|
|
1186
|
+
- **Defines**: Enhancement scope, compatibility requirements, risk assessment
|
|
1187
|
+
- **Creates**: Epic and story structure for changes
|
|
1188
|
+
|
|
1189
|
+
3. **Architecture Planning**:
|
|
1190
|
+
- **Brownfield Architecture**: Use Architect agent with `brownfield-architecture-tmpl`
|
|
1191
|
+
- **Integration Strategy**: How new features integrate with existing system
|
|
1192
|
+
- **Migration Planning**: Gradual rollout and backwards compatibility
|
|
1193
|
+
- **Risk Mitigation**: Addressing potential breaking changes
|
|
1194
|
+
|
|
1195
|
+
**Brownfield-Specific Resources**:
|
|
1196
|
+
|
|
1197
|
+
**Templates**:
|
|
1198
|
+
- `brownfield-prd-tmpl.md`: Comprehensive enhancement planning with existing system analysis
|
|
1199
|
+
- `brownfield-architecture-tmpl.md`: Integration-focused architecture for existing systems
|
|
1200
|
+
|
|
1201
|
+
**Tasks**:
|
|
1202
|
+
- `document-project`: Generates comprehensive documentation from existing codebase
|
|
1203
|
+
- `brownfield-create-epic`: Creates single epic for focused enhancements (when full PRD is overkill)
|
|
1204
|
+
- `brownfield-create-story`: Creates individual story for small, isolated changes
|
|
1205
|
+
|
|
1206
|
+
**When to Use Each Approach**:
|
|
1207
|
+
|
|
1208
|
+
**Full Brownfield Workflow** (Recommended for):
|
|
1209
|
+
- Major feature additions
|
|
1210
|
+
- System modernization
|
|
1211
|
+
- Complex integrations
|
|
1212
|
+
- Multiple related changes
|
|
1213
|
+
|
|
1214
|
+
**Quick Epic/Story Creation** (Use when):
|
|
1215
|
+
- Single, focused enhancement
|
|
1216
|
+
- Isolated bug fixes
|
|
1217
|
+
- Small feature additions
|
|
1218
|
+
- Well-documented existing system
|
|
1219
|
+
|
|
1220
|
+
**Critical Success Factors**:
|
|
1221
|
+
1. **Documentation First**: Always run `document-project` if docs are outdated/missing
|
|
1222
|
+
2. **Context Matters**: Provide agents access to relevant code sections
|
|
1223
|
+
3. **Integration Focus**: Emphasize compatibility and non-breaking changes
|
|
1224
|
+
4. **Incremental Approach**: Plan for gradual rollout and testing
|
|
1225
|
+
|
|
1226
|
+
**For detailed guide**: See `docs/working-in-the-brownfield.md`
|
|
1045
1227
|
|
|
1046
1228
|
## Document Creation Best Practices
|
|
1047
1229
|
|
|
@@ -1122,12 +1304,94 @@ Use the `shard-doc` task or `@kayvan/markdown-tree-parser` tool for automatic sh
|
|
|
1122
1304
|
- **Keep conversations focused** - One agent, one task per conversation
|
|
1123
1305
|
- **Review everything** - Always review and approve before marking complete
|
|
1124
1306
|
|
|
1307
|
+
## Contributing to BMAD-METHOD
|
|
1308
|
+
|
|
1309
|
+
### Quick Contribution Guidelines
|
|
1310
|
+
|
|
1311
|
+
For full details, see `CONTRIBUTING.md`. Key points:
|
|
1312
|
+
|
|
1313
|
+
**Fork Workflow**:
|
|
1314
|
+
1. Fork the repository
|
|
1315
|
+
2. Create feature branches
|
|
1316
|
+
3. Submit PRs to `next` branch (default) or `main` for critical fixes only
|
|
1317
|
+
4. Keep PRs small: 200-400 lines ideal, 800 lines maximum
|
|
1318
|
+
5. One feature/fix per PR
|
|
1319
|
+
|
|
1320
|
+
**PR Requirements**:
|
|
1321
|
+
- Clear descriptions (max 200 words) with What/Why/How/Testing
|
|
1322
|
+
- Use conventional commits (feat:, fix:, docs:)
|
|
1323
|
+
- Atomic commits - one logical change per commit
|
|
1324
|
+
- Must align with guiding principles
|
|
1325
|
+
|
|
1326
|
+
**Core Principles** (from GUIDING-PRINCIPLES.md):
|
|
1327
|
+
- **Dev Agents Must Be Lean**: Minimize dependencies, save context for code
|
|
1328
|
+
- **Natural Language First**: Everything in markdown, no code in core
|
|
1329
|
+
- **Core vs Expansion Packs**: Core for universal needs, packs for specialized domains
|
|
1330
|
+
- **Design Philosophy**: "Dev agents code, planning agents plan"
|
|
1331
|
+
|
|
1332
|
+
## Expansion Packs
|
|
1333
|
+
|
|
1334
|
+
### What Are Expansion Packs?
|
|
1335
|
+
|
|
1336
|
+
Expansion packs extend BMAD-METHOD beyond traditional software development into ANY domain. They provide specialized agent teams, templates, and workflows while keeping the core framework lean and focused on development.
|
|
1337
|
+
|
|
1338
|
+
### Why Use Expansion Packs?
|
|
1339
|
+
|
|
1340
|
+
1. **Keep Core Lean**: Dev agents maintain maximum context for coding
|
|
1341
|
+
2. **Domain Expertise**: Deep, specialized knowledge without bloating core
|
|
1342
|
+
3. **Community Innovation**: Anyone can create and share packs
|
|
1343
|
+
4. **Modular Design**: Install only what you need
|
|
1344
|
+
|
|
1345
|
+
### Available Expansion Packs
|
|
1346
|
+
|
|
1347
|
+
**Technical Packs**:
|
|
1348
|
+
- **Infrastructure/DevOps**: Cloud architects, SRE experts, security specialists
|
|
1349
|
+
- **Game Development**: Game designers, level designers, narrative writers
|
|
1350
|
+
- **Mobile Development**: iOS/Android specialists, mobile UX experts
|
|
1351
|
+
- **Data Science**: ML engineers, data scientists, visualization experts
|
|
1352
|
+
|
|
1353
|
+
**Non-Technical Packs**:
|
|
1354
|
+
- **Business Strategy**: Consultants, financial analysts, marketing strategists
|
|
1355
|
+
- **Creative Writing**: Plot architects, character developers, world builders
|
|
1356
|
+
- **Health & Wellness**: Fitness trainers, nutritionists, habit engineers
|
|
1357
|
+
- **Education**: Curriculum designers, assessment specialists
|
|
1358
|
+
- **Legal Support**: Contract analysts, compliance checkers
|
|
1359
|
+
|
|
1360
|
+
**Specialty Packs**:
|
|
1361
|
+
- **Expansion Creator**: Tools to build your own expansion packs
|
|
1362
|
+
- **RPG Game Master**: Tabletop gaming assistance
|
|
1363
|
+
- **Life Event Planning**: Wedding planners, event coordinators
|
|
1364
|
+
- **Scientific Research**: Literature reviewers, methodology designers
|
|
1365
|
+
|
|
1366
|
+
### Using Expansion Packs
|
|
1367
|
+
|
|
1368
|
+
1. **Browse Available Packs**: Check `expansion-packs/` directory
|
|
1369
|
+
2. **Get Inspiration**: See `docs/expansion-pack-ideas.md` for detailed examples
|
|
1370
|
+
3. **Install via CLI**:
|
|
1371
|
+
```bash
|
|
1372
|
+
npx bmad-method install
|
|
1373
|
+
# Select "Install expansion pack" option
|
|
1374
|
+
```
|
|
1375
|
+
4. **Use in Your Workflow**: Installed packs integrate seamlessly with existing agents
|
|
1376
|
+
|
|
1377
|
+
### Creating Custom Expansion Packs
|
|
1378
|
+
|
|
1379
|
+
Use the **expansion-creator** pack to build your own:
|
|
1380
|
+
|
|
1381
|
+
1. **Define Domain**: What expertise are you capturing?
|
|
1382
|
+
2. **Design Agents**: Create specialized roles with clear boundaries
|
|
1383
|
+
3. **Build Resources**: Tasks, templates, checklists for your domain
|
|
1384
|
+
4. **Test & Share**: Validate with real use cases, share with community
|
|
1385
|
+
|
|
1386
|
+
**Key Principle**: Expansion packs democratize expertise by making specialized knowledge accessible through AI agents.
|
|
1387
|
+
|
|
1125
1388
|
## Getting Help
|
|
1126
1389
|
|
|
1127
1390
|
- **Commands**: Use `/help` in any environment to see available commands
|
|
1128
1391
|
- **Agent Switching**: Use `/switch agent-name` with orchestrator for role changes
|
|
1129
1392
|
- **Documentation**: Check `docs/` folder for project-specific context
|
|
1130
1393
|
- **Community**: Discord and GitHub resources available for support
|
|
1394
|
+
- **Contributing**: See `CONTRIBUTING.md` for full guidelines
|
|
1131
1395
|
==================== END: data#bmad-kb ====================
|
|
1132
1396
|
|
|
1133
1397
|
==================== START: utils#workflow-management ====================
|
|
@@ -1494,9 +1758,27 @@ The LLM will:
|
|
|
1494
1758
|
- Create a folder structure to organize the sharded documents
|
|
1495
1759
|
- Maintain all content integrity including code blocks, diagrams, and markdown formatting
|
|
1496
1760
|
|
|
1497
|
-
##
|
|
1761
|
+
## Primary Method: Automatic with markdown-tree
|
|
1762
|
+
|
|
1763
|
+
[[LLM: First, check if markdownExploder is set to true in bmad-core/core-config.yml. If it is, attempt to run the command: `md-tree explode {input file} {output path}`.
|
|
1764
|
+
|
|
1765
|
+
If the command succeeds, inform the user that the document has been sharded successfully and STOP - do not proceed further.
|
|
1766
|
+
|
|
1767
|
+
If the command fails (especially with an error indicating the command is not found or not available), inform the user: "The markdownExploder setting is enabled but the md-tree command is not available. Please either:
|
|
1768
|
+
|
|
1769
|
+
1. Install @kayvan/markdown-tree-parser globally with: `npm install -g @kayvan/markdown-tree-parser`
|
|
1770
|
+
2. Or set markdownExploder to false in bmad-core/core-config.yml
|
|
1498
1771
|
|
|
1499
|
-
|
|
1772
|
+
**IMPORTANT: STOP HERE - do not proceed with manual sharding until one of the above actions is taken.**"
|
|
1773
|
+
|
|
1774
|
+
If markdownExploder is set to false, inform the user: "The markdownExploder setting is currently false. For better performance and reliability, you should:
|
|
1775
|
+
|
|
1776
|
+
1. Set markdownExploder to true in bmad-core/core-config.yml
|
|
1777
|
+
2. Install @kayvan/markdown-tree-parser globally with: `npm install -g @kayvan/markdown-tree-parser`
|
|
1778
|
+
|
|
1779
|
+
I will now proceed with the manual sharding process."
|
|
1780
|
+
|
|
1781
|
+
Then proceed with the manual method below ONLY if markdownExploder is false.]]
|
|
1500
1782
|
|
|
1501
1783
|
### Installation and Usage
|
|
1502
1784
|
|
|
@@ -1529,19 +1811,19 @@ If the user has @kayvan/markdown-tree-parser installed, use it and skip the manu
|
|
|
1529
1811
|
|
|
1530
1812
|
---
|
|
1531
1813
|
|
|
1532
|
-
## Manual Method (if @kayvan/markdown-tree-parser is not available)
|
|
1814
|
+
## Manual Method (if @kayvan/markdown-tree-parser is not available or user indicated manual method)
|
|
1533
1815
|
|
|
1534
1816
|
[[LLM: Only proceed with the manual instructions below if the user cannot or does not want to use @kayvan/markdown-tree-parser.]]
|
|
1535
1817
|
|
|
1536
1818
|
### Task Instructions
|
|
1537
1819
|
|
|
1538
|
-
|
|
1820
|
+
1. Identify Document and Target Location
|
|
1539
1821
|
|
|
1540
1822
|
- Determine which document to shard (user-provided path)
|
|
1541
1823
|
- Create a new folder under `docs/` with the same name as the document (without extension)
|
|
1542
1824
|
- Example: `docs/prd.md` → create folder `docs/prd/`
|
|
1543
1825
|
|
|
1544
|
-
|
|
1826
|
+
2. Parse and Extract Sections
|
|
1545
1827
|
|
|
1546
1828
|
[[LLM: When sharding the document:
|
|
1547
1829
|
|
|
@@ -1551,7 +1833,7 @@ If the user has @kayvan/markdown-tree-parser installed, use it and skip the manu
|
|
|
1551
1833
|
- Extract the section heading and ALL content until the next level 2 section
|
|
1552
1834
|
- Include all subsections, code blocks, diagrams, lists, tables, etc.
|
|
1553
1835
|
- Be extremely careful with:
|
|
1554
|
-
- Fenced code blocks (```) - ensure you capture the full block including closing backticks
|
|
1836
|
+
- Fenced code blocks (```) - ensure you capture the full block including closing backticks and account for potential misleading level 2's that are actually part of a fenced section example
|
|
1555
1837
|
- Mermaid diagrams - preserve the complete diagram syntax
|
|
1556
1838
|
- Nested markdown elements
|
|
1557
1839
|
- Multi-line content that might contain ## inside code blocks
|
|
@@ -1570,7 +1852,7 @@ For each extracted section:
|
|
|
1570
1852
|
|
|
1571
1853
|
2. **Adjust heading levels**:
|
|
1572
1854
|
|
|
1573
|
-
- The level 2 heading becomes level 1 (# instead of ##)
|
|
1855
|
+
- The level 2 heading becomes level 1 (# instead of ##) in the sharded new document
|
|
1574
1856
|
- All subsection levels decrease by 1:
|
|
1575
1857
|
|
|
1576
1858
|
```txt
|
|
@@ -2105,6 +2387,10 @@ Manual Test Steps: [[LLM: Include how if possible the user can manually test the
|
|
|
2105
2387
|
[[LLM: (SM Agent) When Drafting Story, leave next prompt in place for dev agent to remove and update - remove this line to the SM]]
|
|
2106
2388
|
[[LLM: (Dev Agent) Anything the SM needs to know that deviated from the story that might impact drafting the next story.]]
|
|
2107
2389
|
|
|
2390
|
+
### File List
|
|
2391
|
+
|
|
2392
|
+
[[LLM: (Dev Agent) List every new file created, or existing file modified in a bullet list.]]
|
|
2393
|
+
|
|
2108
2394
|
### Change Log
|
|
2109
2395
|
|
|
2110
2396
|
[[LLM: (SM Agent) When Drafting Story, leave next prompt in place for dev agent to remove and update- remove this line to the SM]]
|
|
@@ -2112,6 +2398,10 @@ Manual Test Steps: [[LLM: Include how if possible the user can manually test the
|
|
|
2112
2398
|
|
|
2113
2399
|
| Date | Version | Description | Author |
|
|
2114
2400
|
| :--- | :------ | :---------- | :----- |
|
|
2401
|
+
|
|
2402
|
+
## QA Results
|
|
2403
|
+
|
|
2404
|
+
[[LLM: QA Agent Results]]
|
|
2115
2405
|
==================== END: templates#story-tmpl ====================
|
|
2116
2406
|
|
|
2117
2407
|
==================== START: checklists#po-master-checklist ====================
|
|
@@ -3261,6 +3551,144 @@ Be honest - it's better to flag issues now than have them discovered later.]]
|
|
|
3261
3551
|
- [ ] I, the Developer Agent, confirm that all applicable items above have been addressed.
|
|
3262
3552
|
==================== END: checklists#story-dod-checklist ====================
|
|
3263
3553
|
|
|
3554
|
+
==================== START: tasks#review-story ====================
|
|
3555
|
+
# review-story
|
|
3556
|
+
|
|
3557
|
+
When a developer marks a story as "Ready for Review", perform a comprehensive senior developer code review with the ability to refactor and improve code directly.
|
|
3558
|
+
|
|
3559
|
+
[[LLM: QA Agent executing review-story task as Senior Developer]]
|
|
3560
|
+
|
|
3561
|
+
## Prerequisites
|
|
3562
|
+
|
|
3563
|
+
- Story status must be "Review"
|
|
3564
|
+
- Developer has completed all tasks and updated the File List
|
|
3565
|
+
- All automated tests are passing
|
|
3566
|
+
|
|
3567
|
+
## Review Process
|
|
3568
|
+
|
|
3569
|
+
1. **Read the Complete Story**
|
|
3570
|
+
- Review all acceptance criteria
|
|
3571
|
+
- Understand the dev notes and requirements
|
|
3572
|
+
- Note any completion notes from the developer
|
|
3573
|
+
|
|
3574
|
+
2. **Focus on the File List**
|
|
3575
|
+
- Verify all files listed were actually created/modified
|
|
3576
|
+
- Check for any missing files that should have been updated
|
|
3577
|
+
|
|
3578
|
+
3. **Senior Developer Code Review**
|
|
3579
|
+
- Review code with the eye of a senior developer
|
|
3580
|
+
- If changes form a cohesive whole, review them together
|
|
3581
|
+
- If changes are independent, review incrementally file by file
|
|
3582
|
+
- Focus on:
|
|
3583
|
+
- Code architecture and design patterns
|
|
3584
|
+
- Refactoring opportunities
|
|
3585
|
+
- Code duplication or inefficiencies
|
|
3586
|
+
- Performance optimizations
|
|
3587
|
+
- Security concerns
|
|
3588
|
+
- Best practices and patterns
|
|
3589
|
+
|
|
3590
|
+
4. **Active Refactoring**
|
|
3591
|
+
- As a senior developer, you CAN and SHOULD refactor code where improvements are needed
|
|
3592
|
+
- When refactoring:
|
|
3593
|
+
- Make the changes directly in the files
|
|
3594
|
+
- Explain WHY you're making the change
|
|
3595
|
+
- Describe HOW the change improves the code
|
|
3596
|
+
- Ensure all tests still pass after refactoring
|
|
3597
|
+
- Update the File List if you modify additional files
|
|
3598
|
+
|
|
3599
|
+
5. **Standards Compliance Check**
|
|
3600
|
+
- Verify adherence to `docs/coding-standards.md`
|
|
3601
|
+
- Check compliance with `docs/unified-project-structure.md`
|
|
3602
|
+
- Validate testing approach against `docs/testing-strategy.md`
|
|
3603
|
+
- Ensure all guidelines mentioned in the story are followed
|
|
3604
|
+
|
|
3605
|
+
6. **Acceptance Criteria Validation**
|
|
3606
|
+
- Verify each AC is fully implemented
|
|
3607
|
+
- Check for any missing functionality
|
|
3608
|
+
- Validate edge cases are handled
|
|
3609
|
+
|
|
3610
|
+
7. **Test Coverage Review**
|
|
3611
|
+
- Ensure unit tests cover edge cases
|
|
3612
|
+
- Add missing tests if critical coverage is lacking
|
|
3613
|
+
- Verify integration tests (if required) are comprehensive
|
|
3614
|
+
- Check that test assertions are meaningful
|
|
3615
|
+
- Look for missing test scenarios
|
|
3616
|
+
|
|
3617
|
+
8. **Documentation and Comments**
|
|
3618
|
+
- Verify code is self-documenting where possible
|
|
3619
|
+
- Add comments for complex logic if missing
|
|
3620
|
+
- Ensure any API changes are documented
|
|
3621
|
+
|
|
3622
|
+
## Append Results to Story File
|
|
3623
|
+
|
|
3624
|
+
After review and any refactoring, append your results to the story file in the QA Results section:
|
|
3625
|
+
|
|
3626
|
+
```markdown
|
|
3627
|
+
## QA Results
|
|
3628
|
+
|
|
3629
|
+
### Review Date: [Date]
|
|
3630
|
+
### Reviewed By: Quinn (Senior Developer QA)
|
|
3631
|
+
|
|
3632
|
+
### Code Quality Assessment
|
|
3633
|
+
[Overall assessment of implementation quality]
|
|
3634
|
+
|
|
3635
|
+
### Refactoring Performed
|
|
3636
|
+
[List any refactoring you performed with explanations]
|
|
3637
|
+
- **File**: [filename]
|
|
3638
|
+
- **Change**: [what was changed]
|
|
3639
|
+
- **Why**: [reason for change]
|
|
3640
|
+
- **How**: [how it improves the code]
|
|
3641
|
+
|
|
3642
|
+
### Compliance Check
|
|
3643
|
+
- Coding Standards: [✓/✗] [notes if any]
|
|
3644
|
+
- Project Structure: [✓/✗] [notes if any]
|
|
3645
|
+
- Testing Strategy: [✓/✗] [notes if any]
|
|
3646
|
+
- All ACs Met: [✓/✗] [notes if any]
|
|
3647
|
+
|
|
3648
|
+
### Improvements Checklist
|
|
3649
|
+
[Check off items you handled yourself, leave unchecked for dev to address]
|
|
3650
|
+
|
|
3651
|
+
- [x] Refactored user service for better error handling (services/user.service.ts)
|
|
3652
|
+
- [x] Added missing edge case tests (services/user.service.test.ts)
|
|
3653
|
+
- [ ] Consider extracting validation logic to separate validator class
|
|
3654
|
+
- [ ] Add integration test for error scenarios
|
|
3655
|
+
- [ ] Update API documentation for new error codes
|
|
3656
|
+
|
|
3657
|
+
### Security Review
|
|
3658
|
+
[Any security concerns found and whether addressed]
|
|
3659
|
+
|
|
3660
|
+
### Performance Considerations
|
|
3661
|
+
[Any performance issues found and whether addressed]
|
|
3662
|
+
|
|
3663
|
+
### Final Status
|
|
3664
|
+
[✓ Approved - Ready for Done] / [✗ Changes Required - See unchecked items above]
|
|
3665
|
+
```
|
|
3666
|
+
|
|
3667
|
+
## Key Principles
|
|
3668
|
+
|
|
3669
|
+
- You are a SENIOR developer reviewing junior/mid-level work
|
|
3670
|
+
- You have the authority and responsibility to improve code directly
|
|
3671
|
+
- Always explain your changes for learning purposes
|
|
3672
|
+
- Balance between perfection and pragmatism
|
|
3673
|
+
- Focus on significant improvements, not nitpicks
|
|
3674
|
+
|
|
3675
|
+
## Blocking Conditions
|
|
3676
|
+
|
|
3677
|
+
Stop the review and request clarification if:
|
|
3678
|
+
- Story file is incomplete or missing critical sections
|
|
3679
|
+
- File List is empty or clearly incomplete
|
|
3680
|
+
- No tests exist when they were required
|
|
3681
|
+
- Code changes don't align with story requirements
|
|
3682
|
+
- Critical architectural issues that require discussion
|
|
3683
|
+
|
|
3684
|
+
## Completion
|
|
3685
|
+
|
|
3686
|
+
After review:
|
|
3687
|
+
1. If all items are checked and approved: Update story status to "Done"
|
|
3688
|
+
2. If unchecked items remain: Keep status as "Review" for dev to address
|
|
3689
|
+
3. Always provide constructive feedback and explanations for learning
|
|
3690
|
+
==================== END: tasks#review-story ====================
|
|
3691
|
+
|
|
3264
3692
|
==================== START: data#technical-preferences ====================
|
|
3265
3693
|
# User-Defined Preferred Patterns and Preferences
|
|
3266
3694
|
|