bmad-method 6.0.0-alpha.17 → 6.0.0-alpha.19

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 (185) hide show
  1. package/CHANGELOG.md +117 -0
  2. package/package.json +1 -1
  3. package/src/modules/bmgd/_module-installer/installer.js +160 -0
  4. package/src/modules/bmgd/_module-installer/platform-specifics/claude-code.js +23 -0
  5. package/src/modules/bmgd/_module-installer/platform-specifics/windsurf.js +18 -0
  6. package/src/modules/bmgd/agents/game-architect.agent.yaml +23 -8
  7. package/src/modules/bmgd/agents/game-designer.agent.yaml +38 -18
  8. package/src/modules/bmgd/agents/game-dev.agent.yaml +30 -14
  9. package/src/modules/bmgd/agents/game-qa.agent.yaml +64 -0
  10. package/src/modules/bmgd/agents/game-scrum-master.agent.yaml +27 -39
  11. package/src/modules/bmgd/agents/game-solo-dev.agent.yaml +56 -0
  12. package/src/modules/bmgd/docs/README.md +180 -0
  13. package/src/modules/bmgd/docs/agents-guide.md +407 -0
  14. package/src/modules/bmgd/docs/game-types-guide.md +503 -0
  15. package/src/modules/bmgd/docs/glossary.md +294 -0
  16. package/src/modules/bmgd/docs/quick-flow-guide.md +288 -0
  17. package/src/modules/bmgd/docs/quick-start.md +250 -0
  18. package/src/modules/bmgd/docs/troubleshooting.md +259 -0
  19. package/src/modules/bmgd/docs/workflow-overview.jpg +0 -0
  20. package/src/modules/bmgd/docs/workflows-guide.md +463 -0
  21. package/src/modules/bmgd/gametest/knowledge/balance-testing.md +220 -0
  22. package/src/modules/bmgd/gametest/knowledge/certification-testing.md +319 -0
  23. package/src/modules/bmgd/gametest/knowledge/compatibility-testing.md +228 -0
  24. package/src/modules/bmgd/gametest/knowledge/godot-testing.md +376 -0
  25. package/src/modules/bmgd/gametest/knowledge/input-testing.md +315 -0
  26. package/src/modules/bmgd/gametest/knowledge/localization-testing.md +304 -0
  27. package/src/modules/bmgd/gametest/knowledge/multiplayer-testing.md +322 -0
  28. package/src/modules/bmgd/gametest/knowledge/performance-testing.md +204 -0
  29. package/src/modules/bmgd/gametest/knowledge/playtesting.md +384 -0
  30. package/src/modules/bmgd/gametest/knowledge/qa-automation.md +190 -0
  31. package/src/modules/bmgd/gametest/knowledge/regression-testing.md +280 -0
  32. package/src/modules/bmgd/gametest/knowledge/save-testing.md +280 -0
  33. package/src/modules/bmgd/gametest/knowledge/smoke-testing.md +404 -0
  34. package/src/modules/bmgd/gametest/knowledge/test-priorities.md +271 -0
  35. package/src/modules/bmgd/gametest/knowledge/unity-testing.md +383 -0
  36. package/src/modules/bmgd/gametest/knowledge/unreal-testing.md +388 -0
  37. package/src/modules/bmgd/gametest/qa-index.csv +17 -0
  38. package/src/modules/bmgd/module.yaml +25 -9
  39. package/src/modules/bmgd/teams/default-party.csv +2 -0
  40. package/src/modules/bmgd/teams/team-gamedev.yaml +12 -1
  41. package/src/modules/bmgd/workflows/1-preproduction/brainstorm-game/steps/step-01-init.md +164 -0
  42. package/src/modules/bmgd/workflows/1-preproduction/brainstorm-game/steps/step-02-context.md +210 -0
  43. package/src/modules/bmgd/workflows/1-preproduction/brainstorm-game/steps/step-03-ideation.md +289 -0
  44. package/src/modules/bmgd/workflows/1-preproduction/brainstorm-game/steps/step-04-complete.md +275 -0
  45. package/src/modules/bmgd/workflows/1-preproduction/brainstorm-game/workflow.md +49 -0
  46. package/src/modules/bmgd/workflows/1-preproduction/brainstorm-game/workflow.yaml +29 -8
  47. package/src/modules/bmgd/workflows/1-preproduction/game-brief/steps/step-01-init.md +223 -0
  48. package/src/modules/bmgd/workflows/1-preproduction/game-brief/steps/step-01b-continue.md +151 -0
  49. package/src/modules/bmgd/workflows/1-preproduction/game-brief/steps/step-02-vision.md +218 -0
  50. package/src/modules/bmgd/workflows/1-preproduction/game-brief/steps/step-03-market.md +218 -0
  51. package/src/modules/bmgd/workflows/1-preproduction/game-brief/steps/step-04-fundamentals.md +231 -0
  52. package/src/modules/bmgd/workflows/1-preproduction/game-brief/steps/step-05-scope.md +242 -0
  53. package/src/modules/bmgd/workflows/1-preproduction/game-brief/steps/step-06-references.md +224 -0
  54. package/src/modules/bmgd/workflows/1-preproduction/game-brief/steps/step-07-content.md +282 -0
  55. package/src/modules/bmgd/workflows/1-preproduction/game-brief/steps/step-08-complete.md +296 -0
  56. package/src/modules/bmgd/workflows/1-preproduction/game-brief/workflow.md +62 -0
  57. package/src/modules/bmgd/workflows/1-preproduction/game-brief/workflow.yaml +40 -9
  58. package/src/modules/bmgd/workflows/2-design/gdd/steps/step-01-init.md +248 -0
  59. package/src/modules/bmgd/workflows/2-design/gdd/steps/step-01b-continue.md +173 -0
  60. package/src/modules/bmgd/workflows/2-design/gdd/steps/step-02-context.md +332 -0
  61. package/src/modules/bmgd/workflows/2-design/gdd/steps/step-03-platforms.md +245 -0
  62. package/src/modules/bmgd/workflows/2-design/gdd/steps/step-04-vision.md +229 -0
  63. package/src/modules/bmgd/workflows/2-design/gdd/steps/step-05-core-gameplay.md +258 -0
  64. package/src/modules/bmgd/workflows/2-design/gdd/steps/step-06-mechanics.md +249 -0
  65. package/src/modules/bmgd/workflows/2-design/gdd/steps/step-07-game-type.md +266 -0
  66. package/src/modules/bmgd/workflows/2-design/gdd/steps/step-08-progression.md +272 -0
  67. package/src/modules/bmgd/workflows/2-design/gdd/steps/step-09-levels.md +264 -0
  68. package/src/modules/bmgd/workflows/2-design/gdd/steps/step-10-art-audio.md +255 -0
  69. package/src/modules/bmgd/workflows/2-design/gdd/steps/step-11-technical.md +275 -0
  70. package/src/modules/bmgd/workflows/2-design/gdd/steps/step-12-epics.md +284 -0
  71. package/src/modules/bmgd/workflows/2-design/gdd/steps/step-13-metrics.md +250 -0
  72. package/src/modules/bmgd/workflows/2-design/gdd/steps/step-14-complete.md +335 -0
  73. package/src/modules/bmgd/workflows/2-design/gdd/workflow.md +61 -0
  74. package/src/modules/bmgd/workflows/2-design/gdd/workflow.yaml +27 -7
  75. package/src/modules/bmgd/workflows/2-design/narrative/steps/step-01-init.md +228 -0
  76. package/src/modules/bmgd/workflows/2-design/narrative/steps/step-01b-continue.md +163 -0
  77. package/src/modules/bmgd/workflows/2-design/narrative/steps/step-02-foundation.md +262 -0
  78. package/src/modules/bmgd/workflows/2-design/narrative/steps/step-03-story.md +238 -0
  79. package/src/modules/bmgd/workflows/2-design/narrative/steps/step-04-characters.md +297 -0
  80. package/src/modules/bmgd/workflows/2-design/narrative/steps/step-05-world.md +262 -0
  81. package/src/modules/bmgd/workflows/2-design/narrative/steps/step-06-dialogue.md +250 -0
  82. package/src/modules/bmgd/workflows/2-design/narrative/steps/step-07-environmental.md +244 -0
  83. package/src/modules/bmgd/workflows/2-design/narrative/steps/step-08-delivery.md +264 -0
  84. package/src/modules/bmgd/workflows/2-design/narrative/steps/step-09-integration.md +254 -0
  85. package/src/modules/bmgd/workflows/2-design/narrative/steps/step-10-production.md +262 -0
  86. package/src/modules/bmgd/workflows/2-design/narrative/steps/step-11-complete.md +331 -0
  87. package/src/modules/bmgd/workflows/2-design/narrative/workflow.md +57 -0
  88. package/src/modules/bmgd/workflows/2-design/narrative/workflow.yaml +53 -8
  89. package/src/modules/bmgd/workflows/3-technical/game-architecture/steps/step-01-init.md +223 -0
  90. package/src/modules/bmgd/workflows/3-technical/game-architecture/steps/step-01b-continue.md +153 -0
  91. package/src/modules/bmgd/workflows/3-technical/game-architecture/steps/step-02-context.md +262 -0
  92. package/src/modules/bmgd/workflows/3-technical/game-architecture/steps/step-03-starter.md +290 -0
  93. package/src/modules/bmgd/workflows/3-technical/game-architecture/steps/step-04-decisions.md +300 -0
  94. package/src/modules/bmgd/workflows/3-technical/game-architecture/steps/step-05-crosscutting.md +319 -0
  95. package/src/modules/bmgd/workflows/3-technical/game-architecture/steps/step-06-structure.md +304 -0
  96. package/src/modules/bmgd/workflows/3-technical/game-architecture/steps/step-07-patterns.md +349 -0
  97. package/src/modules/bmgd/workflows/3-technical/game-architecture/steps/step-08-validation.md +293 -0
  98. package/src/modules/bmgd/workflows/3-technical/game-architecture/steps/step-09-complete.md +302 -0
  99. package/src/modules/bmgd/workflows/3-technical/game-architecture/workflow.md +55 -0
  100. package/src/modules/bmgd/workflows/3-technical/game-architecture/workflow.yaml +50 -21
  101. package/src/modules/bmgd/workflows/4-production/code-review/checklist.md +23 -0
  102. package/src/modules/bmgd/workflows/4-production/code-review/instructions.xml +225 -0
  103. package/src/modules/bmgd/workflows/4-production/code-review/workflow.yaml +18 -15
  104. package/src/modules/bmgd/workflows/4-production/correct-course/checklist.md +1 -1
  105. package/src/modules/bmgd/workflows/4-production/correct-course/instructions.md +1 -1
  106. package/src/modules/bmgd/workflows/4-production/correct-course/workflow.yaml +11 -6
  107. package/src/modules/bmgd/workflows/4-production/create-story/checklist.md +332 -214
  108. package/src/modules/bmgd/workflows/4-production/create-story/instructions.xml +298 -0
  109. package/src/modules/bmgd/workflows/4-production/create-story/template.md +3 -5
  110. package/src/modules/bmgd/workflows/4-production/create-story/workflow.yaml +12 -7
  111. package/src/modules/bmgd/workflows/4-production/dev-story/checklist.md +65 -23
  112. package/src/modules/bmgd/workflows/4-production/dev-story/instructions.xml +409 -0
  113. package/src/modules/bmgd/workflows/4-production/dev-story/workflow.yaml +13 -3
  114. package/src/modules/bmgd/workflows/4-production/retrospective/instructions.md +4 -4
  115. package/src/modules/bmgd/workflows/4-production/retrospective/workflow.yaml +12 -7
  116. package/src/modules/bmgd/workflows/4-production/sprint-planning/instructions.md +32 -41
  117. package/src/modules/bmgd/workflows/4-production/sprint-planning/sprint-status-template.yaml +13 -13
  118. package/src/modules/bmgd/workflows/4-production/sprint-planning/workflow.yaml +6 -1
  119. package/src/modules/bmgd/workflows/4-production/sprint-status/instructions.md +229 -0
  120. package/src/modules/bmgd/workflows/4-production/sprint-status/workflow.yaml +35 -0
  121. package/src/modules/bmgd/workflows/bmgd-quick-flow/create-tech-spec/instructions.md +140 -0
  122. package/src/modules/bmgd/workflows/bmgd-quick-flow/create-tech-spec/workflow.yaml +27 -0
  123. package/src/modules/bmgd/workflows/bmgd-quick-flow/quick-dev/checklist.md +37 -0
  124. package/src/modules/bmgd/workflows/bmgd-quick-flow/quick-dev/instructions.md +220 -0
  125. package/src/modules/bmgd/workflows/bmgd-quick-flow/quick-dev/workflow.yaml +45 -0
  126. package/src/modules/bmgd/workflows/bmgd-quick-flow/quick-prototype/checklist.md +26 -0
  127. package/src/modules/bmgd/workflows/bmgd-quick-flow/quick-prototype/instructions.md +156 -0
  128. package/src/modules/bmgd/workflows/bmgd-quick-flow/quick-prototype/workflow.yaml +36 -0
  129. package/src/modules/bmgd/workflows/gametest/automate/checklist.md +93 -0
  130. package/src/modules/bmgd/workflows/gametest/automate/instructions.md +317 -0
  131. package/src/modules/bmgd/workflows/gametest/automate/workflow.yaml +50 -0
  132. package/src/modules/bmgd/workflows/gametest/performance/checklist.md +96 -0
  133. package/src/modules/bmgd/workflows/gametest/performance/instructions.md +323 -0
  134. package/src/modules/bmgd/workflows/gametest/performance/performance-template.md +256 -0
  135. package/src/modules/bmgd/workflows/gametest/performance/workflow.yaml +48 -0
  136. package/src/modules/bmgd/workflows/gametest/playtest-plan/checklist.md +93 -0
  137. package/src/modules/bmgd/workflows/gametest/playtest-plan/instructions.md +297 -0
  138. package/src/modules/bmgd/workflows/gametest/playtest-plan/playtest-template.md +208 -0
  139. package/src/modules/bmgd/workflows/gametest/playtest-plan/workflow.yaml +59 -0
  140. package/src/modules/bmgd/workflows/gametest/test-design/checklist.md +98 -0
  141. package/src/modules/bmgd/workflows/gametest/test-design/instructions.md +280 -0
  142. package/src/modules/bmgd/workflows/gametest/test-design/test-design-template.md +205 -0
  143. package/src/modules/bmgd/workflows/gametest/test-design/workflow.yaml +47 -0
  144. package/src/modules/bmgd/workflows/gametest/test-framework/checklist.md +103 -0
  145. package/src/modules/bmgd/workflows/gametest/test-framework/instructions.md +348 -0
  146. package/src/modules/bmgd/workflows/gametest/test-framework/workflow.yaml +48 -0
  147. package/src/modules/bmgd/workflows/gametest/test-review/checklist.md +87 -0
  148. package/src/modules/bmgd/workflows/gametest/test-review/instructions.md +272 -0
  149. package/src/modules/bmgd/workflows/gametest/test-review/test-review-template.md +203 -0
  150. package/src/modules/bmgd/workflows/gametest/test-review/workflow.yaml +48 -0
  151. package/src/modules/bmgd/workflows/workflow-status/init/instructions.md +299 -0
  152. package/src/modules/bmgd/workflows/workflow-status/init/workflow.yaml +29 -0
  153. package/src/modules/bmgd/workflows/workflow-status/instructions.md +395 -0
  154. package/src/modules/bmgd/workflows/workflow-status/paths/gamedev-brownfield.yaml +65 -0
  155. package/src/modules/bmgd/workflows/workflow-status/paths/gamedev-greenfield.yaml +71 -0
  156. package/src/modules/bmgd/workflows/workflow-status/paths/quickflow-brownfield.yaml +29 -0
  157. package/src/modules/bmgd/workflows/workflow-status/paths/quickflow-greenfield.yaml +39 -0
  158. package/src/modules/bmgd/workflows/workflow-status/project-levels.yaml +63 -0
  159. package/src/modules/bmgd/workflows/workflow-status/workflow-status-template.yaml +24 -0
  160. package/src/modules/bmgd/workflows/workflow-status/workflow.yaml +30 -0
  161. package/tools/cli/commands/install.js +9 -0
  162. package/tools/cli/installers/lib/core/installer.js +140 -592
  163. package/tools/cli/installers/lib/modules/manager.js +15 -3
  164. package/tools/cli/lib/agent/compiler.js +99 -0
  165. package/tools/cli/lib/ui.js +78 -27
  166. package/src/modules/bmgd/workflows/2-design/gdd/instructions-gdd.md +0 -502
  167. package/src/modules/bmgd/workflows/4-production/code-review/instructions.md +0 -398
  168. package/src/modules/bmgd/workflows/4-production/create-story/instructions.md +0 -256
  169. package/src/modules/bmgd/workflows/4-production/dev-story/instructions.md +0 -267
  170. package/src/modules/bmgd/workflows/4-production/epic-tech-context/checklist.md +0 -17
  171. package/src/modules/bmgd/workflows/4-production/epic-tech-context/instructions.md +0 -164
  172. package/src/modules/bmgd/workflows/4-production/epic-tech-context/template.md +0 -76
  173. package/src/modules/bmgd/workflows/4-production/epic-tech-context/workflow.yaml +0 -58
  174. package/src/modules/bmgd/workflows/4-production/story-context/checklist.md +0 -16
  175. package/src/modules/bmgd/workflows/4-production/story-context/context-template.xml +0 -34
  176. package/src/modules/bmgd/workflows/4-production/story-context/instructions.md +0 -209
  177. package/src/modules/bmgd/workflows/4-production/story-context/workflow.yaml +0 -63
  178. package/src/modules/bmgd/workflows/4-production/story-done/instructions.md +0 -111
  179. package/src/modules/bmgd/workflows/4-production/story-done/workflow.yaml +0 -28
  180. package/src/modules/bmgd/workflows/4-production/story-ready/instructions.md +0 -117
  181. package/src/modules/bmgd/workflows/4-production/story-ready/workflow.yaml +0 -25
  182. /package/src/modules/bmgd/workflows/1-preproduction/game-brief/{template.md → templates/game-brief-template.md} +0 -0
  183. /package/src/modules/bmgd/workflows/2-design/gdd/{gdd-template.md → templates/gdd-template.md} +0 -0
  184. /package/src/modules/bmgd/workflows/2-design/narrative/{narrative-template.md → templates/narrative-template.md} +0 -0
  185. /package/src/modules/bmgd/workflows/3-technical/game-architecture/{architecture-template.md → templates/architecture-template.md} +0 -0
@@ -0,0 +1,304 @@
1
+ ---
2
+ name: 'step-06-structure'
3
+ description: 'Define project structure, directory organization, and architectural boundaries'
4
+
5
+ # Path Definitions
6
+ workflow_path: '{project-root}/_bmad/bmgd/workflows/3-technical/game-architecture'
7
+
8
+ # File References
9
+ thisStepFile: '{workflow_path}/steps/step-06-structure.md'
10
+ nextStepFile: '{workflow_path}/steps/step-07-patterns.md'
11
+ workflowFile: '{workflow_path}/workflow.md'
12
+ outputFile: '{output_folder}/game-architecture.md'
13
+
14
+ # Task References
15
+ advancedElicitationTask: '{project-root}/_bmad/core/tasks/advanced-elicitation.xml'
16
+ partyModeWorkflow: '{project-root}/_bmad/core/workflows/party-mode/workflow.md'
17
+ ---
18
+
19
+ # Step 6: Project Structure
20
+
21
+ **Progress: Step 6 of 9** - Next: Implementation Patterns
22
+
23
+ ## STEP GOAL:
24
+
25
+ Define the complete project structure including directory organization, file naming conventions, and architectural boundaries. This ensures all AI agents place code consistently.
26
+
27
+ ## MANDATORY EXECUTION RULES (READ FIRST):
28
+
29
+ ### Universal Rules:
30
+
31
+ - NEVER generate content without user input
32
+ - CRITICAL: Read the complete step file before taking any action
33
+ - CRITICAL: When loading next step with 'C', ensure entire file is read
34
+ - YOU ARE A FACILITATOR, not a content generator
35
+ - NEVER mention time estimates
36
+
37
+ ### Role Reinforcement:
38
+
39
+ - You are a veteran game architect facilitator
40
+ - Project structure prevents "where does this go?" confusion
41
+ - Clear boundaries enable parallel development
42
+
43
+ ### Step-Specific Rules:
44
+
45
+ - Structure must be complete, not generic placeholders
46
+ - Map every major system to a location
47
+ - Define naming conventions explicitly
48
+
49
+ ## EXECUTION PROTOCOLS:
50
+
51
+ - Show your analysis before taking any action
52
+ - Present A/P/C menu after structure defined
53
+ - ONLY proceed when user chooses C (Continue)
54
+ - Update frontmatter `stepsCompleted: [1, 2, 3, 4, 5, 6]` before loading next step
55
+
56
+ ## COLLABORATION MENUS (A/P/C):
57
+
58
+ - **A (Advanced Elicitation)**: Refine structure organization
59
+ - **P (Party Mode)**: Get perspectives on layout
60
+ - **C (Continue)**: Confirm structure and proceed
61
+
62
+ ## Sequence of Instructions (Do not deviate, skip, or optimize)
63
+
64
+ ### 1. Determine Organization Pattern
65
+
66
+ "Let's define how your project will be organized.
67
+
68
+ **Organization Patterns:**
69
+
70
+ | Pattern | Description | Best For |
71
+ | ----------------- | -------------------------------- | ------------- |
72
+ | **By Feature** | All related files together | Feature teams |
73
+ | **By Type** | Scripts, assets, scenes separate | Traditional |
74
+ | **Hybrid** | Types at top, features within | Balanced |
75
+ | **Domain-Driven** | By game domain/system | Complex games |
76
+
77
+ **Engine Conventions:**
78
+
79
+ - {{engine}} typically uses: {{engine_convention}}
80
+
81
+ What organization pattern do you prefer?"
82
+
83
+ ### 2. Define Root Structure
84
+
85
+ "Based on {{selected_pattern}}, let's define your root structure.
86
+
87
+ **For {{engine}}, typical root looks like:**
88
+
89
+ ```
90
+ {{project_name}}/
91
+ ├── {{source_folder}}/ # Game source code
92
+ ├── {{assets_folder}}/ # Art, audio, data
93
+ ├── {{scenes_folder}}/ # Scene/level files
94
+ ├── {{tests_folder}}/ # Test files
95
+ ├── {{docs_folder}}/ # Documentation
96
+ └── {{config_files}} # Project config
97
+ ```
98
+
99
+ Does this work, or would you like to adjust?"
100
+
101
+ ### 3. Detail Source Structure
102
+
103
+ "Now let's detail the source code organization.
104
+
105
+ **Based on your systems:**
106
+ {{list_of_systems_from_context}}
107
+
108
+ **Proposed structure:**
109
+
110
+ ```
111
+ {{source_folder}}/
112
+ ├── core/ # Core systems (singletons, managers)
113
+ │ ├── {{core_systems}}
114
+ ├── gameplay/ # Gameplay mechanics
115
+ │ ├── {{gameplay_systems}}
116
+ ├── ui/ # User interface
117
+ │ ├── {{ui_organization}}
118
+ ├── utils/ # Utilities and helpers
119
+ │ ├── {{util_types}}
120
+ └── data/ # Data structures and models
121
+ └── {{data_types}}
122
+ ```
123
+
124
+ What adjustments would you make?"
125
+
126
+ ### 4. Define Asset Structure
127
+
128
+ "Let's organize your assets.
129
+
130
+ **Asset Categories:**
131
+
132
+ - Art (sprites, textures, models)
133
+ - Audio (music, sfx, voice)
134
+ - Data (configurations, levels)
135
+ - UI (interface assets)
136
+
137
+ **Proposed asset structure:**
138
+
139
+ ```
140
+ {{assets_folder}}/
141
+ ├── art/
142
+ │ ├── {{art_categories}}
143
+ ├── audio/
144
+ │ ├── music/
145
+ │ ├── sfx/
146
+ │ └── {{audio_categories}}
147
+ ├── data/
148
+ │ └── {{data_file_types}}
149
+ └── ui/
150
+ └── {{ui_asset_types}}
151
+ ```
152
+
153
+ How should assets be organized?"
154
+
155
+ ### 5. Map Systems to Locations
156
+
157
+ "Let's map each major system to its location.
158
+
159
+ | System | Location | Notes |
160
+ | ------ | -------- | ----- |
161
+
162
+ {{system_location_mapping}}
163
+
164
+ Does this mapping make sense for your project?"
165
+
166
+ ### 6. Define Naming Conventions
167
+
168
+ "Finally, let's establish naming conventions.
169
+
170
+ **Files:**
171
+
172
+ - Scripts: {{script_naming}} (e.g., PlayerController, enemy_spawner)
173
+ - Scenes: {{scene_naming}} (e.g., Level01, main_menu)
174
+ - Assets: {{asset_naming}} (e.g., player_idle, btn_play)
175
+
176
+ **Code Elements:**
177
+
178
+ - Classes: {{class_naming}} (e.g., PascalCase)
179
+ - Functions: {{function_naming}} (e.g., snake_case, camelCase)
180
+ - Variables: {{variable_naming}}
181
+ - Constants: {{constant_naming}} (e.g., UPPER_SNAKE)
182
+
183
+ **Game-Specific:**
184
+
185
+ - Prefabs/Scenes: {{prefab_naming}}
186
+ - Animation clips: {{animation_naming}}
187
+ - Event names: {{event_naming}}
188
+
189
+ What are your naming preferences?"
190
+
191
+ ### 7. Generate Structure Section
192
+
193
+ Based on the conversation, prepare the content:
194
+
195
+ ```markdown
196
+ ## Project Structure
197
+
198
+ ### Organization Pattern
199
+
200
+ **Pattern:** {{organization_pattern}}
201
+
202
+ **Rationale:** {{why_this_pattern}}
203
+
204
+ ### Directory Structure
205
+ ```
206
+
207
+ {{project_name}}/
208
+ {{complete_directory_tree}}
209
+
210
+ ```
211
+
212
+ ### System Location Mapping
213
+
214
+ | System | Location | Responsibility |
215
+ |--------|----------|----------------|
216
+ {{system_mapping_table}}
217
+
218
+ ### Naming Conventions
219
+
220
+ #### Files
221
+ {{file_naming_rules}}
222
+
223
+ #### Code Elements
224
+ | Element | Convention | Example |
225
+ |---------|------------|---------|
226
+ {{code_naming_table}}
227
+
228
+ #### Game Assets
229
+ {{asset_naming_rules}}
230
+
231
+ ### Architectural Boundaries
232
+
233
+ {{boundary_rules}}
234
+ ```
235
+
236
+ ### 8. Present Content and Menu
237
+
238
+ Show the generated content to the user and present:
239
+
240
+ "I've defined the complete project structure.
241
+
242
+ **Here's what I'll add to the document:**
243
+
244
+ [Show the complete markdown content from step 7]
245
+
246
+ **Validation Check:**
247
+
248
+ - Can every system find its home?
249
+ - Are naming conventions clear and consistent?
250
+ - Will AI agents know exactly where to place new code?
251
+
252
+ **Select an Option:**
253
+ [A] Advanced Elicitation - Refine structure organization
254
+ [P] Party Mode - Get perspectives on layout
255
+ [C] Continue - Save this and move to Implementation Patterns (Step 7 of 9)"
256
+
257
+ ### 9. Handle Menu Selection
258
+
259
+ #### IF A (Advanced Elicitation):
260
+
261
+ - Execute {advancedElicitationTask} with the current content
262
+ - Ask user: "Accept these changes? (y/n)"
263
+ - If yes: Update content, return to A/P/C menu
264
+ - If no: Keep original, return to A/P/C menu
265
+
266
+ #### IF P (Party Mode):
267
+
268
+ - Execute {partyModeWorkflow} with the current content
269
+ - Ask user: "Accept these changes? (y/n)"
270
+ - If yes: Update content, return to A/P/C menu
271
+ - If no: Keep original, return to A/P/C menu
272
+
273
+ #### IF C (Continue):
274
+
275
+ - Append the final content to `{outputFile}`
276
+ - Update frontmatter: `stepsCompleted: [1, 2, 3, 4, 5, 6]`
277
+ - Load `{nextStepFile}`
278
+
279
+ ## CRITICAL STEP COMPLETION NOTE
280
+
281
+ ONLY WHEN [C continue option] is selected and [structure content saved with frontmatter updated], will you then load and read fully `{nextStepFile}`.
282
+
283
+ ---
284
+
285
+ ## SYSTEM SUCCESS/FAILURE METRICS
286
+
287
+ ### SUCCESS:
288
+
289
+ - Complete directory structure defined
290
+ - Every system mapped to location
291
+ - Naming conventions explicit and consistent
292
+ - No placeholder or generic structures
293
+ - A/P/C menu presented and handled correctly
294
+ - Frontmatter updated with stepsCompleted: [1, 2, 3, 4, 5, 6]
295
+
296
+ ### SYSTEM FAILURE:
297
+
298
+ - Generic structure with placeholders
299
+ - Systems without clear locations
300
+ - Vague naming conventions
301
+ - Not presenting A/P/C menu after structure
302
+ - Proceeding without user selecting 'C'
303
+
304
+ **Master Rule:** Skipping steps, optimizing sequences, or not following exact instructions is FORBIDDEN and constitutes SYSTEM FAILURE.
@@ -0,0 +1,349 @@
1
+ ---
2
+ name: 'step-07-patterns'
3
+ description: 'Design implementation patterns and novel architectural patterns for consistency'
4
+
5
+ # Path Definitions
6
+ workflow_path: '{project-root}/_bmad/bmgd/workflows/3-technical/game-architecture'
7
+
8
+ # File References
9
+ thisStepFile: '{workflow_path}/steps/step-07-patterns.md'
10
+ nextStepFile: '{workflow_path}/steps/step-08-validation.md'
11
+ workflowFile: '{workflow_path}/workflow.md'
12
+ outputFile: '{output_folder}/game-architecture.md'
13
+
14
+ # Knowledge Bases
15
+ patternCategories: '{workflow_path}/pattern-categories.csv'
16
+
17
+ # Task References
18
+ advancedElicitationTask: '{project-root}/_bmad/core/tasks/advanced-elicitation.xml'
19
+ partyModeWorkflow: '{project-root}/_bmad/core/workflows/party-mode/workflow.md'
20
+ ---
21
+
22
+ # Step 7: Implementation Patterns
23
+
24
+ **Progress: Step 7 of 9** - Next: Validation
25
+
26
+ ## STEP GOAL:
27
+
28
+ Define implementation patterns that ensure multiple AI agents write compatible, consistent code. Also identify and design any novel patterns needed for unique game features.
29
+
30
+ ## MANDATORY EXECUTION RULES (READ FIRST):
31
+
32
+ ### Universal Rules:
33
+
34
+ - NEVER generate content without user input
35
+ - CRITICAL: Read the complete step file before taking any action
36
+ - CRITICAL: When loading next step with 'C', ensure entire file is read
37
+ - YOU ARE A FACILITATOR, not a content generator
38
+ - NEVER mention time estimates
39
+
40
+ ### Role Reinforcement:
41
+
42
+ - You are a veteran game architect facilitator
43
+ - Implementation patterns prevent agent conflicts
44
+ - Novel patterns require creative collaboration
45
+
46
+ ### Step-Specific Rules:
47
+
48
+ - Every pattern needs a concrete example
49
+ - Focus on what agents could decide DIFFERENTLY
50
+ - Novel patterns need full design documentation
51
+
52
+ ## EXECUTION PROTOCOLS:
53
+
54
+ - Show your analysis before taking any action
55
+ - Present A/P/C menu after patterns defined
56
+ - ONLY proceed when user chooses C (Continue)
57
+ - Update frontmatter `stepsCompleted: [1, 2, 3, 4, 5, 6, 7]` before loading next step
58
+
59
+ ## COLLABORATION MENUS (A/P/C):
60
+
61
+ - **A (Advanced Elicitation)**: Explore alternative patterns
62
+ - **P (Party Mode)**: Get perspectives on patterns
63
+ - **C (Continue)**: Confirm patterns and proceed
64
+
65
+ ## Sequence of Instructions (Do not deviate, skip, or optimize)
66
+
67
+ ### 1. Identify Novel Patterns Needed
68
+
69
+ "First, let's identify if your game needs any custom architectural patterns.
70
+
71
+ **Novel patterns are needed when:**
72
+
73
+ - Standard patterns don't fit your gameplay
74
+ - You have unique mechanics not found in other games
75
+ - Multiple systems interact in non-standard ways
76
+
77
+ **From your GDD, I identified these potentially novel concepts:**
78
+ {{list_of_unique_features}}
79
+
80
+ Do any of these need custom architectural patterns?"
81
+
82
+ ### 2. Design Novel Patterns (if needed)
83
+
84
+ **For each novel pattern:**
85
+
86
+ "**Novel Pattern: {{pattern_name}}**
87
+
88
+ Let's design this pattern together.
89
+
90
+ **The challenge:** {{what_makes_this_unique}}
91
+
92
+ **Questions to answer:**
93
+
94
+ 1. What components are involved?
95
+ 2. How do they communicate?
96
+ 3. What's the data flow?
97
+ 4. How is state managed?
98
+ 5. What are the edge cases?
99
+
100
+ Walk me through how you envision {{pattern_name}} working."
101
+
102
+ **After user explains:**
103
+
104
+ "Based on your description, here's the pattern design:
105
+
106
+ **{{pattern_name}} Pattern**
107
+
108
+ **Components:**
109
+ {{component_list_with_responsibilities}}
110
+
111
+ **Data Flow:**
112
+ {{sequence_or_diagram}}
113
+
114
+ **State Management:**
115
+ {{state_approach}}
116
+
117
+ **Example Usage:**
118
+
119
+ ```{{language}}
120
+ {{code_example}}
121
+ ```
122
+
123
+ Does this capture your vision?"
124
+
125
+ ### 3. Define Standard Implementation Patterns
126
+
127
+ "Now let's define standard implementation patterns for consistency.
128
+
129
+ **These patterns ensure all AI agents:**
130
+
131
+ - Name things the same way
132
+ - Structure code identically
133
+ - Handle common situations consistently
134
+
135
+ Let's go through each category."
136
+
137
+ ### 4. Component Communication Pattern
138
+
139
+ "**Component Communication**
140
+
141
+ How should game objects communicate?
142
+
143
+ **Options:**
144
+
145
+ - **Direct references** - Simple but coupled
146
+ - **Event-based** - Decoupled but indirect
147
+ - **Service locator** - Central registry
148
+ - **Dependency injection** - Explicit dependencies
149
+
150
+ For game systems, what's your preferred approach?"
151
+
152
+ ### 5. Entity Creation Pattern
153
+
154
+ "**Entity Creation**
155
+
156
+ How should game entities (enemies, items, etc.) be created?
157
+
158
+ **Options:**
159
+
160
+ - **Factory pattern** - Centralized creation
161
+ - **Prefab instantiation** - Engine-native
162
+ - **Object pooling** - Performance-focused
163
+ - **Builder pattern** - Complex configuration
164
+
165
+ What's your entity creation approach?"
166
+
167
+ ### 6. State Transition Pattern
168
+
169
+ "**State Transitions**
170
+
171
+ How should entities handle state changes?
172
+
173
+ **Options:**
174
+
175
+ - **State machine** - Explicit states and transitions
176
+ - **Behavior tree** - AI-focused hierarchy
177
+ - **Blackboard** - Shared data approach
178
+ - **Flag-based** - Simple boolean states
179
+
180
+ What state management pattern for entities?"
181
+
182
+ ### 7. Data Access Pattern
183
+
184
+ "**Data Access**
185
+
186
+ How should systems access game data?
187
+
188
+ **Options:**
189
+
190
+ - **Direct file access** - Simple but scattered
191
+ - **Data manager** - Centralized access
192
+ - **Scriptable objects** - Engine-native (Unity)
193
+ - **Resources/Autoload** - Engine-native (Godot)
194
+
195
+ How should data be accessed?"
196
+
197
+ ### 8. Generate Patterns Section
198
+
199
+ Based on the conversation, prepare the content:
200
+
201
+ ````markdown
202
+ ## Implementation Patterns
203
+
204
+ These patterns ensure consistent implementation across all AI agents.
205
+
206
+ {{if_novel_patterns}}
207
+
208
+ ### Novel Patterns
209
+
210
+ #### {{novel_pattern_name}}
211
+
212
+ **Purpose:** {{what_it_solves}}
213
+
214
+ **Components:**
215
+ {{component_list}}
216
+
217
+ **Data Flow:**
218
+ {{flow_description}}
219
+
220
+ **Implementation Guide:**
221
+
222
+ ```{{language}}
223
+ {{implementation_example}}
224
+ ```
225
+ ````
226
+
227
+ **Usage:**
228
+ {{when_to_use}}
229
+ {{/if_novel_patterns}}
230
+
231
+ ### Communication Patterns
232
+
233
+ **Pattern:** {{communication_pattern}}
234
+
235
+ **Example:**
236
+
237
+ ```{{language}}
238
+ {{communication_example}}
239
+ ```
240
+
241
+ ### Entity Patterns
242
+
243
+ **Creation:** {{creation_pattern}}
244
+
245
+ **Example:**
246
+
247
+ ```{{language}}
248
+ {{creation_example}}
249
+ ```
250
+
251
+ ### State Patterns
252
+
253
+ **Pattern:** {{state_pattern}}
254
+
255
+ **Example:**
256
+
257
+ ```{{language}}
258
+ {{state_example}}
259
+ ```
260
+
261
+ ### Data Patterns
262
+
263
+ **Access:** {{data_pattern}}
264
+
265
+ **Example:**
266
+
267
+ ```{{language}}
268
+ {{data_example}}
269
+ ```
270
+
271
+ ### Consistency Rules
272
+
273
+ | Pattern | Convention | Enforcement |
274
+ | ------- | ---------- | ----------- |
275
+
276
+ {{consistency_rules_table}}
277
+
278
+ ```
279
+
280
+ ### 9. Present Content and Menu
281
+
282
+ Show the generated content to the user and present:
283
+
284
+ "I've documented all implementation patterns.
285
+
286
+ **Here's what I'll add to the document:**
287
+
288
+ [Show the complete markdown content from step 8]
289
+
290
+ **Patterns Defined:**
291
+ - {{count}} standard patterns
292
+ - {{novel_count}} novel patterns
293
+
294
+ **Validation Check:**
295
+ - Are examples clear enough for AI agents?
296
+ - Do patterns cover all major coding scenarios?
297
+ - Are novel patterns fully documented?
298
+
299
+ **Select an Option:**
300
+ [A] Advanced Elicitation - Explore alternative patterns
301
+ [P] Party Mode - Get perspectives on patterns
302
+ [C] Continue - Save this and move to Validation (Step 8 of 9)"
303
+
304
+ ### 10. Handle Menu Selection
305
+
306
+ #### IF A (Advanced Elicitation):
307
+ - Execute {advancedElicitationTask} with the current content
308
+ - Ask user: "Accept these changes? (y/n)"
309
+ - If yes: Update content, return to A/P/C menu
310
+ - If no: Keep original, return to A/P/C menu
311
+
312
+ #### IF P (Party Mode):
313
+ - Execute {partyModeWorkflow} with the current content
314
+ - Ask user: "Accept these changes? (y/n)"
315
+ - If yes: Update content, return to A/P/C menu
316
+ - If no: Keep original, return to A/P/C menu
317
+
318
+ #### IF C (Continue):
319
+ - Append the final content to `{outputFile}`
320
+ - Update frontmatter: `stepsCompleted: [1, 2, 3, 4, 5, 6, 7]`
321
+ - Load `{nextStepFile}`
322
+
323
+ ## CRITICAL STEP COMPLETION NOTE
324
+
325
+ ONLY WHEN [C continue option] is selected and [patterns content saved with frontmatter updated], will you then load and read fully `{nextStepFile}`.
326
+
327
+ ---
328
+
329
+ ## SYSTEM SUCCESS/FAILURE METRICS
330
+
331
+ ### SUCCESS:
332
+
333
+ - Novel patterns identified and designed
334
+ - Standard patterns selected with examples
335
+ - Every pattern has concrete code examples
336
+ - Consistency rules documented
337
+ - A/P/C menu presented and handled correctly
338
+ - Frontmatter updated with stepsCompleted: [1, 2, 3, 4, 5, 6, 7]
339
+
340
+ ### SYSTEM FAILURE:
341
+
342
+ - Patterns without concrete examples
343
+ - Novel patterns missing design documentation
344
+ - Vague patterns that allow inconsistency
345
+ - Not presenting A/P/C menu after patterns
346
+ - Proceeding without user selecting 'C'
347
+
348
+ **Master Rule:** Skipping steps, optimizing sequences, or not following exact instructions is FORBIDDEN and constitutes SYSTEM FAILURE.
349
+ ```