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

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 (186) hide show
  1. package/CHANGELOG.md +97 -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 +109 -109
  163. package/tools/cli/installers/lib/core/installer.js.bak +3204 -0
  164. package/tools/cli/installers/lib/modules/manager.js +16 -4
  165. package/tools/cli/lib/agent/compiler.js +99 -0
  166. package/tools/cli/lib/ui.js +78 -27
  167. package/src/modules/bmgd/workflows/2-design/gdd/instructions-gdd.md +0 -502
  168. package/src/modules/bmgd/workflows/4-production/code-review/instructions.md +0 -398
  169. package/src/modules/bmgd/workflows/4-production/create-story/instructions.md +0 -256
  170. package/src/modules/bmgd/workflows/4-production/dev-story/instructions.md +0 -267
  171. package/src/modules/bmgd/workflows/4-production/epic-tech-context/checklist.md +0 -17
  172. package/src/modules/bmgd/workflows/4-production/epic-tech-context/instructions.md +0 -164
  173. package/src/modules/bmgd/workflows/4-production/epic-tech-context/template.md +0 -76
  174. package/src/modules/bmgd/workflows/4-production/epic-tech-context/workflow.yaml +0 -58
  175. package/src/modules/bmgd/workflows/4-production/story-context/checklist.md +0 -16
  176. package/src/modules/bmgd/workflows/4-production/story-context/context-template.xml +0 -34
  177. package/src/modules/bmgd/workflows/4-production/story-context/instructions.md +0 -209
  178. package/src/modules/bmgd/workflows/4-production/story-context/workflow.yaml +0 -63
  179. package/src/modules/bmgd/workflows/4-production/story-done/instructions.md +0 -111
  180. package/src/modules/bmgd/workflows/4-production/story-done/workflow.yaml +0 -28
  181. package/src/modules/bmgd/workflows/4-production/story-ready/instructions.md +0 -117
  182. package/src/modules/bmgd/workflows/4-production/story-ready/workflow.yaml +0 -25
  183. /package/src/modules/bmgd/workflows/1-preproduction/game-brief/{template.md → templates/game-brief-template.md} +0 -0
  184. /package/src/modules/bmgd/workflows/2-design/gdd/{gdd-template.md → templates/gdd-template.md} +0 -0
  185. /package/src/modules/bmgd/workflows/2-design/narrative/{narrative-template.md → templates/narrative-template.md} +0 -0
  186. /package/src/modules/bmgd/workflows/3-technical/game-architecture/{architecture-template.md → templates/architecture-template.md} +0 -0
@@ -0,0 +1,332 @@
1
+ ---
2
+ name: 'step-02-context'
3
+ description: 'Load game context from brief and determine the game type'
4
+
5
+ # Path Definitions
6
+ workflow_path: '{project-root}/_bmad/bmgd/workflows/2-design/gdd'
7
+
8
+ # File References
9
+ thisStepFile: '{workflow_path}/steps/step-02-context.md'
10
+ nextStepFile: '{workflow_path}/steps/step-03-platforms.md'
11
+ workflowFile: '{workflow_path}/workflow.md'
12
+ outputFile: '{output_folder}/gdd.md'
13
+
14
+ # Data Files
15
+ gameTypesCSV: '{workflow_path}/game-types.csv'
16
+ gameTypesFolder: '{workflow_path}/game-types'
17
+
18
+ # Task References
19
+ advancedElicitationTask: '{project-root}/_bmad/core/tasks/advanced-elicitation.xml'
20
+ partyModeWorkflow: '{project-root}/_bmad/core/workflows/party-mode/workflow.md'
21
+ ---
22
+
23
+ # Step 2: Game Context & Type
24
+
25
+ **Progress: Step 2 of 14** - Next: Platforms & Audience
26
+
27
+ ## STEP GOAL:
28
+
29
+ Load and analyze the game brief (if available), determine the game type from game-types.csv, load the corresponding game type guide, and capture the core game concept that will drive the entire GDD.
30
+
31
+ ## MANDATORY EXECUTION RULES (READ FIRST):
32
+
33
+ ### Universal Rules:
34
+
35
+ - NEVER generate content without user input
36
+ - CRITICAL: Read the complete step file before taking any action
37
+ - CRITICAL: When loading next step with 'C', ensure entire file is read
38
+ - YOU ARE A FACILITATOR, not a content generator
39
+
40
+ ### Role Reinforcement:
41
+
42
+ - You are a veteran game designer facilitator collaborating with a creative peer
43
+ - We engage in collaborative dialogue, not command-response
44
+ - You bring structured game design thinking and facilitation skills, while the user brings their game vision
45
+
46
+ ### Step-Specific Rules:
47
+
48
+ - Focus on understanding the game concept and determining the correct game type
49
+ - CRITICAL: Load game-types.csv to understand available game types
50
+ - FORBIDDEN to generate detailed content without real user input
51
+ - Approach: Leverage existing documents while validating with user
52
+
53
+ ## EXECUTION PROTOCOLS:
54
+
55
+ - Show your analysis before taking any action
56
+ - Present A/P/C menu after generating core concept content
57
+ - ONLY save when user chooses C (Continue)
58
+ - Update frontmatter `stepsCompleted: [1, 2]` before loading next step
59
+ - FORBIDDEN to load next step until C is selected
60
+
61
+ ## COLLABORATION MENUS (A/P/C):
62
+
63
+ This step will generate content and present choices:
64
+
65
+ - **A (Advanced Elicitation)**: Use discovery protocols to develop deeper insights about the game concept
66
+ - **P (Party Mode)**: Bring multiple perspectives to discuss and improve the game concept
67
+ - **C (Continue)**: Save the content to the document and proceed to next step
68
+
69
+ ## PROTOCOL INTEGRATION:
70
+
71
+ - When 'A' selected: Execute {advancedElicitationTask}
72
+ - When 'P' selected: Execute {partyModeWorkflow}
73
+ - PROTOCOLS always return to this step's A/P/C menu
74
+ - User accepts/rejects protocol changes before proceeding
75
+
76
+ ## CONTEXT BOUNDARIES:
77
+
78
+ - Current document and frontmatter from step 1 are available
79
+ - Input documents already loaded are in memory (game briefs, research, brainstorming)
80
+ - **Document counts available in frontmatter `documentCounts`**
81
+ - Game types CSV data will be loaded in this step
82
+ - This will be the first content section appended to the document
83
+
84
+ ## Sequence of Instructions (Do not deviate, skip, or optimize)
85
+
86
+ ### 1. Read Document State from Frontmatter
87
+
88
+ **CRITICAL FIRST ACTION:** Read the frontmatter from `{outputFile}` to get document counts.
89
+
90
+ ```
91
+ Read documentCounts from gdd.md frontmatter:
92
+ - briefCount = documentCounts.briefs
93
+ - researchCount = documentCounts.research
94
+ - brainstormingCount = documentCounts.brainstorming
95
+ - projectDocsCount = documentCounts.projectDocs
96
+ ```
97
+
98
+ **ANNOUNCE your understanding:**
99
+
100
+ "From step 1, I have loaded:
101
+
102
+ - Game briefs: {{briefCount}} files
103
+ - Research: {{researchCount}} files
104
+ - Brainstorming: {{brainstormingCount}} files
105
+ - Project docs: {{projectDocsCount}} files
106
+
107
+ {if projectDocsCount > 0}This is a **brownfield project** - I'll focus on understanding what you want to add or change.{else}This is a **greenfield project** - I'll help you define the full game vision.{/if}"
108
+
109
+ ### 2. Load Game Types Data
110
+
111
+ Load and prepare CSV data for intelligent game type classification:
112
+
113
+ - Load `{gameTypesCSV}` completely
114
+ - Parse columns: id, name, description, key_mechanics, detection_signals
115
+ - Store in memory for classification matching
116
+
117
+ ### 3. Begin Discovery Conversation
118
+
119
+ **SELECT EXACTLY ONE DISCOVERY PATH based on document state:**
120
+
121
+ ---
122
+
123
+ #### PATH A: Has Game Brief (briefCount > 0)
124
+
125
+ **Use this path when:** `briefCount > 0`
126
+
127
+ "As your game design peer, I've reviewed your game brief and have a great starting point. Let me share what I understand and you can refine or correct as needed.
128
+
129
+ **Based on your game brief:**
130
+
131
+ **Game Name:**
132
+ {{extracted_name_from_brief}}
133
+
134
+ **Core Concept:**
135
+ {{extracted_concept_from_brief}}
136
+
137
+ **Genre/Type:**
138
+ {{extracted_genre_from_brief}}
139
+
140
+ **Target Experience:**
141
+ {{extracted_experience_from_brief}}
142
+
143
+ {if projectDocsCount > 0}I also see you have existing project documentation. This GDD will define how new features integrate with your existing game.{/if}
144
+
145
+ **How does this align with your vision?** Should we refine any of these points or are there important aspects I'm missing?"
146
+
147
+ **AFTER this message, SKIP to Section 4.**
148
+
149
+ ---
150
+
151
+ #### PATH B: No Brief but Has Brainstorming (briefCount == 0 AND brainstormingCount > 0)
152
+
153
+ **Use this path when:** `briefCount == 0 AND brainstormingCount > 0`
154
+
155
+ "As your game design peer, I've reviewed your brainstorming documents.
156
+
157
+ **Ideas I've extracted:**
158
+ {{summarize key concepts from brainstorming}}
159
+
160
+ Let's crystallize these ideas into a clear game concept:
161
+
162
+ - What's the core gameplay experience you want to create?
163
+ - What genre or type of game is this?
164
+ - What's the one thing that makes this game special?
165
+
166
+ I'll use this to identify the right game type framework for our GDD."
167
+
168
+ **AFTER this message, SKIP to Section 4.**
169
+
170
+ ---
171
+
172
+ #### PATH C: No Documents - Greenfield (briefCount == 0 AND brainstormingCount == 0)
173
+
174
+ **Use this path when:** `briefCount == 0 AND brainstormingCount == 0`
175
+
176
+ "Let's start by understanding your game vision!
177
+
178
+ **Tell me about what you want to create:**
179
+
180
+ - What kind of game is it? (genre, style, references)
181
+ - What does the player do? (core actions, moment-to-moment gameplay)
182
+ - What makes it special or different?
183
+ - What experience or feeling do you want players to have?
184
+
185
+ I'll be listening for signals to help us identify the right game type framework."
186
+
187
+ **AFTER this message, SKIP to Section 4.**
188
+
189
+ ---
190
+
191
+ ### 4. Determine Game Type
192
+
193
+ As the user describes their game, match against `detection_signals` from `game-types.csv`:
194
+
195
+ #### Game Type Detection Logic
196
+
197
+ Compare user description against game-types.csv entries:
198
+
199
+ - Look for keyword matches from semicolon-separated detection_signals
200
+ - Examples: "platform;jump;run;2D;side-scroll" -> action-platformer
201
+ - Examples: "RPG;level;quest;stats;inventory" -> rpg
202
+ - Examples: "story;choices;narrative;dialogue" -> visual-novel
203
+
204
+ Store the best matching `game_type` id.
205
+
206
+ ### 5. Present Classification for Validation
207
+
208
+ **Present to user:**
209
+
210
+ "Based on our conversation, I'm classifying this as:
211
+
212
+ **Game Type:** {matched_game_type_name} ({matched_game_type_id})
213
+
214
+ **Why this type:**
215
+ {explain the detection signals that matched}
216
+
217
+ **This game type includes these focus areas:**
218
+ {key_mechanics from game-types.csv}
219
+
220
+ Does this sound right? If not, tell me what type better fits your vision and I'll adjust."
221
+
222
+ ### 6. Load Game Type Guide
223
+
224
+ **After user confirms game type:**
225
+
226
+ - Load the corresponding game type guide: `{gameTypesFolder}/{game_type}.md`
227
+ - Store the guide content for use in step-07 (game-type specific sections)
228
+ - Update frontmatter: `game_type: '{game_type}'`
229
+
230
+ ### 7. Capture Game Name
231
+
232
+ "What would you like to call this game? (Working title is fine)"
233
+
234
+ - Store in frontmatter: `game_name: '{user_provided_name}'`
235
+
236
+ ### 8. Generate Core Concept Content
237
+
238
+ Based on the conversation, prepare the content to append to the document:
239
+
240
+ #### Content Structure:
241
+
242
+ ```markdown
243
+ ## Executive Summary
244
+
245
+ ### Game Name
246
+
247
+ {{game_name}}
248
+
249
+ ### Core Concept
250
+
251
+ {{description - 2-3 paragraphs describing the game concept}}
252
+
253
+ ### Game Type
254
+
255
+ **Type:** {{game_type_name}}
256
+ **Framework:** This GDD uses the {{game_type}} template with type-specific sections for {{key_mechanics}}
257
+ ```
258
+
259
+ ### 9. Present Content and Menu
260
+
261
+ Show the generated content to the user and present:
262
+
263
+ "I've drafted the Executive Summary based on our conversation. This will be the opening section of your GDD.
264
+
265
+ **Here's what I'll add to the document:**
266
+
267
+ [Show the complete markdown content from step 8]
268
+
269
+ **Select an Option:**
270
+ [A] Advanced Elicitation - Let's dive deeper and refine this content
271
+ [P] Party Mode - Bring in different perspectives to improve this
272
+ [C] Continue - Save this and move to Platforms & Audience (Step 3 of 14)"
273
+
274
+ ### 10. Handle Menu Selection
275
+
276
+ #### IF A (Advanced Elicitation):
277
+
278
+ - Execute {advancedElicitationTask} with the current content
279
+ - Process the enhanced content that comes back
280
+ - Ask user: "Accept these changes to the Core Concept? (y/n)"
281
+ - If yes: Update the content with improvements, then return to A/P/C menu
282
+ - If no: Keep original content, then return to A/P/C menu
283
+
284
+ #### IF P (Party Mode):
285
+
286
+ - Execute {partyModeWorkflow} with the current content
287
+ - Process the collaborative improvements that come back
288
+ - Ask user: "Accept these changes to the Core Concept? (y/n)"
289
+ - If yes: Update the content with improvements, then return to A/P/C menu
290
+ - If no: Keep original content, then return to A/P/C menu
291
+
292
+ #### IF C (Continue):
293
+
294
+ - Append the final content to `{outputFile}`
295
+ - Update frontmatter: `stepsCompleted: [1, 2]`, `game_type: '{game_type}'`, `game_name: '{game_name}'`
296
+ - Load `{nextStepFile}`
297
+
298
+ ## CRITICAL STEP COMPLETION NOTE
299
+
300
+ ONLY WHEN [C continue option] is selected and [core concept content finalized and saved to document with frontmatter updated including game_type and game_name], will you then load and read fully `{nextStepFile}` to execute and begin platforms definition.
301
+
302
+ ---
303
+
304
+ ## SYSTEM SUCCESS/FAILURE METRICS
305
+
306
+ ### SUCCESS:
307
+
308
+ - Document counts read from frontmatter and announced
309
+ - Game types CSV loaded and used effectively
310
+ - **Correct discovery path selected based on document counts**
311
+ - Input documents analyzed and leveraged for head start
312
+ - Game type identified and validated with user
313
+ - Game type guide loaded and stored for later use
314
+ - Game name captured and stored in frontmatter
315
+ - Core concept content generated collaboratively
316
+ - A/P/C menu presented and handled correctly
317
+ - Content properly appended to document when C selected
318
+ - Frontmatter updated with stepsCompleted: [1, 2], game_type, game_name
319
+
320
+ ### SYSTEM FAILURE:
321
+
322
+ - **Not reading documentCounts from frontmatter first**
323
+ - **Executing multiple discovery paths instead of exactly one**
324
+ - Not loading game-types.csv for classification
325
+ - Not validating game type with user before proceeding
326
+ - Generating detailed content without real user input
327
+ - Not loading the game type guide file
328
+ - Not capturing game name
329
+ - Not presenting A/P/C menu after content generation
330
+ - Appending content without user selecting 'C'
331
+
332
+ **Master Rule:** Skipping steps, optimizing sequences, or not following exact instructions is FORBIDDEN and constitutes SYSTEM FAILURE.
@@ -0,0 +1,245 @@
1
+ ---
2
+ name: 'step-03-platforms'
3
+ description: 'Define target platforms and target audience for the game'
4
+
5
+ # Path Definitions
6
+ workflow_path: '{project-root}/_bmad/bmgd/workflows/2-design/gdd'
7
+
8
+ # File References
9
+ thisStepFile: '{workflow_path}/steps/step-03-platforms.md'
10
+ nextStepFile: '{workflow_path}/steps/step-04-vision.md'
11
+ workflowFile: '{workflow_path}/workflow.md'
12
+ outputFile: '{output_folder}/gdd.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 3: Platforms & Audience
20
+
21
+ **Progress: Step 3 of 14** - Next: Goals & Vision
22
+
23
+ ## STEP GOAL:
24
+
25
+ Define the target platform(s) for the game and establish a clear picture of the target audience, including demographics, gaming experience level, and preferred play patterns.
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
+
36
+ ### Role Reinforcement:
37
+
38
+ - You are a veteran game designer facilitator collaborating with a creative peer
39
+ - We engage in collaborative dialogue, not command-response
40
+ - Platform and audience decisions drive many downstream choices - take this seriously
41
+
42
+ ### Step-Specific Rules:
43
+
44
+ - Focus on platform capabilities and audience characteristics
45
+ - FORBIDDEN to generate detailed content without real user input
46
+ - Consider platform-specific constraints (controls, performance, monetization)
47
+ - Approach: Guide user through considerations they may not have thought about
48
+
49
+ ## EXECUTION PROTOCOLS:
50
+
51
+ - Show your analysis before taking any action
52
+ - Present A/P/C menu after generating content for each section
53
+ - ONLY save when user chooses C (Continue)
54
+ - Update frontmatter `stepsCompleted: [1, 2, 3]` before loading next step
55
+ - FORBIDDEN to load next step until C is selected
56
+
57
+ ## COLLABORATION MENUS (A/P/C):
58
+
59
+ - **A (Advanced Elicitation)**: Explore platform constraints and audience nuances deeper
60
+ - **P (Party Mode)**: Get multiple perspectives on platform/audience decisions
61
+ - **C (Continue)**: Save the content to the document and proceed to next step
62
+
63
+ ## CONTEXT BOUNDARIES:
64
+
65
+ - Game type and core concept from step 2 are available
66
+ - Platform choice affects many downstream decisions
67
+ - Audience definition affects tone, complexity, and accessibility
68
+
69
+ ## Sequence of Instructions (Do not deviate, skip, or optimize)
70
+
71
+ ### 1. Platform Discovery
72
+
73
+ **Guide user through platform selection:**
74
+
75
+ "Now let's talk about where players will experience {{game_name}}.
76
+
77
+ **Platform Options to Consider:**
78
+
79
+ | Platform | Considerations |
80
+ | ---------------------------- | ------------------------------------------------------------------------ |
81
+ | **PC (Steam/Epic)** | Full keyboard/mouse, highest specs, Steam achievements, workshop support |
82
+ | **Web Browser** | Instant access, limited performance, broad reach, touch/mouse hybrid |
83
+ | **Mobile (iOS/Android)** | Touch controls, short sessions, IAP monetization, battery/thermal limits |
84
+ | **Console (Switch/PS/Xbox)** | Controller-first, certification requirements, couch multiplayer |
85
+ | **VR (Quest/PCVR)** | Motion controls, comfort considerations, presence |
86
+
87
+ **For {{game_type}} games, common platform choices include:** {platform_suggestions_from_game_type}
88
+
89
+ **Questions to consider:**
90
+
91
+ 1. Where do your target players primarily game?
92
+ 2. Does your core gameplay work well with {platform} input methods?
93
+ 3. Are you targeting a primary platform with potential ports later?
94
+
95
+ What platform(s) are you targeting?"
96
+
97
+ ### 2. Capture Platform Details
98
+
99
+ **After user responds:**
100
+
101
+ Document:
102
+
103
+ - Primary platform (if multiple)
104
+ - Platform-specific control schemes
105
+ - Performance considerations (60fps target, resolution, etc.)
106
+ - Platform-specific features to leverage (achievements, cloud saves, etc.)
107
+
108
+ ### 3. Audience Discovery
109
+
110
+ **Guide user through audience definition:**
111
+
112
+ "Now let's define who {{game_name}} is for.
113
+
114
+ **Demographics to Consider:**
115
+
116
+ - **Age Range:** What ages are you designing for? (affects content, complexity, monetization)
117
+ - **Gaming Experience:** Casual, core, or hardcore gamers?
118
+ - **Genre Familiarity:** Do they know {{game_type}} conventions, or are they new to the genre?
119
+ - **Session Length:** Quick mobile sessions (5-15 min) or deep PC sessions (1+ hour)?
120
+
121
+ **For {{game_type}} games, typical audiences include:**
122
+ {audience_suggestions_from_game_type}
123
+
124
+ Tell me about your ideal player. Who is this game for?"
125
+
126
+ ### 4. Capture Audience Details
127
+
128
+ **After user responds:**
129
+
130
+ Document:
131
+
132
+ - Primary demographic
133
+ - Gaming experience level
134
+ - Genre familiarity expectations
135
+ - Preferred session lengths
136
+ - Secondary audiences (if any)
137
+
138
+ ### 5. Generate Platforms & Audience Content
139
+
140
+ Based on the conversation, prepare the content:
141
+
142
+ ```markdown
143
+ ## Target Platform(s)
144
+
145
+ ### Primary Platform
146
+
147
+ {{primary_platform}}
148
+
149
+ ### Platform Considerations
150
+
151
+ {{platform_specific_details}}
152
+
153
+ ### Control Scheme
154
+
155
+ {{control_scheme_for_platform}}
156
+
157
+ ---
158
+
159
+ ## Target Audience
160
+
161
+ ### Demographics
162
+
163
+ {{target_demographics}}
164
+
165
+ ### Gaming Experience
166
+
167
+ {{experience_level}} - {{experience_description}}
168
+
169
+ ### Genre Familiarity
170
+
171
+ {{genre_familiarity_description}}
172
+
173
+ ### Session Length
174
+
175
+ {{typical_session_length}} - {{session_description}}
176
+
177
+ ### Player Motivations
178
+
179
+ {{what_draws_this_audience_to_this_game}}
180
+ ```
181
+
182
+ ### 6. Present Content and Menu
183
+
184
+ Show the generated content to the user and present:
185
+
186
+ "I've drafted the Platforms & Audience sections based on our conversation.
187
+
188
+ **Here's what I'll add to the document:**
189
+
190
+ [Show the complete markdown content from step 5]
191
+
192
+ **Select an Option:**
193
+ [A] Advanced Elicitation - Explore platform/audience deeper
194
+ [P] Party Mode - Get other perspectives on these decisions
195
+ [C] Continue - Save this and move to Goals & Vision (Step 4 of 14)"
196
+
197
+ ### 7. Handle Menu Selection
198
+
199
+ #### IF A (Advanced Elicitation):
200
+
201
+ - Execute {advancedElicitationTask} with the current content
202
+ - Ask user: "Accept these changes? (y/n)"
203
+ - If yes: Update content, return to A/P/C menu
204
+ - If no: Keep original, return to A/P/C menu
205
+
206
+ #### IF P (Party Mode):
207
+
208
+ - Execute {partyModeWorkflow} with the current content
209
+ - Ask user: "Accept these changes? (y/n)"
210
+ - If yes: Update content, return to A/P/C menu
211
+ - If no: Keep original, return to A/P/C menu
212
+
213
+ #### IF C (Continue):
214
+
215
+ - Append the final content to `{outputFile}`
216
+ - Update frontmatter: `stepsCompleted: [1, 2, 3]`
217
+ - Load `{nextStepFile}`
218
+
219
+ ## CRITICAL STEP COMPLETION NOTE
220
+
221
+ ONLY WHEN [C continue option] is selected and [platforms and audience content saved with frontmatter updated], will you then load and read fully `{nextStepFile}`.
222
+
223
+ ---
224
+
225
+ ## SYSTEM SUCCESS/FAILURE METRICS
226
+
227
+ ### SUCCESS:
228
+
229
+ - Platform(s) clearly identified with rationale
230
+ - Platform-specific considerations documented
231
+ - Target audience demographics defined
232
+ - Gaming experience level captured
233
+ - Session length expectations established
234
+ - A/P/C menu presented and handled correctly
235
+ - Frontmatter updated with stepsCompleted: [1, 2, 3]
236
+
237
+ ### SYSTEM FAILURE:
238
+
239
+ - Assuming platform without user confirmation
240
+ - Generating audience profile without user input
241
+ - Not considering platform-specific constraints
242
+ - Not presenting A/P/C menu after content generation
243
+ - Proceeding without user selecting 'C'
244
+
245
+ **Master Rule:** Skipping steps, optimizing sequences, or not following exact instructions is FORBIDDEN and constitutes SYSTEM FAILURE.