bmad-method 4.28.0 → 4.29.0
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 +7 -0
- package/bmad-core/agents/bmad-master.md +0 -2
- package/bmad-core/agents/bmad-orchestrator.md +0 -3
- package/bmad-core/core-config.yaml +1 -5
- package/bmad-core/data/bmad-kb.md +2 -2
- package/bmad-core/tasks/correct-course.md +9 -12
- package/bmad-core/tasks/create-brownfield-story.md +10 -61
- package/bmad-core/tasks/create-deep-research-prompt.md +5 -17
- package/bmad-core/tasks/create-next-story.md +3 -4
- package/bmad-core/tasks/document-project.md +37 -13
- package/bmad-core/tasks/facilitate-brainstorming-session.md +1 -1
- package/bmad-core/tasks/generate-ai-frontend-prompt.md +1 -1
- package/bmad-core/tasks/kb-mode-interaction.md +8 -3
- package/bmad-core/tasks/review-story.md +3 -3
- package/bmad-core/tasks/shard-doc.md +5 -9
- package/common/tasks/create-doc.md +4 -0
- package/dist/agents/analyst.txt +43 -31
- package/dist/agents/architect.txt +42 -30
- package/dist/agents/bmad-master.txt +61 -602
- package/dist/agents/bmad-orchestrator.txt +7 -548
- package/dist/agents/pm.txt +19 -38
- package/dist/agents/po.txt +14 -21
- package/dist/agents/qa.txt +3 -3
- package/dist/agents/sm.txt +11 -15
- package/dist/agents/ux-expert.txt +6 -18
- package/dist/expansion-packs/bmad-2d-phaser-game-dev/agents/game-designer.txt +5 -17
- package/dist/expansion-packs/bmad-2d-phaser-game-dev/teams/phaser-2d-nodejs-game-team.txt +50 -579
- package/dist/expansion-packs/bmad-creator-tools/agents/bmad-the-creator.txt +5 -17
- package/dist/teams/team-all.txt +70 -607
- package/dist/teams/team-fullstack.txt +65 -601
- package/dist/teams/team-ide-minimal.txt +26 -575
- package/dist/teams/team-no-ui.txt +64 -600
- package/expansion-packs/bmad-2d-phaser-game-dev/config.yaml +1 -0
- package/expansion-packs/bmad-creator-tools/config.yaml +1 -0
- package/expansion-packs/bmad-infrastructure-devops/config.yaml +1 -0
- package/package.json +1 -1
- package/tools/installer/lib/ide-setup.js +325 -12
- package/tools/installer/package.json +1 -1
- package/bmad-core/tasks/create-workflow-plan.md +0 -289
- package/bmad-core/tasks/doc-migration-task.md +0 -143
- package/bmad-core/tasks/update-workflow-plan.md +0 -248
package/dist/teams/team-all.txt
CHANGED
|
@@ -168,7 +168,6 @@ workflow-guidance:
|
|
|
168
168
|
- Understand each workflow's purpose, options, and decision points
|
|
169
169
|
- Ask clarifying questions based on the workflow's structure
|
|
170
170
|
- Guide users through workflow selection when multiple options exist
|
|
171
|
-
- For complex projects, offer to create a workflow plan using create-workflow-plan task
|
|
172
171
|
- When appropriate, suggest: Would you like me to create a detailed workflow plan before starting?
|
|
173
172
|
- For workflows with divergent paths, help users choose the right path
|
|
174
173
|
- Adapt questions to the specific domain (e.g., game dev vs infrastructure vs web dev)
|
|
@@ -178,9 +177,7 @@ dependencies:
|
|
|
178
177
|
tasks:
|
|
179
178
|
- advanced-elicitation.md
|
|
180
179
|
- create-doc.md
|
|
181
|
-
- create-workflow-plan.md
|
|
182
180
|
- kb-mode-interaction.md
|
|
183
|
-
- update-workflow-plan.md
|
|
184
181
|
data:
|
|
185
182
|
- bmad-kb.md
|
|
186
183
|
- elicitation-methods.md
|
|
@@ -839,302 +836,11 @@ User can type `#yolo` to toggle to YOLO mode (process all sections at once).
|
|
|
839
836
|
- End with "Select 1-9 or just type your question/feedback:"
|
|
840
837
|
==================== END: .bmad-core/tasks/create-doc.md ====================
|
|
841
838
|
|
|
842
|
-
==================== START: .bmad-core/tasks/create-workflow-plan.md ====================
|
|
843
|
-
# Create Workflow Plan Task
|
|
844
|
-
|
|
845
|
-
## Purpose
|
|
846
|
-
|
|
847
|
-
Guide users through workflow selection and create a detailed plan document that outlines the selected workflow steps, decision points, and expected outputs. This task helps users understand what will happen before starting a complex workflow and provides a checklist to track progress.
|
|
848
|
-
|
|
849
|
-
## Task Instructions
|
|
850
|
-
|
|
851
|
-
### 1. Understand User's Goal
|
|
852
|
-
|
|
853
|
-
[[LLM: Start with discovery questions to understand what the user wants to accomplish]]
|
|
854
|
-
|
|
855
|
-
Ask the user:
|
|
856
|
-
|
|
857
|
-
1. **Project Type**:
|
|
858
|
-
- Are you starting a new project (greenfield) or enhancing an existing one (brownfield)?
|
|
859
|
-
- What type of application? (web app, service/API, UI only, full-stack)
|
|
860
|
-
|
|
861
|
-
2. **For Greenfield**:
|
|
862
|
-
- Do you need a quick prototype or production-ready application?
|
|
863
|
-
- Will this have a UI component?
|
|
864
|
-
- Single service or multiple services?
|
|
865
|
-
|
|
866
|
-
3. **For Brownfield**:
|
|
867
|
-
- What's the scope of the enhancement?
|
|
868
|
-
- Single bug fix or small feature (few hours)
|
|
869
|
-
- Small enhancement (1-3 stories)
|
|
870
|
-
- Major feature requiring coordination
|
|
871
|
-
- Architectural changes or modernization
|
|
872
|
-
- Do you have existing documentation?
|
|
873
|
-
- Are you following existing patterns or introducing new ones?
|
|
874
|
-
|
|
875
|
-
### 2. Recommend Appropriate Workflow
|
|
876
|
-
|
|
877
|
-
Based on the answers, recommend:
|
|
878
|
-
|
|
879
|
-
**Greenfield Options:**
|
|
880
|
-
|
|
881
|
-
- `greenfield-fullstack` - Complete web application
|
|
882
|
-
- `greenfield-service` - Backend API/service only
|
|
883
|
-
- `greenfield-ui` - Frontend only
|
|
884
|
-
|
|
885
|
-
**Brownfield Options:**
|
|
886
|
-
|
|
887
|
-
- `brownfield-create-story` - Single small change
|
|
888
|
-
- `brownfield-create-epic` - Small feature (1-3 stories)
|
|
889
|
-
- `brownfield-fullstack` - Major enhancement
|
|
890
|
-
|
|
891
|
-
**Simplified Option:**
|
|
892
|
-
|
|
893
|
-
- For users unsure or wanting flexibility, suggest starting with individual agent tasks
|
|
894
|
-
|
|
895
|
-
### 3. Explain Selected Workflow
|
|
896
|
-
|
|
897
|
-
[[LLM: Once workflow is selected, provide clear explanation]]
|
|
898
|
-
|
|
899
|
-
For the selected workflow, explain:
|
|
900
|
-
|
|
901
|
-
1. **Overview**: What this workflow accomplishes
|
|
902
|
-
2. **Duration**: Estimated time for planning phase
|
|
903
|
-
3. **Outputs**: What documents will be created
|
|
904
|
-
4. **Decision Points**: Where user input will be needed
|
|
905
|
-
5. **Requirements**: What information should be ready
|
|
906
|
-
|
|
907
|
-
### 4. Create Workflow Plan Document
|
|
908
|
-
|
|
909
|
-
[[LLM: Generate a comprehensive plan document with the following structure]]
|
|
910
|
-
|
|
911
|
-
```markdown
|
|
912
|
-
# Workflow Plan: {{Workflow Name}}
|
|
913
|
-
|
|
914
|
-
<!-- WORKFLOW-PLAN-META
|
|
915
|
-
workflow-id: {{workflow-id}}
|
|
916
|
-
status: active
|
|
917
|
-
created: {{ISO-8601 timestamp}}
|
|
918
|
-
updated: {{ISO-8601 timestamp}}
|
|
919
|
-
version: 1.0
|
|
920
|
-
-->
|
|
921
|
-
|
|
922
|
-
**Created Date**: {{current date}}
|
|
923
|
-
**Project**: {{project name}}
|
|
924
|
-
**Type**: {{greenfield/brownfield}}
|
|
925
|
-
**Status**: Active
|
|
926
|
-
**Estimated Planning Duration**: {{time estimate}}
|
|
927
|
-
|
|
928
|
-
## Objective
|
|
929
|
-
|
|
930
|
-
{{Clear description of what will be accomplished}}
|
|
931
|
-
|
|
932
|
-
## Selected Workflow
|
|
933
|
-
|
|
934
|
-
**Workflow**: `{{workflow-id}}`
|
|
935
|
-
**Reason**: {{Why this workflow fits the user's needs}}
|
|
936
|
-
|
|
937
|
-
## Workflow Steps
|
|
938
|
-
|
|
939
|
-
### Planning Phase
|
|
940
|
-
|
|
941
|
-
- [ ] Step 1: {{step name}} <!-- step-id: 1.1, agent: {{agent}}, task: {{task}} -->
|
|
942
|
-
- **Agent**: {{agent name}}
|
|
943
|
-
- **Action**: {{what happens}}
|
|
944
|
-
- **Output**: {{what's created}}
|
|
945
|
-
- **User Input**: {{if any}}
|
|
946
|
-
|
|
947
|
-
- [ ] Step 2: {{step name}} <!-- step-id: 1.2, agent: {{agent}}, task: {{task}} -->
|
|
948
|
-
- **Agent**: {{agent name}}
|
|
949
|
-
- **Action**: {{what happens}}
|
|
950
|
-
- **Output**: {{what's created}}
|
|
951
|
-
- **Decision Point**: {{if any}} <!-- decision-id: D1 -->
|
|
952
|
-
|
|
953
|
-
{{Continue for all planning steps}}
|
|
954
|
-
|
|
955
|
-
### Development Phase (IDE)
|
|
956
|
-
|
|
957
|
-
- [ ] Document Sharding <!-- step-id: 2.1, agent: po, task: shard-doc -->
|
|
958
|
-
- Prepare documents for story creation
|
|
959
|
-
|
|
960
|
-
- [ ] Story Development Cycle <!-- step-id: 2.2, repeats: true -->
|
|
961
|
-
- [ ] Create story (SM agent) <!-- step-id: 2.2.1, agent: sm, task: create-next-story -->
|
|
962
|
-
- [ ] Review story (optional) <!-- step-id: 2.2.2, agent: analyst, optional: true -->
|
|
963
|
-
- [ ] Implement story (Dev agent) <!-- step-id: 2.2.3, agent: dev -->
|
|
964
|
-
- [ ] QA review (optional) <!-- step-id: 2.2.4, agent: qa, optional: true -->
|
|
965
|
-
- [ ] Repeat for all stories
|
|
966
|
-
|
|
967
|
-
- [ ] Epic Retrospective (optional) <!-- step-id: 2.3, agent: po, optional: true -->
|
|
968
|
-
|
|
969
|
-
## Key Decision Points
|
|
970
|
-
|
|
971
|
-
1. **{{Decision Name}}** (Step {{n}}): <!-- decision-id: D1, status: pending -->
|
|
972
|
-
- Trigger: {{what causes this decision}}
|
|
973
|
-
- Options: {{available choices}}
|
|
974
|
-
- Impact: {{how it affects the workflow}}
|
|
975
|
-
- Decision Made: _Pending_
|
|
976
|
-
|
|
977
|
-
{{List all decision points}}
|
|
978
|
-
|
|
979
|
-
## Expected Outputs
|
|
980
|
-
|
|
981
|
-
### Planning Documents
|
|
982
|
-
- [ ] {{document 1}} - {{description}}
|
|
983
|
-
- [ ] {{document 2}} - {{description}}
|
|
984
|
-
{{etc...}}
|
|
985
|
-
|
|
986
|
-
### Development Artifacts
|
|
987
|
-
- [ ] Stories in `docs/stories/`
|
|
988
|
-
- [ ] Implementation code
|
|
989
|
-
- [ ] Tests
|
|
990
|
-
- [ ] Updated documentation
|
|
991
|
-
|
|
992
|
-
## Prerequisites Checklist
|
|
993
|
-
|
|
994
|
-
Before starting this workflow, ensure you have:
|
|
995
|
-
|
|
996
|
-
- [ ] {{prerequisite 1}}
|
|
997
|
-
- [ ] {{prerequisite 2}}
|
|
998
|
-
- [ ] {{prerequisite 3}}
|
|
999
|
-
{{etc...}}
|
|
1000
|
-
|
|
1001
|
-
## Customization Options
|
|
1002
|
-
|
|
1003
|
-
Based on your project needs, you may:
|
|
1004
|
-
- Skip {{optional step}} if {{condition}}
|
|
1005
|
-
- Add {{additional step}} if {{condition}}
|
|
1006
|
-
- Choose {{alternative}} instead of {{default}}
|
|
1007
|
-
|
|
1008
|
-
## Risk Considerations
|
|
1009
|
-
|
|
1010
|
-
{{For brownfield only}}
|
|
1011
|
-
- Integration complexity: {{assessment}}
|
|
1012
|
-
- Rollback strategy: {{approach}}
|
|
1013
|
-
- Testing requirements: {{special needs}}
|
|
1014
|
-
|
|
1015
|
-
## Next Steps
|
|
1016
|
-
|
|
1017
|
-
1. Review this plan and confirm it matches your expectations
|
|
1018
|
-
2. Gather any missing prerequisites
|
|
1019
|
-
3. Start workflow with: `*task workflow {{workflow-id}}`
|
|
1020
|
-
4. Or begin with first agent: `@{{first-agent}}`
|
|
1021
|
-
|
|
1022
|
-
## Notes
|
|
1023
|
-
|
|
1024
|
-
{{Any additional context or warnings}}
|
|
1025
|
-
|
|
1026
|
-
---
|
|
1027
|
-
*This plan can be updated as you progress through the workflow. Check off completed items to track progress.*
|
|
1028
|
-
```
|
|
1029
|
-
|
|
1030
|
-
### 5. Save and Present Plan
|
|
1031
|
-
|
|
1032
|
-
1. Save the plan as `docs/workflow-plan.md`
|
|
1033
|
-
2. Inform user: "Workflow plan created at docs/workflow-plan.md"
|
|
1034
|
-
3. Offer options:
|
|
1035
|
-
- Review the plan together
|
|
1036
|
-
- Start the workflow now
|
|
1037
|
-
- Gather prerequisites first
|
|
1038
|
-
- Modify the plan
|
|
1039
|
-
|
|
1040
|
-
### 6. Plan Variations
|
|
1041
|
-
|
|
1042
|
-
[[LLM: Adjust plan detail based on workflow complexity]]
|
|
1043
|
-
|
|
1044
|
-
**For Simple Workflows** (create-story, create-epic):
|
|
1045
|
-
|
|
1046
|
-
- Simpler checklist format
|
|
1047
|
-
- Focus on immediate next steps
|
|
1048
|
-
- Less detailed explanations
|
|
1049
|
-
|
|
1050
|
-
**For Complex Workflows** (full greenfield/brownfield):
|
|
1051
|
-
|
|
1052
|
-
- Detailed step breakdowns
|
|
1053
|
-
- All decision points documented
|
|
1054
|
-
- Comprehensive output descriptions
|
|
1055
|
-
- Risk mitigation sections
|
|
1056
|
-
|
|
1057
|
-
**For Brownfield Workflows**:
|
|
1058
|
-
|
|
1059
|
-
- Include existing system impact analysis
|
|
1060
|
-
- Document integration checkpoints
|
|
1061
|
-
- Add rollback considerations
|
|
1062
|
-
- Note documentation dependencies
|
|
1063
|
-
|
|
1064
|
-
### 7. Interactive Planning Mode
|
|
1065
|
-
|
|
1066
|
-
[[LLM: If user wants to customize the workflow]]
|
|
1067
|
-
|
|
1068
|
-
If user wants to modify the standard workflow:
|
|
1069
|
-
|
|
1070
|
-
1. Present workflow steps as options
|
|
1071
|
-
2. Allow skipping optional steps
|
|
1072
|
-
3. Let user reorder certain steps
|
|
1073
|
-
4. Document customizations in plan
|
|
1074
|
-
5. Warn about dependencies if steps are skipped
|
|
1075
|
-
|
|
1076
|
-
### 8. Execution Guidance
|
|
1077
|
-
|
|
1078
|
-
After plan is created, provide clear guidance:
|
|
1079
|
-
|
|
1080
|
-
```text
|
|
1081
|
-
Your workflow plan is ready! Here's how to proceed:
|
|
1082
|
-
|
|
1083
|
-
1. **Review the plan**: Check that all steps align with your goals
|
|
1084
|
-
2. **Gather prerequisites**: Use the checklist to ensure you're ready
|
|
1085
|
-
3. **Start execution**:
|
|
1086
|
-
- Full workflow: `*task workflow {{workflow-id}}`
|
|
1087
|
-
- Step by step: Start with `@{{first-agent}}`
|
|
1088
|
-
4. **Track progress**: Check off steps in the plan as completed
|
|
1089
|
-
|
|
1090
|
-
Would you like to:
|
|
1091
|
-
a) Review the plan together
|
|
1092
|
-
b) Start the workflow now
|
|
1093
|
-
c) Gather prerequisites first
|
|
1094
|
-
d) Modify the plan
|
|
1095
|
-
```
|
|
1096
|
-
|
|
1097
|
-
## Success Criteria
|
|
1098
|
-
|
|
1099
|
-
The workflow plan is successful when:
|
|
1100
|
-
|
|
1101
|
-
1. User clearly understands what will happen
|
|
1102
|
-
2. All decision points are documented
|
|
1103
|
-
3. Prerequisites are identified
|
|
1104
|
-
4. Expected outputs are clear
|
|
1105
|
-
5. User feels confident to proceed
|
|
1106
|
-
6. Plan serves as useful progress tracker
|
|
1107
|
-
|
|
1108
|
-
## Integration with BMad Master and Orchestrator
|
|
1109
|
-
|
|
1110
|
-
When used by BMad Master or BMad Orchestrator, this task should:
|
|
1111
|
-
|
|
1112
|
-
1. Be offered when user asks about workflows
|
|
1113
|
-
2. Be suggested before starting complex workflows
|
|
1114
|
-
3. Create a plan that the agent can reference during execution
|
|
1115
|
-
4. Allow the agent to track progress against the plan
|
|
1116
|
-
|
|
1117
|
-
## Example Usage
|
|
1118
|
-
|
|
1119
|
-
```text
|
|
1120
|
-
User: "I need to add a payment system to my existing app"
|
|
1121
|
-
|
|
1122
|
-
BMad Orchestrator: "Let me help you create a workflow plan for that enhancement. I'll ask a few questions to recommend the best approach..."
|
|
1123
|
-
|
|
1124
|
-
[Runs through discovery questions]
|
|
1125
|
-
|
|
1126
|
-
BMad Orchestrator: "Based on your answers, I recommend the brownfield-fullstack workflow. Let me create a detailed plan for you..."
|
|
1127
|
-
|
|
1128
|
-
[Creates and saves plan]
|
|
1129
|
-
|
|
1130
|
-
BMad Orchestrator: "I've created a workflow plan at docs/workflow-plan.md. This shows all the steps we'll go through, what documents will be created, and where you'll need to make decisions. Would you like to review it together?"
|
|
1131
|
-
```
|
|
1132
|
-
==================== END: .bmad-core/tasks/create-workflow-plan.md ====================
|
|
1133
|
-
|
|
1134
839
|
==================== START: .bmad-core/tasks/kb-mode-interaction.md ====================
|
|
1135
840
|
# KB Mode Interaction Task
|
|
1136
841
|
|
|
1137
842
|
## Purpose
|
|
843
|
+
|
|
1138
844
|
Provide a user-friendly interface to the BMad knowledge base without overwhelming users with information upfront.
|
|
1139
845
|
|
|
1140
846
|
## Instructions
|
|
@@ -1142,11 +848,11 @@ Provide a user-friendly interface to the BMad knowledge base without overwhelmin
|
|
|
1142
848
|
When entering KB mode (*kb-mode), follow these steps:
|
|
1143
849
|
|
|
1144
850
|
### 1. Welcome and Guide
|
|
1145
|
-
Announce entering KB mode with a brief, friendly introduction:
|
|
1146
851
|
|
|
1147
|
-
|
|
852
|
+
Announce entering KB mode with a brief, friendly introduction.
|
|
1148
853
|
|
|
1149
854
|
### 2. Present Topic Areas
|
|
855
|
+
|
|
1150
856
|
Offer a concise list of main topic areas the user might want to explore:
|
|
1151
857
|
|
|
1152
858
|
**What would you like to know more about?**
|
|
@@ -1163,19 +869,23 @@ Offer a concise list of main topic areas the user might want to explore:
|
|
|
1163
869
|
Or ask me about anything else related to BMad-Method!
|
|
1164
870
|
|
|
1165
871
|
### 3. Respond Contextually
|
|
872
|
+
|
|
1166
873
|
- Wait for user's specific question or topic selection
|
|
1167
874
|
- Provide focused, relevant information from the knowledge base
|
|
1168
875
|
- Offer to dive deeper or explore related topics
|
|
1169
876
|
- Keep responses concise unless user asks for detailed explanations
|
|
1170
877
|
|
|
1171
878
|
### 4. Interactive Exploration
|
|
879
|
+
|
|
1172
880
|
- After answering, suggest related topics they might find helpful
|
|
1173
881
|
- Maintain conversational flow rather than data dumping
|
|
1174
882
|
- Use examples when appropriate
|
|
1175
883
|
- Reference specific documentation sections when relevant
|
|
1176
884
|
|
|
1177
885
|
### 5. Exit Gracefully
|
|
886
|
+
|
|
1178
887
|
When user is done or wants to exit KB mode:
|
|
888
|
+
|
|
1179
889
|
- Summarize key points discussed if helpful
|
|
1180
890
|
- Remind them they can return to KB mode anytime with *kb-mode
|
|
1181
891
|
- Suggest next steps based on what was discussed
|
|
@@ -1204,257 +914,6 @@ Or ask me about anything else related to BMad-Method!
|
|
|
1204
914
|
**Assistant**: [Provides focused information about workflows from the KB, then offers to explore specific workflow types or related topics]
|
|
1205
915
|
==================== END: .bmad-core/tasks/kb-mode-interaction.md ====================
|
|
1206
916
|
|
|
1207
|
-
==================== START: .bmad-core/tasks/update-workflow-plan.md ====================
|
|
1208
|
-
# Update Workflow Plan Task
|
|
1209
|
-
|
|
1210
|
-
## Purpose
|
|
1211
|
-
|
|
1212
|
-
Update the status of steps in an active workflow plan, mark completions, add notes about deviations, and maintain an accurate record of workflow progress. This task can be called directly by users or automatically by other tasks upon completion.
|
|
1213
|
-
|
|
1214
|
-
## Task Instructions
|
|
1215
|
-
|
|
1216
|
-
### 0. Load Plan Configuration
|
|
1217
|
-
|
|
1218
|
-
[[LLM: First load core-config.yaml to get plan settings]]
|
|
1219
|
-
|
|
1220
|
-
Check workflow configuration:
|
|
1221
|
-
|
|
1222
|
-
- `workflow.planFile` - Location of the plan (default: docs/workflow-plan.md)
|
|
1223
|
-
- `workflow.trackProgress` - Whether tracking is enabled
|
|
1224
|
-
- `workflow.updateOnCompletion` - Whether to auto-update on task completion
|
|
1225
|
-
|
|
1226
|
-
If tracking is disabled, inform user and exit.
|
|
1227
|
-
|
|
1228
|
-
### 1. Verify Plan Exists
|
|
1229
|
-
|
|
1230
|
-
[[LLM: Check if workflow plan exists at configured location]]
|
|
1231
|
-
|
|
1232
|
-
If no plan exists:
|
|
1233
|
-
|
|
1234
|
-
```
|
|
1235
|
-
No active workflow plan found at {location}.
|
|
1236
|
-
Would you like to create one? Use *plan command.
|
|
1237
|
-
```
|
|
1238
|
-
|
|
1239
|
-
### 2. Determine Update Type
|
|
1240
|
-
|
|
1241
|
-
[[LLM: Ask user what type of update they want to make]]
|
|
1242
|
-
|
|
1243
|
-
Present options:
|
|
1244
|
-
|
|
1245
|
-
```
|
|
1246
|
-
What would you like to update in the workflow plan?
|
|
1247
|
-
|
|
1248
|
-
1. Mark step as complete
|
|
1249
|
-
2. Update current step
|
|
1250
|
-
3. Add deviation note
|
|
1251
|
-
4. Mark decision point resolution
|
|
1252
|
-
5. Update overall status
|
|
1253
|
-
6. View current plan status only
|
|
1254
|
-
|
|
1255
|
-
Please select an option (1-6):
|
|
1256
|
-
```
|
|
1257
|
-
|
|
1258
|
-
### 3. Parse Current Plan
|
|
1259
|
-
|
|
1260
|
-
[[LLM: Read and parse the plan to understand current state]]
|
|
1261
|
-
|
|
1262
|
-
Extract:
|
|
1263
|
-
|
|
1264
|
-
- All steps with their checkbox status
|
|
1265
|
-
- Step IDs from comments (if present)
|
|
1266
|
-
- Current completion percentage
|
|
1267
|
-
- Any existing deviation notes
|
|
1268
|
-
- Decision points and their status
|
|
1269
|
-
|
|
1270
|
-
### 4. Execute Updates
|
|
1271
|
-
|
|
1272
|
-
#### 4.1 Mark Step Complete
|
|
1273
|
-
|
|
1274
|
-
If user selected option 1:
|
|
1275
|
-
|
|
1276
|
-
1. Show numbered list of incomplete steps
|
|
1277
|
-
2. Ask which step to mark complete
|
|
1278
|
-
3. Update the checkbox from `[ ]` to `[x]`
|
|
1279
|
-
4. Add completion timestamp: `<!-- completed: YYYY-MM-DD HH:MM -->`
|
|
1280
|
-
5. If this was the current step, identify next step
|
|
1281
|
-
|
|
1282
|
-
#### 4.2 Update Current Step
|
|
1283
|
-
|
|
1284
|
-
If user selected option 2:
|
|
1285
|
-
|
|
1286
|
-
1. Show all steps with current status
|
|
1287
|
-
2. Ask which step is now current
|
|
1288
|
-
3. Add/move `<!-- current-step -->` marker
|
|
1289
|
-
4. Optionally add note about why sequence changed
|
|
1290
|
-
|
|
1291
|
-
#### 4.3 Add Deviation Note
|
|
1292
|
-
|
|
1293
|
-
If user selected option 3:
|
|
1294
|
-
|
|
1295
|
-
1. Ask for deviation description
|
|
1296
|
-
2. Ask which step this relates to (or general)
|
|
1297
|
-
3. Insert note in appropriate location:
|
|
1298
|
-
|
|
1299
|
-
```markdown
|
|
1300
|
-
> **Deviation Note** (YYYY-MM-DD): {user_note}
|
|
1301
|
-
> Related to: Step X.Y or General workflow
|
|
1302
|
-
```
|
|
1303
|
-
|
|
1304
|
-
#### 4.4 Mark Decision Resolution
|
|
1305
|
-
|
|
1306
|
-
If user selected option 4:
|
|
1307
|
-
|
|
1308
|
-
1. Show pending decision points
|
|
1309
|
-
2. Ask which decision was made
|
|
1310
|
-
3. Record the decision and chosen path
|
|
1311
|
-
4. Update related steps based on decision
|
|
1312
|
-
|
|
1313
|
-
#### 4.5 Update Overall Status
|
|
1314
|
-
|
|
1315
|
-
If user selected option 5:
|
|
1316
|
-
|
|
1317
|
-
1. Show current overall status
|
|
1318
|
-
2. Provide options:
|
|
1319
|
-
- Active (continuing with plan)
|
|
1320
|
-
- Paused (temporarily stopped)
|
|
1321
|
-
- Abandoned (no longer following)
|
|
1322
|
-
- Complete (all steps done)
|
|
1323
|
-
3. Update plan header with new status
|
|
1324
|
-
|
|
1325
|
-
### 5. Automatic Updates (When Called by Tasks)
|
|
1326
|
-
|
|
1327
|
-
[[LLM: When called automatically by another task]]
|
|
1328
|
-
|
|
1329
|
-
If called with parameters:
|
|
1330
|
-
|
|
1331
|
-
```
|
|
1332
|
-
task: {task_name}
|
|
1333
|
-
step_id: {step_identifier}
|
|
1334
|
-
status: complete|skipped|failed
|
|
1335
|
-
note: {optional_note}
|
|
1336
|
-
```
|
|
1337
|
-
|
|
1338
|
-
Automatically:
|
|
1339
|
-
|
|
1340
|
-
1. Find the corresponding step
|
|
1341
|
-
2. Update its status
|
|
1342
|
-
3. Add completion metadata
|
|
1343
|
-
4. Add note if provided
|
|
1344
|
-
5. Calculate new progress percentage
|
|
1345
|
-
|
|
1346
|
-
### 6. Generate Update Summary
|
|
1347
|
-
|
|
1348
|
-
After updates, show summary:
|
|
1349
|
-
|
|
1350
|
-
```
|
|
1351
|
-
✅ Workflow Plan Updated
|
|
1352
|
-
|
|
1353
|
-
Changes made:
|
|
1354
|
-
- {change_1}
|
|
1355
|
-
- {change_2}
|
|
1356
|
-
|
|
1357
|
-
New Status:
|
|
1358
|
-
- Progress: {X}% complete ({completed}/{total} steps)
|
|
1359
|
-
- Current Step: {current_step}
|
|
1360
|
-
- Next Recommended: {next_step}
|
|
1361
|
-
|
|
1362
|
-
Plan location: {file_path}
|
|
1363
|
-
```
|
|
1364
|
-
|
|
1365
|
-
### 7. Integration with Other Tasks
|
|
1366
|
-
|
|
1367
|
-
[[LLM: How other tasks should call this]]
|
|
1368
|
-
|
|
1369
|
-
Other tasks can integrate by:
|
|
1370
|
-
|
|
1371
|
-
1. **After Task Completion**:
|
|
1372
|
-
|
|
1373
|
-
```
|
|
1374
|
-
At end of task execution:
|
|
1375
|
-
- Check if task corresponds to a plan step
|
|
1376
|
-
- If yes, call update-workflow-plan with:
|
|
1377
|
-
- task: {current_task_name}
|
|
1378
|
-
- step_id: {matching_step}
|
|
1379
|
-
- status: complete
|
|
1380
|
-
```
|
|
1381
|
-
|
|
1382
|
-
2. **On Task Failure**:
|
|
1383
|
-
|
|
1384
|
-
```
|
|
1385
|
-
If task fails:
|
|
1386
|
-
- Call update-workflow-plan with:
|
|
1387
|
-
- task: {current_task_name}
|
|
1388
|
-
- status: failed
|
|
1389
|
-
- note: {failure_reason}
|
|
1390
|
-
```
|
|
1391
|
-
|
|
1392
|
-
### 8. Plan Status Display
|
|
1393
|
-
|
|
1394
|
-
[[LLM: When user selects view status only]]
|
|
1395
|
-
|
|
1396
|
-
Display comprehensive status:
|
|
1397
|
-
|
|
1398
|
-
```markdown
|
|
1399
|
-
📋 Workflow Plan Status
|
|
1400
|
-
━━━━━━━━━━━━━━━━━━━━
|
|
1401
|
-
Workflow: {workflow_name}
|
|
1402
|
-
Status: {Active|Paused|Complete}
|
|
1403
|
-
Progress: {X}% complete ({completed}/{total} steps)
|
|
1404
|
-
Last Updated: {timestamp}
|
|
1405
|
-
|
|
1406
|
-
✅ Completed Steps:
|
|
1407
|
-
- [x] Step 1.1: {description} (completed: {date})
|
|
1408
|
-
- [x] Step 1.2: {description} (completed: {date})
|
|
1409
|
-
|
|
1410
|
-
🔄 Current Step:
|
|
1411
|
-
- [ ] Step 2.1: {description} <!-- current-step -->
|
|
1412
|
-
Agent: {agent_name}
|
|
1413
|
-
Task: {task_name}
|
|
1414
|
-
|
|
1415
|
-
📌 Upcoming Steps:
|
|
1416
|
-
- [ ] Step 2.2: {description}
|
|
1417
|
-
- [ ] Step 3.1: {description}
|
|
1418
|
-
|
|
1419
|
-
⚠️ Deviations/Notes:
|
|
1420
|
-
{any_deviation_notes}
|
|
1421
|
-
|
|
1422
|
-
📊 Decision Points:
|
|
1423
|
-
- Decision 1: {status} - {choice_made}
|
|
1424
|
-
- Decision 2: Pending
|
|
1425
|
-
|
|
1426
|
-
💡 Next Action:
|
|
1427
|
-
Based on the plan, you should {recommended_action}
|
|
1428
|
-
```
|
|
1429
|
-
|
|
1430
|
-
## Success Criteria
|
|
1431
|
-
|
|
1432
|
-
The update is successful when:
|
|
1433
|
-
|
|
1434
|
-
1. Plan accurately reflects current workflow state
|
|
1435
|
-
2. All updates are clearly timestamped
|
|
1436
|
-
3. Deviations are documented with reasons
|
|
1437
|
-
4. Progress calculation is correct
|
|
1438
|
-
5. Next steps are clear to user
|
|
1439
|
-
6. Plan remains readable and well-formatted
|
|
1440
|
-
|
|
1441
|
-
## Error Handling
|
|
1442
|
-
|
|
1443
|
-
- **Plan file not found**: Offer to create new plan
|
|
1444
|
-
- **Malformed plan**: Attempt basic updates, warn user
|
|
1445
|
-
- **Write permission error**: Show changes that would be made
|
|
1446
|
-
- **Step not found**: Show available steps, ask for clarification
|
|
1447
|
-
- **Concurrent updates**: Implement simple locking or warn about conflicts
|
|
1448
|
-
|
|
1449
|
-
## Notes
|
|
1450
|
-
|
|
1451
|
-
- Always preserve plan history (don't delete old information)
|
|
1452
|
-
- Keep updates atomic to prevent corruption
|
|
1453
|
-
- Consider creating backup before major updates
|
|
1454
|
-
- Updates should enhance, not complicate, the workflow experience
|
|
1455
|
-
- If plan becomes too cluttered, suggest creating fresh plan for next phase
|
|
1456
|
-
==================== END: .bmad-core/tasks/update-workflow-plan.md ====================
|
|
1457
|
-
|
|
1458
917
|
==================== START: .bmad-core/data/bmad-kb.md ====================
|
|
1459
918
|
# BMad Knowledge Base
|
|
1460
919
|
|
|
@@ -2473,7 +1932,7 @@ Agents should be workflow-aware: know active workflow, their role, access artifa
|
|
|
2473
1932
|
==================== START: .bmad-core/tasks/facilitate-brainstorming-session.md ====================
|
|
2474
1933
|
---
|
|
2475
1934
|
docOutputLocation: docs/brainstorming-session-results.md
|
|
2476
|
-
template: brainstorming-output-tmpl
|
|
1935
|
+
template: ".bmad-core/templates/brainstorming-output-tmpl.md"
|
|
2477
1936
|
---
|
|
2478
1937
|
|
|
2479
1938
|
# Facilitate Brainstorming Session Task
|
|
@@ -2626,7 +2085,7 @@ Generate well-structured research prompts that:
|
|
|
2626
2085
|
|
|
2627
2086
|
## Research Type Selection
|
|
2628
2087
|
|
|
2629
|
-
|
|
2088
|
+
CRITICAL: First, help the user select the most appropriate research focus based on their needs and any input documents they've provided.
|
|
2630
2089
|
|
|
2631
2090
|
### 1. Research Focus Options
|
|
2632
2091
|
|
|
@@ -2689,15 +2148,13 @@ Present these numbered options to the user:
|
|
|
2689
2148
|
- Consider regulatory and legal implications
|
|
2690
2149
|
|
|
2691
2150
|
9. **Custom Research Focus**
|
|
2692
|
-
|
|
2151
|
+
|
|
2693
2152
|
- User-defined research objectives
|
|
2694
2153
|
- Specialized domain investigation
|
|
2695
2154
|
- Cross-functional research needs
|
|
2696
2155
|
|
|
2697
2156
|
### 2. Input Processing
|
|
2698
2157
|
|
|
2699
|
-
[[LLM: Based on the selected research type and any provided inputs (project brief, brainstorming results, etc.), extract relevant context and constraints.]]
|
|
2700
|
-
|
|
2701
2158
|
**If Project Brief provided:**
|
|
2702
2159
|
|
|
2703
2160
|
- Extract key product concepts and goals
|
|
@@ -2730,11 +2187,11 @@ Present these numbered options to the user:
|
|
|
2730
2187
|
|
|
2731
2188
|
### 3. Research Prompt Structure
|
|
2732
2189
|
|
|
2733
|
-
|
|
2190
|
+
CRITICAL: collaboratively develop a comprehensive research prompt with these components.
|
|
2734
2191
|
|
|
2735
2192
|
#### A. Research Objectives
|
|
2736
2193
|
|
|
2737
|
-
|
|
2194
|
+
CRITICAL: collaborate with the user to articulate clear, specific objectives for the research.
|
|
2738
2195
|
|
|
2739
2196
|
- Primary research goal and purpose
|
|
2740
2197
|
- Key decisions the research will inform
|
|
@@ -2743,7 +2200,7 @@ Present these numbered options to the user:
|
|
|
2743
2200
|
|
|
2744
2201
|
#### B. Research Questions
|
|
2745
2202
|
|
|
2746
|
-
|
|
2203
|
+
CRITICAL: collaborate with the user to develop specific, actionable research questions organized by theme.
|
|
2747
2204
|
|
|
2748
2205
|
**Core Questions:**
|
|
2749
2206
|
|
|
@@ -2759,8 +2216,6 @@ Present these numbered options to the user:
|
|
|
2759
2216
|
|
|
2760
2217
|
#### C. Research Methodology
|
|
2761
2218
|
|
|
2762
|
-
[[LLM: Specify appropriate research methods based on the type and objectives.]]
|
|
2763
|
-
|
|
2764
2219
|
**Data Collection Methods:**
|
|
2765
2220
|
|
|
2766
2221
|
- Secondary research sources
|
|
@@ -2777,8 +2232,6 @@ Present these numbered options to the user:
|
|
|
2777
2232
|
|
|
2778
2233
|
#### D. Output Requirements
|
|
2779
2234
|
|
|
2780
|
-
[[LLM: Define how research findings should be structured and presented.]]
|
|
2781
|
-
|
|
2782
2235
|
**Format Specifications:**
|
|
2783
2236
|
|
|
2784
2237
|
- Executive summary requirements
|
|
@@ -2795,8 +2248,6 @@ Present these numbered options to the user:
|
|
|
2795
2248
|
|
|
2796
2249
|
### 4. Prompt Generation
|
|
2797
2250
|
|
|
2798
|
-
[[LLM: Synthesize all elements into a comprehensive, ready-to-use research prompt.]]
|
|
2799
|
-
|
|
2800
2251
|
**Research Prompt Template:**
|
|
2801
2252
|
|
|
2802
2253
|
```markdown
|
|
@@ -2865,8 +2316,6 @@ Present these numbered options to the user:
|
|
|
2865
2316
|
|
|
2866
2317
|
### 5. Review and Refinement
|
|
2867
2318
|
|
|
2868
|
-
[[LLM: Present the draft research prompt for user review and refinement.]]
|
|
2869
|
-
|
|
2870
2319
|
1. **Present Complete Prompt**
|
|
2871
2320
|
|
|
2872
2321
|
- Show the full research prompt
|
|
@@ -2888,8 +2337,6 @@ Present these numbered options to the user:
|
|
|
2888
2337
|
|
|
2889
2338
|
### 6. Next Steps Guidance
|
|
2890
2339
|
|
|
2891
|
-
[[LLM: Provide clear guidance on how to use the research prompt.]]
|
|
2892
|
-
|
|
2893
2340
|
**Execution Options:**
|
|
2894
2341
|
|
|
2895
2342
|
1. **Use with AI Research Assistant**: Provide this prompt to an AI model with research capabilities
|
|
@@ -2924,9 +2371,9 @@ Generate comprehensive documentation for existing projects optimized for AI deve
|
|
|
2924
2371
|
|
|
2925
2372
|
### 1. Initial Project Analysis
|
|
2926
2373
|
|
|
2927
|
-
|
|
2374
|
+
**CRITICAL:** First, check if a PRD or requirements document exists in context. If yes, use it to focus your documentation efforts on relevant areas only.
|
|
2928
2375
|
|
|
2929
|
-
**IF PRD EXISTS**:
|
|
2376
|
+
**IF PRD EXISTS**:
|
|
2930
2377
|
|
|
2931
2378
|
- Review the PRD to understand what enhancement/feature is planned
|
|
2932
2379
|
- Identify which modules, services, or areas will be affected
|
|
@@ -2972,11 +2419,10 @@ Ask the user these elicitation questions to better understand their needs:
|
|
|
2972
2419
|
- Are there any existing documentation standards or formats you prefer?
|
|
2973
2420
|
- What level of technical detail should the documentation target? (junior developers, senior developers, mixed team)
|
|
2974
2421
|
- Is there a specific feature or enhancement you're planning? (This helps focus documentation)
|
|
2975
|
-
]]
|
|
2976
2422
|
|
|
2977
2423
|
### 2. Deep Codebase Analysis
|
|
2978
2424
|
|
|
2979
|
-
|
|
2425
|
+
CRITICAL: Before generating documentation, conduct extensive analysis of the existing codebase:
|
|
2980
2426
|
|
|
2981
2427
|
1. **Explore Key Areas**:
|
|
2982
2428
|
- Entry points (main files, index files, app initializers)
|
|
@@ -2999,13 +2445,14 @@ Ask the user these elicitation questions to better understand their needs:
|
|
|
2999
2445
|
- Document workarounds and technical debt
|
|
3000
2446
|
- Note areas that differ from standard patterns
|
|
3001
2447
|
|
|
3002
|
-
**IF PRD PROVIDED**: Also analyze what would need to change for the enhancement
|
|
2448
|
+
**IF PRD PROVIDED**: Also analyze what would need to change for the enhancement
|
|
3003
2449
|
|
|
3004
2450
|
### 3. Core Documentation Generation
|
|
3005
2451
|
|
|
3006
2452
|
[[LLM: Generate a comprehensive BROWNFIELD architecture document that reflects the ACTUAL state of the codebase.
|
|
3007
2453
|
|
|
3008
2454
|
**CRITICAL**: This is NOT an aspirational architecture document. Document what EXISTS, including:
|
|
2455
|
+
|
|
3009
2456
|
- Technical debt and workarounds
|
|
3010
2457
|
- Inconsistent patterns between different parts
|
|
3011
2458
|
- Legacy code that can't be changed
|
|
@@ -3017,13 +2464,16 @@ Ask the user these elicitation questions to better understand their needs:
|
|
|
3017
2464
|
# [Project Name] Brownfield Architecture Document
|
|
3018
2465
|
|
|
3019
2466
|
## Introduction
|
|
2467
|
+
|
|
3020
2468
|
This document captures the CURRENT STATE of the [Project Name] codebase, including technical debt, workarounds, and real-world patterns. It serves as a reference for AI agents working on enhancements.
|
|
3021
2469
|
|
|
3022
2470
|
### Document Scope
|
|
2471
|
+
|
|
3023
2472
|
[If PRD provided: "Focused on areas relevant to: {enhancement description}"]
|
|
3024
2473
|
[If no PRD: "Comprehensive documentation of entire system"]
|
|
3025
2474
|
|
|
3026
2475
|
### Change Log
|
|
2476
|
+
|
|
3027
2477
|
| Date | Version | Description | Author |
|
|
3028
2478
|
|------|---------|-------------|--------|
|
|
3029
2479
|
| [Date] | 1.0 | Initial brownfield analysis | [Analyst] |
|
|
@@ -3031,6 +2481,7 @@ This document captures the CURRENT STATE of the [Project Name] codebase, includi
|
|
|
3031
2481
|
## Quick Reference - Key Files and Entry Points
|
|
3032
2482
|
|
|
3033
2483
|
### Critical Files for Understanding the System
|
|
2484
|
+
|
|
3034
2485
|
- **Main Entry**: `src/index.js` (or actual entry point)
|
|
3035
2486
|
- **Configuration**: `config/app.config.js`, `.env.example`
|
|
3036
2487
|
- **Core Business Logic**: `src/services/`, `src/domain/`
|
|
@@ -3039,22 +2490,25 @@ This document captures the CURRENT STATE of the [Project Name] codebase, includi
|
|
|
3039
2490
|
- **Key Algorithms**: [List specific files with complex logic]
|
|
3040
2491
|
|
|
3041
2492
|
### If PRD Provided - Enhancement Impact Areas
|
|
2493
|
+
|
|
3042
2494
|
[Highlight which files/modules will be affected by the planned enhancement]
|
|
3043
2495
|
|
|
3044
2496
|
## High Level Architecture
|
|
3045
2497
|
|
|
3046
2498
|
### Technical Summary
|
|
3047
|
-
[Real assessment of architecture - mention if it's well-structured or has issues]
|
|
3048
2499
|
|
|
3049
2500
|
### Actual Tech Stack (from package.json/requirements.txt)
|
|
2501
|
+
|
|
3050
2502
|
| Category | Technology | Version | Notes |
|
|
3051
2503
|
|----------|------------|---------|--------|
|
|
3052
2504
|
| Runtime | Node.js | 16.x | [Any constraints] |
|
|
3053
2505
|
| Framework | Express | 4.18.2 | [Custom middleware?] |
|
|
3054
2506
|
| Database | PostgreSQL | 13 | [Connection pooling setup] |
|
|
3055
|
-
|
|
2507
|
+
|
|
2508
|
+
etc...
|
|
3056
2509
|
|
|
3057
2510
|
### Repository Structure Reality Check
|
|
2511
|
+
|
|
3058
2512
|
- Type: [Monorepo/Polyrepo/Hybrid]
|
|
3059
2513
|
- Package Manager: [npm/yarn/pnpm]
|
|
3060
2514
|
- Notable: [Any unusual structure decisions]
|
|
@@ -3062,7 +2516,8 @@ This document captures the CURRENT STATE of the [Project Name] codebase, includi
|
|
|
3062
2516
|
## Source Tree and Module Organization
|
|
3063
2517
|
|
|
3064
2518
|
### Project Structure (Actual)
|
|
3065
|
-
|
|
2519
|
+
|
|
2520
|
+
```text
|
|
3066
2521
|
project-root/
|
|
3067
2522
|
├── src/
|
|
3068
2523
|
│ ├── controllers/ # HTTP request handlers
|
|
@@ -3076,6 +2531,7 @@ project-root/
|
|
|
3076
2531
|
```
|
|
3077
2532
|
|
|
3078
2533
|
### Key Modules and Their Purpose
|
|
2534
|
+
|
|
3079
2535
|
- **User Management**: `src/services/userService.js` - Handles all user operations
|
|
3080
2536
|
- **Authentication**: `src/middleware/auth.js` - JWT-based, custom implementation
|
|
3081
2537
|
- **Payment Processing**: `src/legacy/payment.js` - CRITICAL: Do not refactor, tightly coupled
|
|
@@ -3084,12 +2540,14 @@ project-root/
|
|
|
3084
2540
|
## Data Models and APIs
|
|
3085
2541
|
|
|
3086
2542
|
### Data Models
|
|
2543
|
+
|
|
3087
2544
|
Instead of duplicating, reference actual model files:
|
|
3088
2545
|
- **User Model**: See `src/models/User.js`
|
|
3089
2546
|
- **Order Model**: See `src/models/Order.js`
|
|
3090
2547
|
- **Related Types**: TypeScript definitions in `src/types/`
|
|
3091
2548
|
|
|
3092
2549
|
### API Specifications
|
|
2550
|
+
|
|
3093
2551
|
- **OpenAPI Spec**: `docs/api/openapi.yaml` (if exists)
|
|
3094
2552
|
- **Postman Collection**: `docs/api/postman-collection.json`
|
|
3095
2553
|
- **Manual Endpoints**: [List any undocumented endpoints discovered]
|
|
@@ -3097,12 +2555,14 @@ Instead of duplicating, reference actual model files:
|
|
|
3097
2555
|
## Technical Debt and Known Issues
|
|
3098
2556
|
|
|
3099
2557
|
### Critical Technical Debt
|
|
2558
|
+
|
|
3100
2559
|
1. **Payment Service**: Legacy code in `src/legacy/payment.js` - tightly coupled, no tests
|
|
3101
2560
|
2. **User Service**: Different pattern than other services, uses callbacks instead of promises
|
|
3102
2561
|
3. **Database Migrations**: Manually tracked, no proper migration tool
|
|
3103
2562
|
4. **[Other significant debt]**
|
|
3104
2563
|
|
|
3105
2564
|
### Workarounds and Gotchas
|
|
2565
|
+
|
|
3106
2566
|
- **Environment Variables**: Must set `NODE_ENV=production` even for staging (historical reason)
|
|
3107
2567
|
- **Database Connections**: Connection pool hardcoded to 10, changing breaks payment service
|
|
3108
2568
|
- **[Other workarounds developers need to know]**
|
|
@@ -3110,13 +2570,16 @@ Instead of duplicating, reference actual model files:
|
|
|
3110
2570
|
## Integration Points and External Dependencies
|
|
3111
2571
|
|
|
3112
2572
|
### External Services
|
|
2573
|
+
|
|
3113
2574
|
| Service | Purpose | Integration Type | Key Files |
|
|
3114
2575
|
|---------|---------|------------------|-----------|
|
|
3115
2576
|
| Stripe | Payments | REST API | `src/integrations/stripe/` |
|
|
3116
2577
|
| SendGrid | Emails | SDK | `src/services/emailService.js` |
|
|
3117
|
-
|
|
2578
|
+
|
|
2579
|
+
etc...
|
|
3118
2580
|
|
|
3119
2581
|
### Internal Integration Points
|
|
2582
|
+
|
|
3120
2583
|
- **Frontend Communication**: REST API on port 3000, expects specific headers
|
|
3121
2584
|
- **Background Jobs**: Redis queue, see `src/workers/`
|
|
3122
2585
|
- **[Other integrations]**
|
|
@@ -3124,11 +2587,13 @@ Instead of duplicating, reference actual model files:
|
|
|
3124
2587
|
## Development and Deployment
|
|
3125
2588
|
|
|
3126
2589
|
### Local Development Setup
|
|
2590
|
+
|
|
3127
2591
|
1. Actual steps that work (not ideal steps)
|
|
3128
2592
|
2. Known issues with setup
|
|
3129
2593
|
3. Required environment variables (see `.env.example`)
|
|
3130
2594
|
|
|
3131
2595
|
### Build and Deployment Process
|
|
2596
|
+
|
|
3132
2597
|
- **Build Command**: `npm run build` (webpack config in `webpack.config.js`)
|
|
3133
2598
|
- **Deployment**: Manual deployment via `scripts/deploy.sh`
|
|
3134
2599
|
- **Environments**: Dev, Staging, Prod (see `config/environments/`)
|
|
@@ -3136,12 +2601,14 @@ Instead of duplicating, reference actual model files:
|
|
|
3136
2601
|
## Testing Reality
|
|
3137
2602
|
|
|
3138
2603
|
### Current Test Coverage
|
|
2604
|
+
|
|
3139
2605
|
- Unit Tests: 60% coverage (Jest)
|
|
3140
2606
|
- Integration Tests: Minimal, in `tests/integration/`
|
|
3141
2607
|
- E2E Tests: None
|
|
3142
2608
|
- Manual Testing: Primary QA method
|
|
3143
2609
|
|
|
3144
2610
|
### Running Tests
|
|
2611
|
+
|
|
3145
2612
|
```bash
|
|
3146
2613
|
npm test # Runs unit tests
|
|
3147
2614
|
npm run test:integration # Runs integration tests (requires local DB)
|
|
@@ -3150,6 +2617,7 @@ npm run test:integration # Runs integration tests (requires local DB)
|
|
|
3150
2617
|
## If Enhancement PRD Provided - Impact Analysis
|
|
3151
2618
|
|
|
3152
2619
|
### Files That Will Need Modification
|
|
2620
|
+
|
|
3153
2621
|
Based on the enhancement requirements, these files will be affected:
|
|
3154
2622
|
- `src/services/userService.js` - Add new user fields
|
|
3155
2623
|
- `src/models/User.js` - Update schema
|
|
@@ -3157,11 +2625,13 @@ Based on the enhancement requirements, these files will be affected:
|
|
|
3157
2625
|
- [etc...]
|
|
3158
2626
|
|
|
3159
2627
|
### New Files/Modules Needed
|
|
2628
|
+
|
|
3160
2629
|
- `src/services/newFeatureService.js` - New business logic
|
|
3161
2630
|
- `src/models/NewFeature.js` - New data model
|
|
3162
2631
|
- [etc...]
|
|
3163
2632
|
|
|
3164
2633
|
### Integration Considerations
|
|
2634
|
+
|
|
3165
2635
|
- Will need to integrate with existing auth middleware
|
|
3166
2636
|
- Must follow existing response format in `src/utils/responseFormatter.js`
|
|
3167
2637
|
- [Other integration points]
|
|
@@ -3169,6 +2639,7 @@ Based on the enhancement requirements, these files will be affected:
|
|
|
3169
2639
|
## Appendix - Useful Commands and Scripts
|
|
3170
2640
|
|
|
3171
2641
|
### Frequently Used Commands
|
|
2642
|
+
|
|
3172
2643
|
```bash
|
|
3173
2644
|
npm run dev # Start development server
|
|
3174
2645
|
npm run build # Production build
|
|
@@ -3177,14 +2648,13 @@ npm run seed # Seed test data
|
|
|
3177
2648
|
```
|
|
3178
2649
|
|
|
3179
2650
|
### Debugging and Troubleshooting
|
|
2651
|
+
|
|
3180
2652
|
- **Logs**: Check `logs/app.log` for application logs
|
|
3181
2653
|
- **Debug Mode**: Set `DEBUG=app:*` for verbose logging
|
|
3182
2654
|
- **Common Issues**: See `docs/troubleshooting.md`]]
|
|
3183
2655
|
|
|
3184
2656
|
### 4. Document Delivery
|
|
3185
2657
|
|
|
3186
|
-
[[LLM: After generating the complete architecture document:
|
|
3187
|
-
|
|
3188
2658
|
1. **In Web UI (Gemini, ChatGPT, Claude)**:
|
|
3189
2659
|
- Present the entire document in one response (or multiple if too long)
|
|
3190
2660
|
- Tell user to copy and save as `docs/brownfield-architecture.md` or `docs/project-architecture.md`
|
|
@@ -3196,6 +2666,7 @@ npm run seed # Seed test data
|
|
|
3196
2666
|
- Can be sharded later using PO agent if desired
|
|
3197
2667
|
|
|
3198
2668
|
The document should be comprehensive enough that future agents can understand:
|
|
2669
|
+
|
|
3199
2670
|
- The actual state of the system (not idealized)
|
|
3200
2671
|
- Where to find key files and logic
|
|
3201
2672
|
- What technical debt exists
|
|
@@ -3204,7 +2675,7 @@ The document should be comprehensive enough that future agents can understand:
|
|
|
3204
2675
|
|
|
3205
2676
|
### 5. Quality Assurance
|
|
3206
2677
|
|
|
3207
|
-
|
|
2678
|
+
CRITICAL: Before finalizing the document:
|
|
3208
2679
|
|
|
3209
2680
|
1. **Accuracy Check**: Verify all technical details match the actual codebase
|
|
3210
2681
|
2. **Completeness Review**: Ensure all major system components are documented
|
|
@@ -3212,7 +2683,7 @@ The document should be comprehensive enough that future agents can understand:
|
|
|
3212
2683
|
4. **Clarity Assessment**: Check that explanations are clear for AI agents
|
|
3213
2684
|
5. **Navigation**: Ensure document has clear section structure for easy reference
|
|
3214
2685
|
|
|
3215
|
-
Apply the advanced elicitation task after major sections to refine based on user feedback.
|
|
2686
|
+
Apply the advanced elicitation task after major sections to refine based on user feedback.
|
|
3216
2687
|
|
|
3217
2688
|
## Success Criteria
|
|
3218
2689
|
|
|
@@ -7149,9 +6620,9 @@ Be honest - it's better to flag issues now than have them discovered later.]]
|
|
|
7149
6620
|
|
|
7150
6621
|
## Purpose
|
|
7151
6622
|
|
|
7152
|
-
- Guide a structured response to a change trigger using the
|
|
6623
|
+
- Guide a structured response to a change trigger using the `.bmad-core/checklists/change-checklist`.
|
|
7153
6624
|
- Analyze the impacts of the change on epics, project artifacts, and the MVP, guided by the checklist's structure.
|
|
7154
|
-
- Explore potential solutions (e.g., adjust scope, rollback elements,
|
|
6625
|
+
- Explore potential solutions (e.g., adjust scope, rollback elements, re-scope features) as prompted by the checklist.
|
|
7155
6626
|
- Draft specific, actionable proposed updates to any affected project artifacts (e.g., epics, user stories, PRD sections, architecture document sections) based on the analysis.
|
|
7156
6627
|
- Produce a consolidated "Sprint Change Proposal" document that contains the impact analysis and the clearly drafted proposed edits for user review and approval.
|
|
7157
6628
|
- Ensure a clear handoff path if the nature of the changes necessitates fundamental replanning by other core agents (like PM or Architect).
|
|
@@ -7163,19 +6634,16 @@ Be honest - it's better to flag issues now than have them discovered later.]]
|
|
|
7163
6634
|
- **Acknowledge Task & Inputs:**
|
|
7164
6635
|
- Confirm with the user that the "Correct Course Task" (Change Navigation & Integration) is being initiated.
|
|
7165
6636
|
- Verify the change trigger and ensure you have the user's initial explanation of the issue and its perceived impact.
|
|
7166
|
-
- Confirm access to all relevant project artifacts (e.g., PRD, Epics/Stories, Architecture Documents, UI/UX Specifications) and, critically, the
|
|
6637
|
+
- Confirm access to all relevant project artifacts (e.g., PRD, Epics/Stories, Architecture Documents, UI/UX Specifications) and, critically, the `.bmad-core/checklists/change-checklist`.
|
|
7167
6638
|
- **Establish Interaction Mode:**
|
|
7168
6639
|
- Ask the user their preferred interaction mode for this task:
|
|
7169
|
-
- **"Incrementally (Default & Recommended):** Shall we work through the
|
|
6640
|
+
- **"Incrementally (Default & Recommended):** Shall we work through the change-checklist section by section, discussing findings and collaboratively drafting proposed changes for each relevant part before moving to the next? This allows for detailed, step-by-step refinement."
|
|
7170
6641
|
- **"YOLO Mode (Batch Processing):** Or, would you prefer I conduct a more batched analysis based on the checklist and then present a consolidated set of findings and proposed changes for a broader review? This can be quicker for initial assessment but might require more extensive review of the combined proposals."
|
|
7171
|
-
-
|
|
7172
|
-
- Once the user chooses, confirm the selected mode (e.g., "Okay, we will proceed in Incremental mode."). This chosen mode will govern how subsequent steps in this task are executed.
|
|
7173
|
-
- **Explain Process:** Briefly inform the user: "We will now use the `change-checklist` to analyze the change and draft proposed updates. I will guide you through the checklist items based on our chosen interaction mode."
|
|
7174
|
-
<rule>When asking multiple questions or presenting multiple points for user input at once, number them clearly (e.g., 1., 2a., 2b.) to make it easier for the user to provide specific responses.</rule>
|
|
6642
|
+
- Once the user chooses, confirm the selected mode and then inform the user: "We will now use the change-checklist to analyze the change and draft proposed updates. I will guide you through the checklist items based on our chosen interaction mode."
|
|
7175
6643
|
|
|
7176
6644
|
### 2. Execute Checklist Analysis (Iteratively or Batched, per Interaction Mode)
|
|
7177
6645
|
|
|
7178
|
-
- Systematically work through Sections 1-4 of the
|
|
6646
|
+
- Systematically work through Sections 1-4 of the change-checklist (typically covering Change Context, Epic/Story Impact Analysis, Artifact Conflict Resolution, and Path Evaluation/Recommendation).
|
|
7179
6647
|
- For each checklist item or logical group of items (depending on interaction mode):
|
|
7180
6648
|
- Present the relevant prompt(s) or considerations from the checklist to the user.
|
|
7181
6649
|
- Request necessary information and actively analyze the relevant project artifacts (PRD, epics, architecture documents, story history, etc.) to assess the impact.
|
|
@@ -7198,7 +6666,7 @@ Be honest - it's better to flag issues now than have them discovered later.]]
|
|
|
7198
6666
|
|
|
7199
6667
|
### 4. Generate "Sprint Change Proposal" with Edits
|
|
7200
6668
|
|
|
7201
|
-
- Synthesize the complete
|
|
6669
|
+
- Synthesize the complete change-checklist analysis (covering findings from Sections 1-4) and all the agreed-upon proposed edits (from Instruction 3) into a single document titled "Sprint Change Proposal." This proposal should align with the structure suggested by Section 5 of the change-checklist.
|
|
7202
6670
|
- The proposal must clearly present:
|
|
7203
6671
|
- **Analysis Summary:** A concise overview of the original issue, its analyzed impact (on epics, artifacts, MVP scope), and the rationale for the chosen path forward.
|
|
7204
6672
|
- **Specific Proposed Edits:** For each affected artifact, clearly show or describe the exact changes (e.g., "Change Story X.Y from: [old text] To: [new text]", "Add new Acceptance Criterion to Story A.B: [new AC]", "Update Section 3.2 of Architecture Document as follows: [new/modified text or diagram description]").
|
|
@@ -7215,9 +6683,9 @@ Be honest - it's better to flag issues now than have them discovered later.]]
|
|
|
7215
6683
|
## Output Deliverables
|
|
7216
6684
|
|
|
7217
6685
|
- **Primary:** A "Sprint Change Proposal" document (in markdown format). This document will contain:
|
|
7218
|
-
- A summary of the
|
|
6686
|
+
- A summary of the change-checklist analysis (issue, impact, rationale for the chosen path).
|
|
7219
6687
|
- Specific, clearly drafted proposed edits for all affected project artifacts.
|
|
7220
|
-
- **Implicit:** An annotated
|
|
6688
|
+
- **Implicit:** An annotated change-checklist (or the record of its completion) reflecting the discussions, findings, and decisions made during the process.
|
|
7221
6689
|
==================== END: .bmad-core/tasks/correct-course.md ====================
|
|
7222
6690
|
|
|
7223
6691
|
==================== START: .bmad-core/tasks/brownfield-create-epic.md ====================
|
|
@@ -7544,20 +7012,20 @@ The story creation is successful when:
|
|
|
7544
7012
|
|
|
7545
7013
|
## Primary Method: Automatic with markdown-tree
|
|
7546
7014
|
|
|
7547
|
-
[[LLM: First, check if markdownExploder is set to true in bmad-core/core-config.yaml. If it is, attempt to run the command: `md-tree explode {input file} {output path}`.
|
|
7015
|
+
[[LLM: First, check if markdownExploder is set to true in .bmad-core/core-config.yaml. If it is, attempt to run the command: `md-tree explode {input file} {output path}`.
|
|
7548
7016
|
|
|
7549
7017
|
If the command succeeds, inform the user that the document has been sharded successfully and STOP - do not proceed further.
|
|
7550
7018
|
|
|
7551
7019
|
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:
|
|
7552
7020
|
|
|
7553
7021
|
1. Install @kayvan/markdown-tree-parser globally with: `npm install -g @kayvan/markdown-tree-parser`
|
|
7554
|
-
2. Or set markdownExploder to false in bmad-core/core-config.yaml
|
|
7022
|
+
2. Or set markdownExploder to false in .bmad-core/core-config.yaml
|
|
7555
7023
|
|
|
7556
7024
|
**IMPORTANT: STOP HERE - do not proceed with manual sharding until one of the above actions is taken.**"
|
|
7557
7025
|
|
|
7558
7026
|
If markdownExploder is set to false, inform the user: "The markdownExploder setting is currently false. For better performance and reliability, you should:
|
|
7559
7027
|
|
|
7560
|
-
1. Set markdownExploder to true in bmad-core/core-config.yaml
|
|
7028
|
+
1. Set markdownExploder to true in .bmad-core/core-config.yaml
|
|
7561
7029
|
2. Install @kayvan/markdown-tree-parser globally with: `npm install -g @kayvan/markdown-tree-parser`
|
|
7562
7030
|
|
|
7563
7031
|
I will now proceed with the manual sharding process."
|
|
@@ -7597,8 +7065,6 @@ If the user has @kayvan/markdown-tree-parser installed, use it and skip the manu
|
|
|
7597
7065
|
|
|
7598
7066
|
## Manual Method (if @kayvan/markdown-tree-parser is not available or user indicated manual method)
|
|
7599
7067
|
|
|
7600
|
-
[[LLM: Only proceed with the manual instructions below if the user cannot or does not want to use @kayvan/markdown-tree-parser.]]
|
|
7601
|
-
|
|
7602
7068
|
### Task Instructions
|
|
7603
7069
|
|
|
7604
7070
|
1. Identify Document and Target Location
|
|
@@ -7609,7 +7075,7 @@ If the user has @kayvan/markdown-tree-parser installed, use it and skip the manu
|
|
|
7609
7075
|
|
|
7610
7076
|
2. Parse and Extract Sections
|
|
7611
7077
|
|
|
7612
|
-
|
|
7078
|
+
CRITICAL AEGNT SHARDING RULES:
|
|
7613
7079
|
|
|
7614
7080
|
1. Read the entire document content
|
|
7615
7081
|
2. Identify all level 2 sections (## headings)
|
|
@@ -7670,8 +7136,6 @@ Create an `index.md` file in the sharded folder that:
|
|
|
7670
7136
|
|
|
7671
7137
|
### 5. Preserve Special Content
|
|
7672
7138
|
|
|
7673
|
-
[[LLM: Pay special attention to preserving:
|
|
7674
|
-
|
|
7675
7139
|
1. **Code blocks**: Must capture complete blocks including:
|
|
7676
7140
|
|
|
7677
7141
|
```language
|
|
@@ -7693,7 +7157,7 @@ Create an `index.md` file in the sharded folder that:
|
|
|
7693
7157
|
|
|
7694
7158
|
6. **Links and references**: Keep all markdown links intact
|
|
7695
7159
|
|
|
7696
|
-
7. **Template markup**: If documents contain {{placeholders}}
|
|
7160
|
+
7. **Template markup**: If documents contain {{placeholders}} ,preserve exactly
|
|
7697
7161
|
|
|
7698
7162
|
### 6. Validation
|
|
7699
7163
|
|
|
@@ -9365,9 +8829,7 @@ After presenting the report, ask if the user wants:
|
|
|
9365
8829
|
==================== START: .bmad-core/tasks/review-story.md ====================
|
|
9366
8830
|
# review-story
|
|
9367
8831
|
|
|
9368
|
-
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.
|
|
9369
|
-
|
|
9370
|
-
[[LLM: QA Agent executing review-story task as Senior Developer]]
|
|
8832
|
+
When a developer agent marks a story as "Ready for Review", perform a comprehensive senior developer code review with the ability to refactor and improve code directly.
|
|
9371
8833
|
|
|
9372
8834
|
## Prerequisites
|
|
9373
8835
|
|
|
@@ -9496,6 +8958,7 @@ After review and any refactoring, append your results to the story file in the Q
|
|
|
9496
8958
|
## Blocking Conditions
|
|
9497
8959
|
|
|
9498
8960
|
Stop the review and request clarification if:
|
|
8961
|
+
|
|
9499
8962
|
- Story file is incomplete or missing critical sections
|
|
9500
8963
|
- File List is empty or clearly incomplete
|
|
9501
8964
|
- No tests exist when they were required
|
|
@@ -9505,6 +8968,7 @@ Stop the review and request clarification if:
|
|
|
9505
8968
|
## Completion
|
|
9506
8969
|
|
|
9507
8970
|
After review:
|
|
8971
|
+
|
|
9508
8972
|
1. If all items are checked and approved: Update story status to "Done"
|
|
9509
8973
|
2. If unchecked items remain: Keep status as "Review" for dev to address
|
|
9510
8974
|
3. Always provide constructive feedback and explanations for learning
|
|
@@ -9615,15 +9079,14 @@ ALWAYS cite source documents: `[Source: architecture/{filename}.md#{section}]`
|
|
|
9615
9079
|
- Verify all source references are included for technical details
|
|
9616
9080
|
- Ensure tasks align with both epic requirements and architecture constraints
|
|
9617
9081
|
- Update status to "Draft" and save the story file
|
|
9618
|
-
-
|
|
9619
|
-
- Execute `tasks/execute-checklist` `checklists/story-draft-checklist`
|
|
9082
|
+
- Execute `.bmad-core/tasks/execute-checklist` `.bmad-core/checklists/story-draft-checklist`
|
|
9620
9083
|
- Provide summary to user including:
|
|
9621
9084
|
- Story created: `{devStoryLocation}/{epicNum}.{storyNum}.story.md`
|
|
9622
9085
|
- Status: Draft
|
|
9623
9086
|
- Key technical components included from architecture docs
|
|
9624
9087
|
- Any deviations or conflicts noted between epic and architecture
|
|
9625
9088
|
- Checklist Results
|
|
9626
|
-
- Next steps: For Complex stories, suggest the user carefully review the story draft and also optionally have the PO run the task
|
|
9089
|
+
- Next steps: For Complex stories, suggest the user carefully review the story draft and also optionally have the PO run the task `.bmad-core/tasks/validate-next-story`
|
|
9627
9090
|
==================== END: .bmad-core/tasks/create-next-story.md ====================
|
|
9628
9091
|
|
|
9629
9092
|
==================== START: .bmad-core/checklists/story-draft-checklist.md ====================
|
|
@@ -9794,7 +9257,7 @@ To generate a masterful, comprehensive, and optimized prompt that can be used wi
|
|
|
9794
9257
|
|
|
9795
9258
|
## Inputs
|
|
9796
9259
|
|
|
9797
|
-
- Completed UI/UX Specification (`front-end-spec`)
|
|
9260
|
+
- Completed UI/UX Specification (`front-end-spec.md`)
|
|
9798
9261
|
- Completed Frontend Architecture Document (`front-end-architecture`) or a full stack combined architecture such as `architecture.md`
|
|
9799
9262
|
- Main System Architecture Document (`architecture` - for API contracts and tech stack to give further context)
|
|
9800
9263
|
|