bmad-method 4.43.0 → 4.43.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.
Files changed (100) hide show
  1. package/CONTRIBUTING.md +2 -9
  2. package/README.md +0 -82
  3. package/bmad-core/agents/bmad-master.md +6 -6
  4. package/bmad-core/tasks/validate-next-story.md +1 -1
  5. package/bmad-core/templates/brownfield-architecture-tmpl.yaml +5 -5
  6. package/dist/agents/architect.txt +5 -5
  7. package/dist/agents/bmad-master.txt +11 -11
  8. package/dist/agents/dev.txt +1 -1
  9. package/dist/agents/po.txt +1 -1
  10. package/dist/expansion-packs/bmad-2d-unity-game-dev/agents/game-developer.txt +1 -1
  11. package/dist/expansion-packs/bmad-2d-unity-game-dev/teams/unity-2d-game-team.txt +1 -1
  12. package/dist/expansion-packs/bmad-godot-game-dev/agents/bmad-orchestrator.txt +1513 -0
  13. package/dist/expansion-packs/bmad-godot-game-dev/agents/game-analyst.txt +3190 -0
  14. package/dist/expansion-packs/bmad-godot-game-dev/agents/game-architect.txt +4499 -0
  15. package/dist/expansion-packs/bmad-godot-game-dev/agents/game-designer.txt +3925 -0
  16. package/dist/expansion-packs/bmad-godot-game-dev/agents/game-developer.txt +666 -0
  17. package/dist/expansion-packs/bmad-godot-game-dev/agents/game-pm.txt +2381 -0
  18. package/dist/expansion-packs/bmad-godot-game-dev/agents/game-po.txt +1612 -0
  19. package/dist/expansion-packs/bmad-godot-game-dev/agents/game-qa.txt +1745 -0
  20. package/dist/expansion-packs/bmad-godot-game-dev/agents/game-sm.txt +1208 -0
  21. package/dist/expansion-packs/bmad-godot-game-dev/agents/game-ux-expert.txt +958 -0
  22. package/dist/expansion-packs/bmad-godot-game-dev/teams/godot-game-team.txt +27721 -0
  23. package/dist/teams/team-all.txt +6 -6
  24. package/dist/teams/team-fullstack.txt +6 -6
  25. package/dist/teams/team-ide-minimal.txt +1 -1
  26. package/dist/teams/team-no-ui.txt +6 -6
  27. package/docs/GUIDING-PRINCIPLES.md +3 -3
  28. package/docs/flattener.md +91 -0
  29. package/docs/versions.md +1 -1
  30. package/docs/working-in-the-brownfield.md +15 -6
  31. package/expansion-packs/bmad-godot-game-dev/README.md +244 -0
  32. package/expansion-packs/bmad-godot-game-dev/agent-teams/godot-game-team.yaml +18 -0
  33. package/expansion-packs/bmad-godot-game-dev/agents/bmad-orchestrator.md +147 -0
  34. package/expansion-packs/bmad-godot-game-dev/agents/game-analyst.md +84 -0
  35. package/expansion-packs/bmad-godot-game-dev/agents/game-architect.md +146 -0
  36. package/expansion-packs/bmad-godot-game-dev/agents/game-designer.md +78 -0
  37. package/expansion-packs/bmad-godot-game-dev/agents/game-developer.md +124 -0
  38. package/expansion-packs/bmad-godot-game-dev/agents/game-pm.md +82 -0
  39. package/expansion-packs/bmad-godot-game-dev/agents/game-po.md +115 -0
  40. package/expansion-packs/bmad-godot-game-dev/agents/game-qa.md +160 -0
  41. package/expansion-packs/bmad-godot-game-dev/agents/game-sm.md +66 -0
  42. package/expansion-packs/bmad-godot-game-dev/agents/game-ux-expert.md +75 -0
  43. package/expansion-packs/bmad-godot-game-dev/checklists/game-architect-checklist.md +377 -0
  44. package/expansion-packs/bmad-godot-game-dev/checklists/game-change-checklist.md +250 -0
  45. package/expansion-packs/bmad-godot-game-dev/checklists/game-design-checklist.md +225 -0
  46. package/expansion-packs/bmad-godot-game-dev/checklists/game-po-checklist.md +448 -0
  47. package/expansion-packs/bmad-godot-game-dev/checklists/game-story-dod-checklist.md +202 -0
  48. package/expansion-packs/bmad-godot-game-dev/config.yaml +30 -0
  49. package/expansion-packs/bmad-godot-game-dev/data/bmad-kb.md +811 -0
  50. package/expansion-packs/bmad-godot-game-dev/data/brainstorming-techniques.md +36 -0
  51. package/expansion-packs/bmad-godot-game-dev/data/development-guidelines.md +893 -0
  52. package/expansion-packs/bmad-godot-game-dev/data/elicitation-methods.md +156 -0
  53. package/expansion-packs/bmad-godot-game-dev/data/technical-preferences.md +3 -0
  54. package/expansion-packs/bmad-godot-game-dev/tasks/advanced-elicitation.md +110 -0
  55. package/expansion-packs/bmad-godot-game-dev/tasks/apply-qa-fixes.md +224 -0
  56. package/expansion-packs/bmad-godot-game-dev/tasks/brownfield-create-epic.md +162 -0
  57. package/expansion-packs/bmad-godot-game-dev/tasks/brownfield-create-story.md +149 -0
  58. package/expansion-packs/bmad-godot-game-dev/tasks/correct-course-game.md +159 -0
  59. package/expansion-packs/bmad-godot-game-dev/tasks/create-deep-research-prompt.md +278 -0
  60. package/expansion-packs/bmad-godot-game-dev/tasks/create-doc.md +103 -0
  61. package/expansion-packs/bmad-godot-game-dev/tasks/create-game-story.md +202 -0
  62. package/expansion-packs/bmad-godot-game-dev/tasks/document-project.md +343 -0
  63. package/expansion-packs/bmad-godot-game-dev/tasks/execute-checklist.md +88 -0
  64. package/expansion-packs/bmad-godot-game-dev/tasks/facilitate-brainstorming-session.md +136 -0
  65. package/expansion-packs/bmad-godot-game-dev/tasks/game-brownfield-create-epic.md +160 -0
  66. package/expansion-packs/bmad-godot-game-dev/tasks/game-brownfield-create-story.md +147 -0
  67. package/expansion-packs/bmad-godot-game-dev/tasks/game-design-brainstorming.md +290 -0
  68. package/expansion-packs/bmad-godot-game-dev/tasks/game-risk-profile.md +368 -0
  69. package/expansion-packs/bmad-godot-game-dev/tasks/game-test-design.md +219 -0
  70. package/expansion-packs/bmad-godot-game-dev/tasks/generate-ai-frontend-prompt.md +51 -0
  71. package/expansion-packs/bmad-godot-game-dev/tasks/kb-mode-interaction.md +77 -0
  72. package/expansion-packs/bmad-godot-game-dev/tasks/review-game-story.md +364 -0
  73. package/expansion-packs/bmad-godot-game-dev/tasks/shard-doc.md +187 -0
  74. package/expansion-packs/bmad-godot-game-dev/tasks/validate-game-story.md +208 -0
  75. package/expansion-packs/bmad-godot-game-dev/templates/brainstorming-output-tmpl.yaml +156 -0
  76. package/expansion-packs/bmad-godot-game-dev/templates/brownfield-prd-tmpl.yaml +281 -0
  77. package/expansion-packs/bmad-godot-game-dev/templates/competitor-analysis-tmpl.yaml +306 -0
  78. package/expansion-packs/bmad-godot-game-dev/templates/game-architecture-tmpl.yaml +1111 -0
  79. package/expansion-packs/bmad-godot-game-dev/templates/game-brief-tmpl.yaml +356 -0
  80. package/expansion-packs/bmad-godot-game-dev/templates/game-design-doc-tmpl.yaml +724 -0
  81. package/expansion-packs/bmad-godot-game-dev/templates/game-prd-tmpl.yaml +209 -0
  82. package/expansion-packs/bmad-godot-game-dev/templates/game-qa-gate-tmpl.yaml +186 -0
  83. package/expansion-packs/bmad-godot-game-dev/templates/game-story-tmpl.yaml +406 -0
  84. package/expansion-packs/bmad-godot-game-dev/templates/game-ui-spec-tmpl.yaml +601 -0
  85. package/expansion-packs/bmad-godot-game-dev/templates/level-design-doc-tmpl.yaml +620 -0
  86. package/expansion-packs/bmad-godot-game-dev/templates/market-research-tmpl.yaml +418 -0
  87. package/expansion-packs/bmad-godot-game-dev/utils/bmad-doc-template.md +327 -0
  88. package/expansion-packs/bmad-godot-game-dev/utils/workflow-management.md +71 -0
  89. package/expansion-packs/bmad-godot-game-dev/workflows/game-dev-greenfield.yaml +245 -0
  90. package/expansion-packs/bmad-godot-game-dev/workflows/game-prototype.yaml +213 -0
  91. package/package.json +1 -1
  92. package/release_notes.md +14 -2
  93. package/tools/flattener/ignoreRules.js +2 -0
  94. package/tools/installer/bin/bmad.js +2 -1
  95. package/tools/installer/config/install.config.yaml +16 -7
  96. package/tools/installer/lib/ide-setup.js +192 -80
  97. package/tools/installer/package.json +1 -1
  98. package/tools/upgraders/v3-to-v4-upgrader.js +1 -0
  99. package/test.md +0 -1
  100. /package/{implement-fork-friendly-ci.sh → tools/implement-fork-friendly-ci.sh} +0 -0
@@ -0,0 +1,156 @@
1
+ <!-- Powered by BMAD™ Core -->
2
+
3
+ # Elicitation Methods Data
4
+
5
+ ## Core Reflective Methods
6
+
7
+ **Expand or Contract for Audience**
8
+
9
+ - Ask whether to 'expand' (add detail, elaborate) or 'contract' (simplify, clarify)
10
+ - Identify specific target audience if relevant
11
+ - Tailor content complexity and depth accordingly
12
+
13
+ **Explain Reasoning (CoT Step-by-Step)**
14
+
15
+ - Walk through the step-by-step thinking process
16
+ - Reveal underlying assumptions and decision points
17
+ - Show how conclusions were reached from current role's perspective
18
+
19
+ **Critique and Refine**
20
+
21
+ - Review output for flaws, inconsistencies, or improvement areas
22
+ - Identify specific weaknesses from role's expertise
23
+ - Suggest refined version reflecting domain knowledge
24
+
25
+ ## Structural Analysis Methods
26
+
27
+ **Analyze Logical Flow and Dependencies**
28
+
29
+ - Examine content structure for logical progression
30
+ - Check internal consistency and coherence
31
+ - Identify and validate dependencies between elements
32
+ - Confirm effective ordering and sequencing
33
+
34
+ **Assess Alignment with Overall Goals**
35
+
36
+ - Evaluate content contribution to stated objectives
37
+ - Identify any misalignments or gaps
38
+ - Interpret alignment from specific role's perspective
39
+ - Suggest adjustments to better serve goals
40
+
41
+ ## Risk and Challenge Methods
42
+
43
+ **Identify Potential Risks and Unforeseen Issues**
44
+
45
+ - Brainstorm potential risks from role's expertise
46
+ - Identify overlooked edge cases or scenarios
47
+ - Anticipate unintended consequences
48
+ - Highlight implementation challenges
49
+
50
+ **Challenge from Critical Perspective**
51
+
52
+ - Adopt critical stance on current content
53
+ - Play devil's advocate from specified viewpoint
54
+ - Argue against proposal highlighting weaknesses
55
+ - Apply YAGNI principles when appropriate (scope trimming)
56
+
57
+ ## Creative Exploration Methods
58
+
59
+ **Tree of Thoughts Deep Dive**
60
+
61
+ - Break problem into discrete "thoughts" or intermediate steps
62
+ - Explore multiple reasoning paths simultaneously
63
+ - Use self-evaluation to classify each path as "sure", "likely", or "impossible"
64
+ - Apply search algorithms (BFS/DFS) to find optimal solution paths
65
+
66
+ **Hindsight is 20/20: The 'If Only...' Reflection**
67
+
68
+ - Imagine retrospective scenario based on current content
69
+ - Identify the one "if only we had known/done X..." insight
70
+ - Describe imagined consequences humorously or dramatically
71
+ - Extract actionable learnings for current context
72
+
73
+ ## Multi-Persona Collaboration Methods
74
+
75
+ **Agile Team Perspective Shift**
76
+
77
+ - Rotate through different Scrum team member viewpoints
78
+ - Product Owner: Focus on user value and business impact
79
+ - Scrum Master: Examine process flow and team dynamics
80
+ - Developer: Assess technical implementation and complexity
81
+ - QA: Identify testing scenarios and quality concerns
82
+
83
+ **Stakeholder Round Table**
84
+
85
+ - Convene virtual meeting with multiple personas
86
+ - Each persona contributes unique perspective on content
87
+ - Identify conflicts and synergies between viewpoints
88
+ - Synthesize insights into actionable recommendations
89
+
90
+ **Meta-Prompting Analysis**
91
+
92
+ - Step back to analyze the structure and logic of current approach
93
+ - Question the format and methodology being used
94
+ - Suggest alternative frameworks or mental models
95
+ - Optimize the elicitation process itself
96
+
97
+ ## Advanced 2025 Techniques
98
+
99
+ **Self-Consistency Validation**
100
+
101
+ - Generate multiple reasoning paths for same problem
102
+ - Compare consistency across different approaches
103
+ - Identify most reliable and robust solution
104
+ - Highlight areas where approaches diverge and why
105
+
106
+ **ReWOO (Reasoning Without Observation)**
107
+
108
+ - Separate parametric reasoning from tool-based actions
109
+ - Create reasoning plan without external dependencies
110
+ - Identify what can be solved through pure reasoning
111
+ - Optimize for efficiency and reduced token usage
112
+
113
+ **Persona-Pattern Hybrid**
114
+
115
+ - Combine specific role expertise with elicitation pattern
116
+ - Architect + Risk Analysis: Deep technical risk assessment
117
+ - UX Expert + User Journey: End-to-end experience critique
118
+ - PM + Stakeholder Analysis: Multi-perspective impact review
119
+
120
+ **Emergent Collaboration Discovery**
121
+
122
+ - Allow multiple perspectives to naturally emerge
123
+ - Identify unexpected insights from persona interactions
124
+ - Explore novel combinations of viewpoints
125
+ - Capture serendipitous discoveries from multi-agent thinking
126
+
127
+ ## Game-Based Elicitation Methods
128
+
129
+ **Red Team vs Blue Team**
130
+
131
+ - Red Team: Attack the proposal, find vulnerabilities
132
+ - Blue Team: Defend and strengthen the approach
133
+ - Competitive analysis reveals blind spots
134
+ - Results in more robust, battle-tested solutions
135
+
136
+ **Innovation Tournament**
137
+
138
+ - Pit multiple alternative approaches against each other
139
+ - Score each approach across different criteria
140
+ - Crowd-source evaluation from different personas
141
+ - Identify winning combination of features
142
+
143
+ **Escape Room Challenge**
144
+
145
+ - Present content as constraints to work within
146
+ - Find creative solutions within tight limitations
147
+ - Identify minimum viable approach
148
+ - Discover innovative workarounds and optimizations
149
+
150
+ ## Process Control
151
+
152
+ **Proceed / No Further Actions**
153
+
154
+ - Acknowledge choice to finalize current work
155
+ - Accept output as-is or move to next step
156
+ - Prepare to continue without additional elicitation
@@ -0,0 +1,3 @@
1
+ # User-Defined Preferred Patterns and Preferences
2
+
3
+ None Listed
@@ -0,0 +1,110 @@
1
+ # Advanced Game Design Elicitation Task
2
+
3
+ ## Purpose
4
+
5
+ - Provide optional reflective and brainstorming actions to enhance game design content quality
6
+ - Enable deeper exploration of game mechanics and player experience through structured elicitation techniques
7
+ - Support iterative refinement through multiple game development perspectives
8
+ - Apply game-specific critical thinking to design decisions
9
+
10
+ ## Task Instructions
11
+
12
+ ### 1. Game Design Context and Review
13
+
14
+ [[LLM: When invoked after outputting a game design section:
15
+
16
+ 1. First, provide a brief 1-2 sentence summary of what the user should look for in the section just presented, with game-specific focus (e.g., "Please review the core mechanics for player engagement and implementation feasibility. Pay special attention to how these mechanics create the intended player experience and whether they're technically achievable with Unity.")
17
+
18
+ 2. If the section contains game flow diagrams, level layouts, or system diagrams, explain each diagram briefly with game development context before offering elicitation options (e.g., "The gameplay loop diagram shows how player actions lead to rewards and progression. Notice how each step maintains player engagement and creates opportunities for skill development.")
19
+
20
+ 3. If the section contains multiple game elements (like multiple mechanics, multiple levels, multiple systems, etc.), inform the user they can apply elicitation actions to:
21
+ - The entire section as a whole
22
+ - Individual game elements within the section (specify which element when selecting an action)
23
+
24
+ 4. Then present the action list as specified below.]]
25
+
26
+ ### 2. Ask for Review and Present Game Design Action List
27
+
28
+ [[LLM: Ask the user to review the drafted game design section. In the SAME message, inform them that they can suggest additions, removals, or modifications, OR they can select an action by number from the 'Advanced Game Design Elicitation & Brainstorming Actions'. If there are multiple game elements in the section, mention they can specify which element(s) to apply the action to. Then, present ONLY the numbered list (0-9) of these actions. Conclude by stating that selecting 9 will proceed to the next section. Await user selection. If an elicitation action (0-8) is chosen, execute it and then re-offer this combined review/elicitation choice. If option 9 is chosen, or if the user provides direct feedback, proceed accordingly.]]
29
+
30
+ **Present the numbered list (0-9) with this exact format:**
31
+
32
+ ```text
33
+ **Advanced Game Design Elicitation & Brainstorming Actions**
34
+ Choose an action (0-9 - 9 to bypass - HELP for explanation of these options):
35
+
36
+ 0. Expand or Contract for Target Audience
37
+ 1. Explain Game Design Reasoning (Step-by-Step)
38
+ 2. Critique and Refine from Player Perspective
39
+ 3. Analyze Game Flow and Mechanic Dependencies
40
+ 4. Assess Alignment with Player Experience Goals
41
+ 5. Identify Potential Player Confusion and Design Risks
42
+ 6. Challenge from Critical Game Design Perspective
43
+ 7. Explore Alternative Game Design Approaches
44
+ 8. Hindsight Postmortem: The 'If Only...' Game Design Reflection
45
+ 9. Proceed / No Further Actions
46
+ ```
47
+
48
+ ### 2. Processing Guidelines
49
+
50
+ **Do NOT show:**
51
+
52
+ - The full protocol text with `[[LLM: ...]]` instructions
53
+ - Detailed explanations of each option unless executing or the user asks, when giving the definition you can modify to tie its game development relevance
54
+ - Any internal template markup
55
+
56
+ **After user selection from the list:**
57
+
58
+ - Execute the chosen action according to the game design protocol instructions below
59
+ - Ask if they want to select another action or proceed with option 9 once complete
60
+ - Continue until user selects option 9 or indicates completion
61
+
62
+ ## Game Design Action Definitions
63
+
64
+ 0. Expand or Contract for Target Audience
65
+ [[LLM: Ask the user whether they want to 'expand' on the game design content (add more detail, elaborate on mechanics, include more examples) or 'contract' it (simplify mechanics, focus on core features, reduce complexity). Also, ask if there's a specific player demographic or experience level they have in mind (casual players, hardcore gamers, children, etc.). Once clarified, perform the expansion or contraction from your current game design role's perspective, tailored to the specified player audience if provided.]]
66
+
67
+ 1. Explain Game Design Reasoning (Step-by-Step)
68
+ [[LLM: Explain the step-by-step game design thinking process that you used to arrive at the current proposal for this game content. Focus on player psychology, engagement mechanics, technical feasibility, and how design decisions support the overall player experience goals.]]
69
+
70
+ 2. Critique and Refine from Player Perspective
71
+ [[LLM: From your current game design role's perspective, review your last output or the current section for potential player confusion, engagement issues, balance problems, or areas for improvement. Consider how players will actually interact with and experience these systems, then suggest a refined version that better serves player enjoyment and understanding.]]
72
+
73
+ 3. Analyze Game Flow and Mechanic Dependencies
74
+ [[LLM: From your game design role's standpoint, examine the content's structure for logical gameplay progression, mechanic interdependencies, and player learning curve. Confirm if game elements are introduced in an effective order that teaches players naturally and maintains engagement throughout the experience.]]
75
+
76
+ 4. Assess Alignment with Player Experience Goals
77
+ [[LLM: Evaluate how well the current game design content contributes to the stated player experience goals and core game pillars. Consider whether the mechanics actually create the intended emotions and engagement patterns. Identify any misalignments between design intentions and likely player reactions.]]
78
+
79
+ 5. Identify Potential Player Confusion and Design Risks
80
+ [[LLM: Based on your game design expertise, brainstorm potential sources of player confusion, overlooked edge cases in gameplay, balance issues, technical implementation risks, or unintended player behaviors that could emerge from the current design. Consider both new and experienced players' perspectives.]]
81
+
82
+ 6. Challenge from Critical Game Design Perspective
83
+ [[LLM: Adopt a critical game design perspective on the current content. If the user specifies another viewpoint (e.g., 'as a casual player', 'as a speedrunner', 'as a mobile player', 'as a technical implementer'), critique the content from that specified perspective. If no other role is specified, play devil's advocate from your game design expertise, arguing against the current design proposal and highlighting potential weaknesses, player experience issues, or implementation challenges. This can include questioning scope creep, unnecessary complexity, or features that don't serve the core player experience.]]
84
+
85
+ 7. Explore Alternative Game Design Approaches
86
+ [[LLM: From your game design role's perspective, first broadly brainstorm a range of diverse approaches to achieving the same player experience goals or solving the same design challenge. Consider different genres, mechanics, interaction models, or technical approaches. Then, from this wider exploration, select and present 2-3 distinct alternative design approaches, detailing the pros, cons, player experience implications, and technical feasibility you foresee for each.]]
87
+
88
+ 8. Hindsight Postmortem: The 'If Only...' Game Design Reflection
89
+ [[LLM: In your current game design persona, imagine this is a postmortem for a shipped game based on the current design content. What's the one 'if only we had designed/considered/tested X...' that your role would highlight from a game design perspective? Include the imagined player reactions, review scores, or development consequences. This should be both insightful and somewhat humorous, focusing on common game design pitfalls.]]
90
+
91
+ 9. Proceed / No Further Actions
92
+ [[LLM: Acknowledge the user's choice to finalize the current game design work, accept the AI's last output as is, or move on to the next step without selecting another action from this list. Prepare to proceed accordingly.]]
93
+
94
+ ## Game Development Context Integration
95
+
96
+ This elicitation task is specifically designed for game development and should be used in contexts where:
97
+
98
+ - **Game Mechanics Design**: When defining core gameplay systems and player interactions
99
+ - **Player Experience Planning**: When designing for specific emotional responses and engagement patterns
100
+ - **Technical Game Architecture**: When balancing design ambitions with implementation realities
101
+ - **Game Balance and Progression**: When designing difficulty curves and player advancement systems
102
+ - **Platform Considerations**: When adapting designs for different devices and input methods
103
+
104
+ The questions and perspectives offered should always consider:
105
+
106
+ - Player psychology and motivation
107
+ - Technical feasibility with Godot
108
+ - Performance implications for stable frame rate targets
109
+ - Cross-platform compatibility (PC, console, mobile)
110
+ - Game development best practices and common pitfalls
@@ -0,0 +1,224 @@
1
+ <!-- Powered by BMAD™ Core -->
2
+
3
+ # apply-qa-fixes
4
+
5
+ Implement fixes based on QA results (gate and assessments) for a specific Godot game story. This task is for the Game Developer agent to systematically consume QA outputs and apply game code/test changes while only updating allowed sections in the story file.
6
+
7
+ ## Purpose
8
+
9
+ - Read QA outputs for a game story (gate YAML + assessment markdowns)
10
+ - Create a prioritized, deterministic fix plan for game features
11
+ - Apply game code and test changes to close gaps and address issues
12
+ - Update only the allowed story sections for the Game Developer agent
13
+
14
+ ## Inputs
15
+
16
+ ```yaml
17
+ required:
18
+ - story_id: '{epic}.{story}' # e.g., "2.2"
19
+ - qa_root: from `.bmad-godot-game-dev/config.yaml` key `qa.qaLocation` (e.g., `docs/project/qa`)
20
+ - story_root: from `.bmad-godot-game-dev/config.yaml` key `devStoryLocation` (e.g., `docs/project/stories`)
21
+ - project_root: Godot project root directory (containing project.godot)
22
+
23
+ optional:
24
+ - story_title: '{title}' # derive from story H1 if missing
25
+ - story_slug: '{slug}' # derive from title (lowercase, hyphenated) if missing
26
+ ```
27
+
28
+ ## QA Sources to Read
29
+
30
+ - Gate (YAML): `{qa_root}/gates/{epic}.{story}-*.yml`
31
+ - If multiple, use the most recent by modified time
32
+ - Assessments (Markdown):
33
+ - Test Design: `{qa_root}/assessments/{epic}.{story}-test-design-*.md`
34
+ - Traceability: `{qa_root}/assessments/{epic}.{story}-trace-*.md`
35
+ - Risk Profile: `{qa_root}/assessments/{epic}.{story}-risk-*.md`
36
+ - NFR Assessment: `{qa_root}/assessments/{epic}.{story}-nfr-*.md`
37
+
38
+ ## Prerequisites
39
+
40
+ - Godot 4.x installed and configured
41
+ - Testing frameworks installed:
42
+ - **GDScript**: GUT (Godot Unit Test) framework installed as addon
43
+ - **C#**: GoDotTest or GodotTestDriver NuGet packages installed
44
+ - Project builds successfully in Godot Editor
45
+ - Test commands available:
46
+ - GDScript: `godot --headless --script res://addons/gut/gut_cmdln.gd`
47
+ - C#: `dotnet test` or `godot --headless --run-tests`
48
+
49
+ ## Process (Do not skip steps)
50
+
51
+ ### 0) Load Core Config & Locate Story
52
+
53
+ - Read `bmad-core/core-config.yaml` and resolve `qa_root`, `story_root`, and `project_root`
54
+ - Locate story file in `{story_root}/{epic}.{story}.*.md`
55
+ - HALT if missing and ask for correct story id/path
56
+
57
+ ### 1) Collect QA Findings
58
+
59
+ - Parse the latest gate YAML:
60
+ - `gate` (PASS|CONCERNS|FAIL|WAIVED)
61
+ - `top_issues[]` with `id`, `severity`, `finding`, `suggested_action`
62
+ - `nfr_validation.*.status` and notes
63
+ - `trace` coverage summary/gaps
64
+ - `test_design.coverage_gaps[]`
65
+ - `risk_summary.recommendations.must_fix[]` (if present)
66
+ - Read any present assessment markdowns and extract explicit gaps/recommendations
67
+
68
+ ### 2) Build Deterministic Fix Plan (Priority Order)
69
+
70
+ Apply in order, highest priority first:
71
+
72
+ 1. High severity items in `top_issues` (gameplay/performance/stability/maintainability)
73
+ 2. NFR statuses: all FAIL must be fixed → then CONCERNS
74
+ 3. Test Design `coverage_gaps` (prioritize P0 gameplay scenarios)
75
+ 4. Trace uncovered requirements (AC-level, especially gameplay mechanics)
76
+ 5. Risk `must_fix` recommendations
77
+ 6. Medium severity issues, then low
78
+
79
+ Guidance:
80
+
81
+ - Prefer tests closing coverage gaps before/with code changes
82
+ - Keep changes minimal and targeted; follow Godot best practices and project architecture
83
+ - Respect scene organization and node hierarchy
84
+ - Follow GDScript style guide or C# conventions as appropriate
85
+
86
+ ### 3) Apply Changes
87
+
88
+ - Implement game code fixes per plan:
89
+ - GDScript: Follow Godot style guide, use signals for decoupling
90
+ - C#: Follow .NET conventions, use events/delegates appropriately
91
+ - Add missing tests to close coverage gaps:
92
+ - **GDScript Tests (GUT)**:
93
+ - Unit tests in `test/unit/` for game logic
94
+ - Integration tests in `test/integration/` for scene interactions
95
+ - Use `gut.p()` for parameterized tests
96
+ - Mock nodes with `double()` and `stub()`
97
+ - **C# Tests (GoDotTest/GodotTestDriver)**:
98
+ - Unit tests using xUnit or NUnit patterns
99
+ - Integration tests for scene and node interactions
100
+ - Use test fixtures for game state setup
101
+ - Follow Godot patterns:
102
+ - Autoload/singleton patterns for global game state
103
+ - Signal-based communication between nodes
104
+ - Resource files (.tres/.res) for data management
105
+ - Scene inheritance for reusable components
106
+
107
+ ### 4) Validate
108
+
109
+ **For GDScript Projects:**
110
+
111
+ - Run GUT tests: `godot --headless --script res://addons/gut/gut_cmdln.gd -gselect=test/ -gexit`
112
+ - Check for script errors in Godot Editor (Script Editor panel)
113
+ - Validate scene references and node paths
114
+ - Run game in editor to verify no runtime errors
115
+
116
+ **For C# Projects:**
117
+
118
+ - Build solution: `dotnet build`
119
+ - Run tests: `dotnet test` or `godot --headless --run-tests`
120
+ - Check for compilation errors
121
+ - Validate no null reference exceptions in gameplay
122
+
123
+ **For Both:**
124
+
125
+ - Test gameplay mechanics manually if needed
126
+ - Verify performance (check FPS, memory usage)
127
+ - Iterate until all tests pass and no errors
128
+
129
+ ### 5) Update Story (Allowed Sections ONLY)
130
+
131
+ CRITICAL: Dev agent is ONLY authorized to update these sections of the story file. Do not modify any other sections (e.g., QA Results, Story, Acceptance Criteria, Dev Notes, Testing):
132
+
133
+ - Tasks / Subtasks Checkboxes (mark any fix subtask you added as done)
134
+ - Dev Agent Record →
135
+ - Agent Model Used (if changed)
136
+ - Debug Log References (test results, Godot console output)
137
+ - Completion Notes List (what changed, why, how)
138
+ - File List (all added/modified/deleted files)
139
+ - Change Log (new dated entry describing applied fixes)
140
+ - Status (see Rule below)
141
+
142
+ Status Rule:
143
+
144
+ - If gate was PASS and all identified gaps are closed → set `Status: Ready for Done`
145
+ - Otherwise → set `Status: Ready for Review` and notify QA to re-run the review
146
+
147
+ ### 6) Do NOT Edit Gate Files
148
+
149
+ - Dev does not modify gate YAML. If fixes address issues, request QA to re-run `review-story` to update the gate
150
+
151
+ ## Blocking Conditions
152
+
153
+ - Missing `bmad-core/core-config.yaml`
154
+ - Story file not found for `story_id`
155
+ - No QA artifacts found (neither gate nor assessments)
156
+ - HALT and request QA to generate at least a gate file (or proceed only with clear developer-provided fix list)
157
+ - Godot project file (`project.godot`) not found
158
+ - Testing framework not properly installed (GUT addon missing or NuGet packages not restored)
159
+
160
+ ## Completion Checklist
161
+
162
+ - Godot project builds without errors
163
+ - All tests pass:
164
+ - GDScript: GUT tests green
165
+ - C#: dotnet test successful
166
+ - No script errors in Godot Editor
167
+ - All high severity `top_issues` addressed
168
+ - NFR FAIL → resolved; CONCERNS minimized or documented
169
+ - Coverage gaps closed or explicitly documented with rationale
170
+ - Gameplay features tested and working
171
+ - Story updated (allowed sections only) including File List and Change Log
172
+ - Status set according to Status Rule
173
+
174
+ ## Example: Story 2.2 - Player Movement System
175
+
176
+ Given gate `docs/project/qa/gates/2.2-*.yml` shows
177
+
178
+ - `coverage_gaps`: Jump mechanics edge cases untested (AC2)
179
+ - `coverage_gaps`: Input buffering not tested (AC4)
180
+ - `top_issues`: Performance drops when multiple players active
181
+
182
+ Fix plan:
183
+
184
+ **GDScript Example:**
185
+
186
+ - Add GUT test for jump height variation based on button hold time
187
+ - Add test for input buffering during state transitions
188
+ - Optimize player movement script using object pooling for effects
189
+ - Test with `gut.p()` parameterized tests for different player counts
190
+
191
+ **C# Example:**
192
+
193
+ - Add GoDotTest unit test for jump physics calculations
194
+ - Add integration test for input system using GodotTestDriver
195
+ - Refactor movement system to use Jobs/Tasks for parallel processing
196
+ - Verify with performance profiler
197
+
198
+ - Re-run tests and update Dev Agent Record + File List accordingly
199
+
200
+ ## Key Principles
201
+
202
+ - Deterministic, risk-first prioritization
203
+ - Minimal, maintainable changes following Godot best practices
204
+ - Tests validate gameplay behavior and close gapså
205
+ - Respect Godot's node-based architecture and signal system
206
+ - Maintain clear separation between game logic and presentation
207
+ - Strict adherence to allowed story update areas
208
+ - Gate ownership remains with QA; Game Developer signals readiness via Status
209
+
210
+ ## Testing Framework References
211
+
212
+ ### GUT (GDScript)
213
+
214
+ - Documentation: https://github.com/bitwes/Gut/wiki
215
+ - Test structure: `extends GutTest`
216
+ - Assertions: `assert_eq()`, `assert_true()`, `assert_has_signal()`
217
+ - Mocking: `double()`, `stub()`, `spy_on()`
218
+
219
+ ### GoDotTest/GodotTestDriver (C#)
220
+
221
+ - GoDotTest: xUnit-style testing for Godot C#
222
+ - GodotTestDriver: Integration testing with scene manipulation
223
+ - Test attributes: `[Fact]`, `[Theory]`, `[InlineData]`
224
+ - Scene testing: Load scenes, interact with nodes, verify state
@@ -0,0 +1,162 @@
1
+ <!-- Powered by BMAD™ Core -->
2
+
3
+ # Create Brownfield Epic Task
4
+
5
+ ## Purpose
6
+
7
+ Create a single epic for smaller brownfield enhancements that don't require the full PRD and Architecture documentation process. This task is for isolated features or modifications that can be completed within a focused scope.
8
+
9
+ ## When to Use This Task
10
+
11
+ **Use this task when:**
12
+
13
+ - The enhancement can be completed in 1-3 stories
14
+ - No significant architectural changes are required
15
+ - The enhancement follows existing project patterns
16
+ - Integration complexity is minimal
17
+ - Risk to existing system is low
18
+
19
+ **Use the full brownfield PRD/Architecture process when:**
20
+
21
+ - The enhancement requires multiple coordinated stories
22
+ - Architectural planning is needed
23
+ - Significant integration work is required
24
+ - Risk assessment and mitigation planning is necessary
25
+
26
+ ## Instructions
27
+
28
+ ### 1. Project Analysis (Required)
29
+
30
+ Before creating the epic, gather essential information about the existing project:
31
+
32
+ **Existing Project Context:**
33
+
34
+ - [ ] Project purpose and current functionality understood
35
+ - [ ] Existing technology stack identified
36
+ - [ ] Current architecture patterns noted
37
+ - [ ] Integration points with existing system identified
38
+
39
+ **Enhancement Scope:**
40
+
41
+ - [ ] Enhancement clearly defined and scoped
42
+ - [ ] Impact on existing functionality assessed
43
+ - [ ] Required integration points identified
44
+ - [ ] Success criteria established
45
+
46
+ ### 2. Epic Creation
47
+
48
+ Create a focused epic following this structure:
49
+
50
+ #### Epic Title
51
+
52
+ {{Enhancement Name}} - Brownfield Enhancement
53
+
54
+ #### Epic Goal
55
+
56
+ {{1-2 sentences describing what the epic will accomplish and why it adds value}}
57
+
58
+ #### Epic Description
59
+
60
+ **Existing System Context:**
61
+
62
+ - Current relevant functionality: {{brief description}}
63
+ - Technology stack: {{relevant existing technologies}}
64
+ - Integration points: {{where new work connects to existing system}}
65
+
66
+ **Enhancement Details:**
67
+
68
+ - What's being added/changed: {{clear description}}
69
+ - How it integrates: {{integration approach}}
70
+ - Success criteria: {{measurable outcomes}}
71
+
72
+ #### Stories
73
+
74
+ List 1-3 focused stories that complete the epic:
75
+
76
+ 1. **Story 1:** {{Story title and brief description}}
77
+ 2. **Story 2:** {{Story title and brief description}}
78
+ 3. **Story 3:** {{Story title and brief description}}
79
+
80
+ #### Compatibility Requirements
81
+
82
+ - [ ] Existing APIs remain unchanged
83
+ - [ ] Database schema changes are backward compatible
84
+ - [ ] UI changes follow existing patterns
85
+ - [ ] Performance impact is minimal
86
+
87
+ #### Risk Mitigation
88
+
89
+ - **Primary Risk:** {{main risk to existing system}}
90
+ - **Mitigation:** {{how risk will be addressed}}
91
+ - **Rollback Plan:** {{how to undo changes if needed}}
92
+
93
+ #### Definition of Done
94
+
95
+ - [ ] All stories completed with acceptance criteria met
96
+ - [ ] Existing functionality verified through testing
97
+ - [ ] Integration points working correctly
98
+ - [ ] Documentation updated appropriately
99
+ - [ ] No regression in existing features
100
+
101
+ ### 3. Validation Checklist
102
+
103
+ Before finalizing the epic, ensure:
104
+
105
+ **Scope Validation:**
106
+
107
+ - [ ] Epic can be completed in 1-3 stories maximum
108
+ - [ ] No architectural documentation is required
109
+ - [ ] Enhancement follows existing patterns
110
+ - [ ] Integration complexity is manageable
111
+
112
+ **Risk Assessment:**
113
+
114
+ - [ ] Risk to existing system is low
115
+ - [ ] Rollback plan is feasible
116
+ - [ ] Testing approach covers existing functionality
117
+ - [ ] Team has sufficient knowledge of integration points
118
+
119
+ **Completeness Check:**
120
+
121
+ - [ ] Epic goal is clear and achievable
122
+ - [ ] Stories are properly scoped
123
+ - [ ] Success criteria are measurable
124
+ - [ ] Dependencies are identified
125
+
126
+ ### 4. Handoff to Story Manager
127
+
128
+ Once the epic is validated, provide this handoff to the Story Manager:
129
+
130
+ ---
131
+
132
+ **Story Manager Handoff:**
133
+
134
+ "Please develop detailed user stories for this brownfield epic. Key considerations:
135
+
136
+ - This is an enhancement to an existing system running {{technology stack}}
137
+ - Integration points: {{list key integration points}}
138
+ - Existing patterns to follow: {{relevant existing patterns}}
139
+ - Critical compatibility requirements: {{key requirements}}
140
+ - Each story must include verification that existing functionality remains intact
141
+
142
+ The epic should maintain system integrity while delivering {{epic goal}}."
143
+
144
+ ---
145
+
146
+ ## Success Criteria
147
+
148
+ The epic creation is successful when:
149
+
150
+ 1. Enhancement scope is clearly defined and appropriately sized
151
+ 2. Integration approach respects existing system architecture
152
+ 3. Risk to existing functionality is minimized
153
+ 4. Stories are logically sequenced for safe implementation
154
+ 5. Compatibility requirements are clearly specified
155
+ 6. Rollback plan is feasible and documented
156
+
157
+ ## Important Notes
158
+
159
+ - This task is specifically for SMALL brownfield enhancements
160
+ - If the scope grows beyond 3 stories, consider the full brownfield PRD process
161
+ - Always prioritize existing system integrity over new functionality
162
+ - When in doubt about scope or complexity, escalate to full brownfield planning