bmad-method 4.37.0 → 4.39.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (251) hide show
  1. package/.github/ISSUE_TEMPLATE/bug_report.md +3 -3
  2. package/.github/ISSUE_TEMPLATE/feature_request.md +3 -3
  3. package/.github/workflows/discord.yaml +11 -2
  4. package/.github/workflows/format-check.yaml +42 -0
  5. package/.github/workflows/manual-release.yaml +173 -0
  6. package/.husky/pre-commit +3 -0
  7. package/.vscode/settings.json +26 -1
  8. package/CHANGELOG.md +2 -23
  9. package/README.md +2 -0
  10. package/bmad-core/agent-teams/team-all.yaml +1 -1
  11. package/bmad-core/agents/analyst.md +16 -15
  12. package/bmad-core/agents/architect.md +11 -11
  13. package/bmad-core/agents/bmad-master.md +23 -22
  14. package/bmad-core/agents/bmad-orchestrator.md +13 -17
  15. package/bmad-core/agents/dev.md +14 -11
  16. package/bmad-core/agents/pm.md +15 -14
  17. package/bmad-core/agents/po.md +9 -8
  18. package/bmad-core/agents/qa.md +42 -22
  19. package/bmad-core/agents/sm.md +7 -6
  20. package/bmad-core/agents/ux-expert.md +6 -5
  21. package/bmad-core/core-config.yaml +2 -0
  22. package/bmad-core/data/bmad-kb.md +1 -1
  23. package/bmad-core/data/test-levels-framework.md +146 -0
  24. package/bmad-core/data/test-priorities-matrix.md +172 -0
  25. package/bmad-core/tasks/apply-qa-fixes.md +148 -0
  26. package/bmad-core/tasks/facilitate-brainstorming-session.md +1 -1
  27. package/bmad-core/tasks/nfr-assess.md +343 -0
  28. package/bmad-core/tasks/qa-gate.md +161 -0
  29. package/bmad-core/tasks/review-story.md +234 -74
  30. package/bmad-core/tasks/risk-profile.md +353 -0
  31. package/bmad-core/tasks/test-design.md +174 -0
  32. package/bmad-core/tasks/trace-requirements.md +264 -0
  33. package/bmad-core/templates/architecture-tmpl.yaml +49 -49
  34. package/bmad-core/templates/brainstorming-output-tmpl.yaml +5 -5
  35. package/bmad-core/templates/brownfield-architecture-tmpl.yaml +31 -31
  36. package/bmad-core/templates/brownfield-prd-tmpl.yaml +13 -13
  37. package/bmad-core/templates/competitor-analysis-tmpl.yaml +19 -6
  38. package/bmad-core/templates/front-end-architecture-tmpl.yaml +21 -9
  39. package/bmad-core/templates/front-end-spec-tmpl.yaml +24 -24
  40. package/bmad-core/templates/fullstack-architecture-tmpl.yaml +122 -104
  41. package/bmad-core/templates/market-research-tmpl.yaml +2 -2
  42. package/bmad-core/templates/prd-tmpl.yaml +9 -9
  43. package/bmad-core/templates/project-brief-tmpl.yaml +4 -4
  44. package/bmad-core/templates/qa-gate-tmpl.yaml +102 -0
  45. package/bmad-core/templates/story-tmpl.yaml +12 -12
  46. package/bmad-core/workflows/brownfield-fullstack.yaml +9 -9
  47. package/bmad-core/workflows/brownfield-service.yaml +1 -1
  48. package/bmad-core/workflows/brownfield-ui.yaml +1 -1
  49. package/bmad-core/workflows/greenfield-fullstack.yaml +1 -1
  50. package/bmad-core/workflows/greenfield-service.yaml +1 -1
  51. package/bmad-core/workflows/greenfield-ui.yaml +1 -1
  52. package/common/utils/bmad-doc-template.md +5 -5
  53. package/dist/agents/analyst.txt +1086 -1079
  54. package/dist/agents/architect.txt +1534 -1526
  55. package/dist/agents/bmad-master.txt +646 -632
  56. package/dist/agents/bmad-orchestrator.txt +40 -18
  57. package/dist/agents/dev.txt +158 -19
  58. package/dist/agents/pm.txt +1082 -1107
  59. package/dist/agents/po.txt +314 -332
  60. package/dist/agents/qa.txt +1754 -151
  61. package/dist/agents/sm.txt +88 -98
  62. package/dist/agents/ux-expert.txt +80 -87
  63. package/dist/expansion-packs/bmad-2d-phaser-game-dev/agents/game-designer.txt +109 -146
  64. package/dist/expansion-packs/bmad-2d-phaser-game-dev/agents/game-developer.txt +75 -86
  65. package/dist/expansion-packs/bmad-2d-phaser-game-dev/agents/game-sm.txt +41 -48
  66. package/dist/expansion-packs/bmad-2d-phaser-game-dev/teams/phaser-2d-nodejs-game-team.txt +1903 -1941
  67. package/dist/expansion-packs/bmad-2d-unity-game-dev/agents/game-architect.txt +15 -50
  68. package/dist/expansion-packs/bmad-2d-unity-game-dev/agents/game-designer.txt +149 -195
  69. package/dist/expansion-packs/bmad-2d-unity-game-dev/agents/game-developer.txt +0 -15
  70. package/dist/expansion-packs/bmad-2d-unity-game-dev/agents/game-sm.txt +20 -37
  71. package/dist/expansion-packs/bmad-2d-unity-game-dev/teams/unity-2d-game-team.txt +2660 -2752
  72. package/dist/expansion-packs/bmad-creative-writing/agents/beta-reader.txt +871 -0
  73. package/dist/expansion-packs/bmad-creative-writing/agents/book-critic.txt +78 -0
  74. package/dist/expansion-packs/bmad-creative-writing/agents/character-psychologist.txt +839 -0
  75. package/dist/expansion-packs/bmad-creative-writing/agents/cover-designer.txt +85 -0
  76. package/dist/expansion-packs/bmad-creative-writing/agents/dialog-specialist.txt +861 -0
  77. package/dist/expansion-packs/bmad-creative-writing/agents/editor.txt +796 -0
  78. package/dist/expansion-packs/bmad-creative-writing/agents/genre-specialist.txt +927 -0
  79. package/dist/expansion-packs/bmad-creative-writing/agents/narrative-designer.txt +842 -0
  80. package/dist/expansion-packs/bmad-creative-writing/agents/plot-architect.txt +1126 -0
  81. package/dist/expansion-packs/bmad-creative-writing/agents/world-builder.txt +864 -0
  82. package/dist/expansion-packs/bmad-creative-writing/teams/agent-team.txt +5917 -0
  83. package/dist/expansion-packs/bmad-infrastructure-devops/agents/infra-devops-platform.txt +25 -27
  84. package/dist/teams/team-all.txt +5541 -3768
  85. package/dist/teams/team-fullstack.txt +3014 -2987
  86. package/dist/teams/team-ide-minimal.txt +2219 -469
  87. package/dist/teams/team-no-ui.txt +2993 -2966
  88. package/docs/enhanced-ide-development-workflow.md +220 -15
  89. package/docs/user-guide.md +271 -18
  90. package/docs/versioning-and-releases.md +122 -44
  91. package/docs/working-in-the-brownfield.md +264 -31
  92. package/eslint.config.mjs +119 -0
  93. package/expansion-packs/bmad-2d-phaser-game-dev/agents/game-developer.md +4 -4
  94. package/expansion-packs/bmad-2d-phaser-game-dev/agents/game-sm.md +1 -1
  95. package/expansion-packs/bmad-2d-phaser-game-dev/config.yaml +1 -1
  96. package/expansion-packs/bmad-2d-phaser-game-dev/data/development-guidelines.md +26 -28
  97. package/expansion-packs/bmad-2d-phaser-game-dev/templates/game-architecture-tmpl.yaml +50 -50
  98. package/expansion-packs/bmad-2d-phaser-game-dev/templates/game-brief-tmpl.yaml +23 -23
  99. package/expansion-packs/bmad-2d-phaser-game-dev/templates/game-design-doc-tmpl.yaml +24 -24
  100. package/expansion-packs/bmad-2d-phaser-game-dev/templates/game-story-tmpl.yaml +42 -42
  101. package/expansion-packs/bmad-2d-phaser-game-dev/templates/level-design-doc-tmpl.yaml +65 -65
  102. package/expansion-packs/bmad-2d-phaser-game-dev/workflows/game-dev-greenfield.yaml +5 -5
  103. package/expansion-packs/bmad-2d-phaser-game-dev/workflows/game-prototype.yaml +1 -1
  104. package/expansion-packs/bmad-2d-unity-game-dev/agents/game-developer.md +3 -3
  105. package/expansion-packs/bmad-2d-unity-game-dev/config.yaml +1 -1
  106. package/expansion-packs/bmad-2d-unity-game-dev/data/bmad-kb.md +1 -1
  107. package/expansion-packs/bmad-2d-unity-game-dev/templates/game-brief-tmpl.yaml +23 -23
  108. package/expansion-packs/bmad-2d-unity-game-dev/templates/game-design-doc-tmpl.yaml +63 -63
  109. package/expansion-packs/bmad-2d-unity-game-dev/templates/game-story-tmpl.yaml +20 -20
  110. package/expansion-packs/bmad-2d-unity-game-dev/templates/level-design-doc-tmpl.yaml +65 -65
  111. package/expansion-packs/bmad-2d-unity-game-dev/workflows/game-dev-greenfield.yaml +5 -5
  112. package/expansion-packs/bmad-2d-unity-game-dev/workflows/game-prototype.yaml +1 -1
  113. package/expansion-packs/bmad-creative-writing/README.md +132 -0
  114. package/expansion-packs/bmad-creative-writing/agent-teams/agent-team.yaml +19 -0
  115. package/expansion-packs/bmad-creative-writing/agents/beta-reader.md +91 -0
  116. package/expansion-packs/bmad-creative-writing/agents/book-critic.md +35 -0
  117. package/expansion-packs/bmad-creative-writing/agents/character-psychologist.md +90 -0
  118. package/expansion-packs/bmad-creative-writing/agents/cover-designer.md +41 -0
  119. package/expansion-packs/bmad-creative-writing/agents/dialog-specialist.md +89 -0
  120. package/expansion-packs/bmad-creative-writing/agents/editor.md +90 -0
  121. package/expansion-packs/bmad-creative-writing/agents/genre-specialist.md +92 -0
  122. package/expansion-packs/bmad-creative-writing/agents/narrative-designer.md +90 -0
  123. package/expansion-packs/bmad-creative-writing/agents/plot-architect.md +92 -0
  124. package/expansion-packs/bmad-creative-writing/agents/world-builder.md +91 -0
  125. package/expansion-packs/bmad-creative-writing/checklists/beta-feedback-closure-checklist.md +16 -0
  126. package/expansion-packs/bmad-creative-writing/checklists/character-consistency-checklist.md +16 -0
  127. package/expansion-packs/bmad-creative-writing/checklists/comedic-timing-checklist.md +16 -0
  128. package/expansion-packs/bmad-creative-writing/checklists/cyberpunk-aesthetic-checklist.md +16 -0
  129. package/expansion-packs/bmad-creative-writing/checklists/ebook-formatting-checklist.md +15 -0
  130. package/expansion-packs/bmad-creative-writing/checklists/epic-poetry-meter-checklist.md +16 -0
  131. package/expansion-packs/bmad-creative-writing/checklists/fantasy-magic-system-checklist.md +16 -0
  132. package/expansion-packs/bmad-creative-writing/checklists/foreshadowing-payoff-checklist.md +15 -0
  133. package/expansion-packs/bmad-creative-writing/checklists/genre-tropes-checklist.md +15 -0
  134. package/expansion-packs/bmad-creative-writing/checklists/historical-accuracy-checklist.md +16 -0
  135. package/expansion-packs/bmad-creative-writing/checklists/horror-suspense-checklist.md +16 -0
  136. package/expansion-packs/bmad-creative-writing/checklists/kdp-cover-ready-checklist.md +18 -0
  137. package/expansion-packs/bmad-creative-writing/checklists/line-edit-quality-checklist.md +16 -0
  138. package/expansion-packs/bmad-creative-writing/checklists/marketing-copy-checklist.md +16 -0
  139. package/expansion-packs/bmad-creative-writing/checklists/mystery-clue-trail-checklist.md +16 -0
  140. package/expansion-packs/bmad-creative-writing/checklists/orbital-mechanics-checklist.md +16 -0
  141. package/expansion-packs/bmad-creative-writing/checklists/plot-structure-checklist.md +49 -0
  142. package/expansion-packs/bmad-creative-writing/checklists/publication-readiness-checklist.md +16 -0
  143. package/expansion-packs/bmad-creative-writing/checklists/romance-emotional-beats-checklist.md +16 -0
  144. package/expansion-packs/bmad-creative-writing/checklists/scene-quality-checklist.md +16 -0
  145. package/expansion-packs/bmad-creative-writing/checklists/scifi-technology-plausibility-checklist.md +15 -0
  146. package/expansion-packs/bmad-creative-writing/checklists/sensitivity-representation-checklist.md +16 -0
  147. package/expansion-packs/bmad-creative-writing/checklists/steampunk-gadget-checklist.md +16 -0
  148. package/expansion-packs/bmad-creative-writing/checklists/thriller-pacing-stakes-checklist.md +16 -0
  149. package/expansion-packs/bmad-creative-writing/checklists/timeline-continuity-checklist.md +16 -0
  150. package/expansion-packs/bmad-creative-writing/checklists/world-building-continuity-checklist.md +16 -0
  151. package/expansion-packs/bmad-creative-writing/checklists/ya-appropriateness-checklist.md +16 -0
  152. package/expansion-packs/bmad-creative-writing/config.yaml +11 -0
  153. package/expansion-packs/bmad-creative-writing/data/bmad-kb.md +197 -0
  154. package/expansion-packs/bmad-creative-writing/data/story-structures.md +58 -0
  155. package/expansion-packs/bmad-creative-writing/docs/brief.md +183 -0
  156. package/expansion-packs/bmad-creative-writing/tasks/advanced-elicitation.md +117 -0
  157. package/expansion-packs/bmad-creative-writing/tasks/analyze-reader-feedback.md +16 -0
  158. package/expansion-packs/bmad-creative-writing/tasks/analyze-story-structure.md +55 -0
  159. package/expansion-packs/bmad-creative-writing/tasks/assemble-kdp-package.md +22 -0
  160. package/expansion-packs/bmad-creative-writing/tasks/brainstorm-premise.md +16 -0
  161. package/expansion-packs/bmad-creative-writing/tasks/build-world.md +17 -0
  162. package/expansion-packs/bmad-creative-writing/tasks/character-depth-pass.md +15 -0
  163. package/expansion-packs/bmad-creative-writing/tasks/create-doc.md +101 -0
  164. package/expansion-packs/bmad-creative-writing/tasks/create-draft-section.md +19 -0
  165. package/expansion-packs/bmad-creative-writing/tasks/critical-review.md +19 -0
  166. package/expansion-packs/bmad-creative-writing/tasks/develop-character.md +17 -0
  167. package/expansion-packs/bmad-creative-writing/tasks/execute-checklist.md +93 -0
  168. package/expansion-packs/bmad-creative-writing/tasks/expand-premise.md +16 -0
  169. package/expansion-packs/bmad-creative-writing/tasks/expand-synopsis.md +16 -0
  170. package/expansion-packs/bmad-creative-writing/tasks/final-polish.md +16 -0
  171. package/expansion-packs/bmad-creative-writing/tasks/generate-cover-brief.md +18 -0
  172. package/expansion-packs/bmad-creative-writing/tasks/generate-cover-prompts.md +19 -0
  173. package/expansion-packs/bmad-creative-writing/tasks/generate-scene-list.md +16 -0
  174. package/expansion-packs/bmad-creative-writing/tasks/incorporate-feedback.md +18 -0
  175. package/expansion-packs/bmad-creative-writing/tasks/outline-scenes.md +16 -0
  176. package/expansion-packs/bmad-creative-writing/tasks/provide-feedback.md +17 -0
  177. package/expansion-packs/bmad-creative-writing/tasks/publish-chapter.md +16 -0
  178. package/expansion-packs/bmad-creative-writing/tasks/quick-feedback.md +15 -0
  179. package/expansion-packs/bmad-creative-writing/tasks/select-next-arc.md +16 -0
  180. package/expansion-packs/bmad-creative-writing/tasks/workshop-dialog.md +51 -0
  181. package/expansion-packs/bmad-creative-writing/templates/beta-feedback-form.yaml +96 -0
  182. package/expansion-packs/bmad-creative-writing/templates/chapter-draft-tmpl.yaml +81 -0
  183. package/expansion-packs/bmad-creative-writing/templates/character-profile-tmpl.yaml +92 -0
  184. package/expansion-packs/bmad-creative-writing/templates/cover-design-brief-tmpl.yaml +97 -0
  185. package/expansion-packs/bmad-creative-writing/templates/premise-brief-tmpl.yaml +77 -0
  186. package/expansion-packs/bmad-creative-writing/templates/scene-list-tmpl.yaml +54 -0
  187. package/expansion-packs/bmad-creative-writing/templates/story-outline-tmpl.yaml +96 -0
  188. package/expansion-packs/bmad-creative-writing/templates/world-guide-tmpl.yaml +88 -0
  189. package/expansion-packs/bmad-creative-writing/workflows/book-cover-design-workflow.md +176 -0
  190. package/expansion-packs/bmad-creative-writing/workflows/novel-greenfield-workflow.yaml +58 -0
  191. package/expansion-packs/bmad-creative-writing/workflows/novel-serial-workflow.yaml +51 -0
  192. package/expansion-packs/bmad-creative-writing/workflows/novel-snowflake-workflow.yaml +69 -0
  193. package/expansion-packs/bmad-creative-writing/workflows/novel-writing.yaml +92 -0
  194. package/expansion-packs/bmad-creative-writing/workflows/screenplay-development.yaml +86 -0
  195. package/expansion-packs/bmad-creative-writing/workflows/series-planning.yaml +79 -0
  196. package/expansion-packs/bmad-creative-writing/workflows/short-story-creation.yaml +65 -0
  197. package/expansion-packs/bmad-infrastructure-devops/config.yaml +1 -1
  198. package/expansion-packs/bmad-infrastructure-devops/templates/infrastructure-architecture-tmpl.yaml +20 -20
  199. package/expansion-packs/bmad-infrastructure-devops/templates/infrastructure-platform-from-arch-tmpl.yaml +7 -7
  200. package/package.json +62 -39
  201. package/prettier.config.mjs +32 -0
  202. package/sync-version.sh +23 -0
  203. package/tools/bmad-npx-wrapper.js +10 -10
  204. package/tools/builders/web-builder.js +124 -130
  205. package/tools/bump-all-versions.js +42 -33
  206. package/tools/bump-expansion-version.js +23 -16
  207. package/tools/cli.js +10 -12
  208. package/tools/flattener/aggregate.js +10 -10
  209. package/tools/flattener/binary.js +44 -17
  210. package/tools/flattener/discovery.js +19 -18
  211. package/tools/flattener/files.js +6 -6
  212. package/tools/flattener/ignoreRules.js +125 -125
  213. package/tools/flattener/main.js +426 -70
  214. package/tools/flattener/projectRoot.js +186 -25
  215. package/tools/flattener/prompts.js +9 -9
  216. package/tools/flattener/stats.helpers.js +395 -0
  217. package/tools/flattener/stats.js +64 -14
  218. package/tools/flattener/test-matrix.js +413 -0
  219. package/tools/flattener/xml.js +33 -31
  220. package/tools/installer/bin/bmad.js +156 -113
  221. package/tools/installer/config/ide-agent-config.yaml +1 -1
  222. package/tools/installer/config/install.config.yaml +13 -3
  223. package/tools/installer/lib/config-loader.js +46 -42
  224. package/tools/installer/lib/file-manager.js +91 -113
  225. package/tools/installer/lib/ide-base-setup.js +57 -56
  226. package/tools/installer/lib/ide-setup.js +545 -399
  227. package/tools/installer/lib/installer.js +875 -714
  228. package/tools/installer/lib/memory-profiler.js +54 -53
  229. package/tools/installer/lib/module-manager.js +19 -15
  230. package/tools/installer/lib/resource-locator.js +26 -28
  231. package/tools/installer/package.json +19 -19
  232. package/tools/lib/dependency-resolver.js +26 -30
  233. package/tools/lib/yaml-utils.js +7 -7
  234. package/tools/preview-release-notes.js +66 -0
  235. package/tools/shared/bannerArt.js +3 -3
  236. package/tools/sync-installer-version.js +7 -9
  237. package/tools/update-expansion-version.js +14 -15
  238. package/tools/upgraders/v3-to-v4-upgrader.js +203 -294
  239. package/tools/version-bump.js +41 -26
  240. package/tools/yaml-format.js +56 -43
  241. package/.github/workflows/release.yaml +0 -60
  242. package/.releaserc.json +0 -21
  243. package/expansion-packs/Complete AI Agent System - Blank Templates & Google Cloud Setup/Complete AI Agent System - Flowchart.svg +0 -102
  244. package/expansion-packs/Complete AI Agent System - Blank Templates & Google Cloud Setup/PART 1 - Google Cloud Vertex AI Setup Documentation/1.1 Google Cloud Project Setup/1.1.1 - Initial Project Configuration - bash copy.txt +0 -13
  245. package/expansion-packs/Complete AI Agent System - Blank Templates & Google Cloud Setup/PART 1 - Google Cloud Vertex AI Setup Documentation/1.1 Google Cloud Project Setup/1.1.1 - Initial Project Configuration - bash.txt +0 -13
  246. package/expansion-packs/Complete AI Agent System - Blank Templates & Google Cloud Setup/PART 1 - Google Cloud Vertex AI Setup Documentation/1.2 Agent Development Kit Installation/1.2.2 - Basic Project Structure - txt.txt +0 -25
  247. package/expansion-packs/Complete AI Agent System - Blank Templates & Google Cloud Setup/PART 1 - Google Cloud Vertex AI Setup Documentation/1.3 Core Configuration Files/1.3.1 - settings.py +0 -34
  248. package/expansion-packs/Complete AI Agent System - Blank Templates & Google Cloud Setup/PART 1 - Google Cloud Vertex AI Setup Documentation/1.3 Core Configuration Files/1.3.2 - main.py - Base Application.py +0 -70
  249. package/expansion-packs/Complete AI Agent System - Blank Templates & Google Cloud Setup/PART 1 - Google Cloud Vertex AI Setup Documentation/1.4 Deployment Configuration/1.4.2 - cloudbuild.yaml +0 -26
  250. package/expansion-packs/Complete AI Agent System - Blank Templates & Google Cloud Setup/README.md +0 -109
  251. package/tools/semantic-release-sync-installer.js +0 -30
@@ -113,7 +113,6 @@ If the user asks or does not specify a specific checklist, list the checklists a
113
113
  ## Instructions
114
114
 
115
115
  1. **Initial Assessment**
116
-
117
116
  - If user or the task being run provides a checklist name:
118
117
  - Try fuzzy matching (e.g. "architecture checklist" -> "architect-checklist")
119
118
  - If multiple matches found, ask user to clarify
@@ -126,14 +125,12 @@ If the user asks or does not specify a specific checklist, list the checklists a
126
125
  - All at once (YOLO mode - recommended for checklists, there will be a summary of sections at the end to discuss)
127
126
 
128
127
  2. **Document and Artifact Gathering**
129
-
130
128
  - Each checklist will specify its required documents/artifacts at the beginning
131
129
  - Follow the checklist's specific instructions for what to gather, generally a file can be resolved in the docs folder, if not or unsure, halt and ask or confirm with the user.
132
130
 
133
131
  3. **Checklist Processing**
134
132
 
135
133
  If in interactive mode:
136
-
137
134
  - Work through each section of the checklist one at a time
138
135
  - For each section:
139
136
  - Review all items in the section following instructions for that section embedded in the checklist
@@ -142,7 +139,6 @@ If the user asks or does not specify a specific checklist, list the checklists a
142
139
  - Get user confirmation before proceeding to next section or if any thing major do we need to halt and take corrective action
143
140
 
144
141
  If in YOLO mode:
145
-
146
142
  - Process all sections at once
147
143
  - Create a comprehensive report of all findings
148
144
  - Present the complete analysis to the user
@@ -150,7 +146,6 @@ If the user asks or does not specify a specific checklist, list the checklists a
150
146
  4. **Validation Approach**
151
147
 
152
148
  For each checklist item:
153
-
154
149
  - Read and understand the requirement
155
150
  - Look for evidence in the documentation that satisfies the requirement
156
151
  - Consider both explicit mentions and implicit coverage
@@ -164,7 +159,6 @@ If the user asks or does not specify a specific checklist, list the checklists a
164
159
  5. **Section Analysis**
165
160
 
166
161
  For each section:
167
-
168
162
  - think step by step to calculate pass rate
169
163
  - Identify common themes in failed items
170
164
  - Provide specific recommendations for improvement
@@ -174,7 +168,6 @@ If the user asks or does not specify a specific checklist, list the checklists a
174
168
  6. **Final Report**
175
169
 
176
170
  Prepare a summary that includes:
177
-
178
171
  - Overall checklist completion status
179
172
  - Pass rates by section
180
173
  - List of failed items with context
@@ -214,7 +207,7 @@ sections:
214
207
  - id: initial-setup
215
208
  instruction: |
216
209
  This template creates a comprehensive game architecture document specifically for Phaser 3 + TypeScript projects. This should provide the technical foundation for all game development stories and epics.
217
-
210
+
218
211
  If available, review any provided documents: Game Design Document (GDD), Technical Preferences. This architecture should support all game mechanics defined in the GDD.
219
212
 
220
213
  - id: introduction
@@ -222,7 +215,7 @@ sections:
222
215
  instruction: Establish the document's purpose and scope for game development
223
216
  content: |
224
217
  This document outlines the complete technical architecture for {{game_title}}, a 2D game built with Phaser 3 and TypeScript. It serves as the technical foundation for AI-driven game development, ensuring consistency and scalability across all game systems.
225
-
218
+
226
219
  This architecture is designed to support the gameplay mechanics defined in the Game Design Document while maintaining 60 FPS performance and cross-platform compatibility.
227
220
  sections:
228
221
  - id: change-log
@@ -241,7 +234,7 @@ sections:
241
234
  title: Architecture Summary
242
235
  instruction: |
243
236
  Provide a comprehensive overview covering:
244
-
237
+
245
238
  - Game engine choice and configuration
246
239
  - Project structure and organization
247
240
  - Key systems and their interactions
@@ -329,23 +322,23 @@ sections:
329
322
  title: Scene Management System
330
323
  template: |
331
324
  **Purpose:** Handle game flow and scene transitions
332
-
325
+
333
326
  **Key Components:**
334
-
327
+
335
328
  - Scene loading and unloading
336
329
  - Data passing between scenes
337
330
  - Transition effects
338
331
  - Memory management
339
-
332
+
340
333
  **Implementation Requirements:**
341
-
334
+
342
335
  - Preload scene for asset loading
343
336
  - Menu system with navigation
344
337
  - Gameplay scenes with state management
345
338
  - Pause/resume functionality
346
-
339
+
347
340
  **Files to Create:**
348
-
341
+
349
342
  - `src/scenes/BootScene.ts`
350
343
  - `src/scenes/PreloadScene.ts`
351
344
  - `src/scenes/MenuScene.ts`
@@ -355,23 +348,23 @@ sections:
355
348
  title: Game State Management
356
349
  template: |
357
350
  **Purpose:** Track player progress and game status
358
-
351
+
359
352
  **State Categories:**
360
-
353
+
361
354
  - Player progress (levels, unlocks)
362
355
  - Game settings (audio, controls)
363
356
  - Session data (current level, score)
364
357
  - Persistent data (achievements, statistics)
365
-
358
+
366
359
  **Implementation Requirements:**
367
-
360
+
368
361
  - Save/load system with localStorage
369
362
  - State validation and error recovery
370
363
  - Cross-session data persistence
371
364
  - Settings management
372
-
365
+
373
366
  **Files to Create:**
374
-
367
+
375
368
  - `src/systems/GameState.ts`
376
369
  - `src/systems/SaveManager.ts`
377
370
  - `src/types/GameData.ts`
@@ -379,23 +372,23 @@ sections:
379
372
  title: Asset Management System
380
373
  template: |
381
374
  **Purpose:** Efficient loading and management of game assets
382
-
375
+
383
376
  **Asset Categories:**
384
-
377
+
385
378
  - Sprite sheets and animations
386
379
  - Audio files and music
387
380
  - Level data and configurations
388
381
  - UI assets and fonts
389
-
382
+
390
383
  **Implementation Requirements:**
391
-
384
+
392
385
  - Progressive loading strategy
393
386
  - Asset caching and optimization
394
387
  - Error handling for failed loads
395
388
  - Memory management for large assets
396
-
389
+
397
390
  **Files to Create:**
398
-
391
+
399
392
  - `src/systems/AssetManager.ts`
400
393
  - `src/config/AssetConfig.ts`
401
394
  - `src/utils/AssetLoader.ts`
@@ -403,23 +396,23 @@ sections:
403
396
  title: Input Management System
404
397
  template: |
405
398
  **Purpose:** Handle all player input across platforms
406
-
399
+
407
400
  **Input Types:**
408
-
401
+
409
402
  - Keyboard controls
410
403
  - Mouse/pointer interaction
411
404
  - Touch gestures (mobile)
412
405
  - Gamepad support (optional)
413
-
406
+
414
407
  **Implementation Requirements:**
415
-
408
+
416
409
  - Input mapping and configuration
417
410
  - Touch-friendly mobile controls
418
411
  - Input buffering for responsive gameplay
419
412
  - Customizable control schemes
420
-
413
+
421
414
  **Files to Create:**
422
-
415
+
423
416
  - `src/systems/InputManager.ts`
424
417
  - `src/utils/TouchControls.ts`
425
418
  - `src/types/InputTypes.ts`
@@ -432,19 +425,19 @@ sections:
432
425
  title: "{{mechanic_name}} System"
433
426
  template: |
434
427
  **Purpose:** {{system_purpose}}
435
-
428
+
436
429
  **Core Functionality:**
437
-
430
+
438
431
  - {{feature_1}}
439
432
  - {{feature_2}}
440
433
  - {{feature_3}}
441
-
434
+
442
435
  **Dependencies:** {{required_systems}}
443
-
436
+
444
437
  **Performance Considerations:** {{optimization_notes}}
445
-
438
+
446
439
  **Files to Create:**
447
-
440
+
448
441
  - `src/systems/{{system_name}}.ts`
449
442
  - `src/gameObjects/{{related_object}}.ts`
450
443
  - `src/types/{{system_types}}.ts`
@@ -452,65 +445,65 @@ sections:
452
445
  title: Physics & Collision System
453
446
  template: |
454
447
  **Physics Engine:** {{physics_choice}} (Arcade Physics/Matter.js)
455
-
448
+
456
449
  **Collision Categories:**
457
-
450
+
458
451
  - Player collision
459
452
  - Enemy interactions
460
453
  - Environmental objects
461
454
  - Collectibles and items
462
-
455
+
463
456
  **Implementation Requirements:**
464
-
457
+
465
458
  - Optimized collision detection
466
459
  - Physics body management
467
460
  - Collision callbacks and events
468
461
  - Performance monitoring
469
-
462
+
470
463
  **Files to Create:**
471
-
464
+
472
465
  - `src/systems/PhysicsManager.ts`
473
466
  - `src/utils/CollisionGroups.ts`
474
467
  - id: audio-system
475
468
  title: Audio System
476
469
  template: |
477
470
  **Audio Requirements:**
478
-
471
+
479
472
  - Background music with looping
480
473
  - Sound effects for actions
481
474
  - Audio settings and volume control
482
475
  - Mobile audio optimization
483
-
476
+
484
477
  **Implementation Features:**
485
-
478
+
486
479
  - Audio sprite management
487
480
  - Dynamic music system
488
481
  - Spatial audio (if applicable)
489
482
  - Audio pooling for performance
490
-
483
+
491
484
  **Files to Create:**
492
-
485
+
493
486
  - `src/systems/AudioManager.ts`
494
487
  - `src/config/AudioConfig.ts`
495
488
  - id: ui-system
496
489
  title: UI System
497
490
  template: |
498
491
  **UI Components:**
499
-
492
+
500
493
  - HUD elements (score, health, etc.)
501
494
  - Menu navigation
502
495
  - Modal dialogs
503
496
  - Settings screens
504
-
497
+
505
498
  **Implementation Requirements:**
506
-
499
+
507
500
  - Responsive layout system
508
501
  - Touch-friendly interface
509
502
  - Keyboard navigation support
510
503
  - Animation and transitions
511
-
504
+
512
505
  **Files to Create:**
513
-
506
+
514
507
  - `src/systems/UIManager.ts`
515
508
  - `src/gameObjects/UI/`
516
509
  - `src/types/UITypes.ts`
@@ -1052,7 +1045,7 @@ interface GameState {
1052
1045
  interface GameSettings {
1053
1046
  musicVolume: number;
1054
1047
  sfxVolume: number;
1055
- difficulty: "easy" | "normal" | "hard";
1048
+ difficulty: 'easy' | 'normal' | 'hard';
1056
1049
  controls: ControlScheme;
1057
1050
  }
1058
1051
  ```
@@ -1093,12 +1086,12 @@ class GameScene extends Phaser.Scene {
1093
1086
  private inputManager!: InputManager;
1094
1087
 
1095
1088
  constructor() {
1096
- super({ key: "GameScene" });
1089
+ super({ key: 'GameScene' });
1097
1090
  }
1098
1091
 
1099
1092
  preload(): void {
1100
1093
  // Load only scene-specific assets
1101
- this.load.image("player", "assets/player.png");
1094
+ this.load.image('player', 'assets/player.png');
1102
1095
  }
1103
1096
 
1104
1097
  create(data: SceneData): void {
@@ -1123,7 +1116,7 @@ class GameScene extends Phaser.Scene {
1123
1116
  this.inputManager.destroy();
1124
1117
 
1125
1118
  // Remove event listeners
1126
- this.events.off("*");
1119
+ this.events.off('*');
1127
1120
  }
1128
1121
  }
1129
1122
  ```
@@ -1132,13 +1125,13 @@ class GameScene extends Phaser.Scene {
1132
1125
 
1133
1126
  ```typescript
1134
1127
  // Proper scene transitions with data
1135
- this.scene.start("NextScene", {
1128
+ this.scene.start('NextScene', {
1136
1129
  playerScore: this.playerScore,
1137
1130
  currentLevel: this.currentLevel + 1,
1138
1131
  });
1139
1132
 
1140
1133
  // Scene overlays for UI
1141
- this.scene.launch("PauseMenuScene");
1134
+ this.scene.launch('PauseMenuScene');
1142
1135
  this.scene.pause();
1143
1136
  ```
1144
1137
 
@@ -1182,7 +1175,7 @@ class Player extends GameEntity {
1182
1175
  private health!: HealthComponent;
1183
1176
 
1184
1177
  constructor(scene: Phaser.Scene, x: number, y: number) {
1185
- super(scene, x, y, "player");
1178
+ super(scene, x, y, 'player');
1186
1179
 
1187
1180
  this.movement = this.addComponent(new MovementComponent(this));
1188
1181
  this.health = this.addComponent(new HealthComponent(this, 100));
@@ -1202,7 +1195,7 @@ class GameManager {
1202
1195
 
1203
1196
  constructor(scene: Phaser.Scene) {
1204
1197
  if (GameManager.instance) {
1205
- throw new Error("GameManager already exists!");
1198
+ throw new Error('GameManager already exists!');
1206
1199
  }
1207
1200
 
1208
1201
  this.scene = scene;
@@ -1212,7 +1205,7 @@ class GameManager {
1212
1205
 
1213
1206
  static getInstance(): GameManager {
1214
1207
  if (!GameManager.instance) {
1215
- throw new Error("GameManager not initialized!");
1208
+ throw new Error('GameManager not initialized!');
1216
1209
  }
1217
1210
  return GameManager.instance;
1218
1211
  }
@@ -1259,7 +1252,7 @@ class BulletPool {
1259
1252
  }
1260
1253
 
1261
1254
  // Pool exhausted - create new bullet
1262
- console.warn("Bullet pool exhausted, creating new bullet");
1255
+ console.warn('Bullet pool exhausted, creating new bullet');
1263
1256
  return new Bullet(this.scene, 0, 0);
1264
1257
  }
1265
1258
 
@@ -1359,12 +1352,12 @@ class InputManager {
1359
1352
  }
1360
1353
 
1361
1354
  private setupKeyboard(): void {
1362
- this.keys = this.scene.input.keyboard.addKeys("W,A,S,D,SPACE,ESC,UP,DOWN,LEFT,RIGHT");
1355
+ this.keys = this.scene.input.keyboard.addKeys('W,A,S,D,SPACE,ESC,UP,DOWN,LEFT,RIGHT');
1363
1356
  }
1364
1357
 
1365
1358
  private setupTouch(): void {
1366
- this.scene.input.on("pointerdown", this.handlePointerDown, this);
1367
- this.scene.input.on("pointerup", this.handlePointerUp, this);
1359
+ this.scene.input.on('pointerdown', this.handlePointerDown, this);
1360
+ this.scene.input.on('pointerup', this.handlePointerUp, this);
1368
1361
  }
1369
1362
 
1370
1363
  update(): void {
@@ -1391,9 +1384,9 @@ class InputManager {
1391
1384
  class AssetManager {
1392
1385
  loadAssets(): Promise<void> {
1393
1386
  return new Promise((resolve, reject) => {
1394
- this.scene.load.on("filecomplete", this.handleFileComplete, this);
1395
- this.scene.load.on("loaderror", this.handleLoadError, this);
1396
- this.scene.load.on("complete", () => resolve());
1387
+ this.scene.load.on('filecomplete', this.handleFileComplete, this);
1388
+ this.scene.load.on('loaderror', this.handleLoadError, this);
1389
+ this.scene.load.on('complete', () => resolve());
1397
1390
 
1398
1391
  this.scene.load.start();
1399
1392
  });
@@ -1409,8 +1402,8 @@ class AssetManager {
1409
1402
  private loadFallbackAsset(key: string): void {
1410
1403
  // Load placeholder or default assets
1411
1404
  switch (key) {
1412
- case "player":
1413
- this.scene.load.image("player", "assets/defaults/default-player.png");
1405
+ case 'player':
1406
+ this.scene.load.image('player', 'assets/defaults/default-player.png');
1414
1407
  break;
1415
1408
  default:
1416
1409
  console.warn(`No fallback for asset: ${key}`);
@@ -1437,11 +1430,11 @@ class GameSystem {
1437
1430
 
1438
1431
  private attemptRecovery(context: string): void {
1439
1432
  switch (context) {
1440
- case "update":
1433
+ case 'update':
1441
1434
  // Reset system state
1442
1435
  this.reset();
1443
1436
  break;
1444
- case "render":
1437
+ case 'render':
1445
1438
  // Disable visual effects
1446
1439
  this.disableEffects();
1447
1440
  break;
@@ -1461,7 +1454,7 @@ class GameSystem {
1461
1454
 
1462
1455
  ```typescript
1463
1456
  // Example test for game mechanics
1464
- describe("HealthComponent", () => {
1457
+ describe('HealthComponent', () => {
1465
1458
  let healthComponent: HealthComponent;
1466
1459
 
1467
1460
  beforeEach(() => {
@@ -1469,18 +1462,18 @@ describe("HealthComponent", () => {
1469
1462
  healthComponent = new HealthComponent(mockEntity, 100);
1470
1463
  });
1471
1464
 
1472
- test("should initialize with correct health", () => {
1465
+ test('should initialize with correct health', () => {
1473
1466
  expect(healthComponent.currentHealth).toBe(100);
1474
1467
  expect(healthComponent.maxHealth).toBe(100);
1475
1468
  });
1476
1469
 
1477
- test("should handle damage correctly", () => {
1470
+ test('should handle damage correctly', () => {
1478
1471
  healthComponent.takeDamage(25);
1479
1472
  expect(healthComponent.currentHealth).toBe(75);
1480
1473
  expect(healthComponent.isAlive()).toBe(true);
1481
1474
  });
1482
1475
 
1483
- test("should handle death correctly", () => {
1476
+ test('should handle death correctly', () => {
1484
1477
  healthComponent.takeDamage(150);
1485
1478
  expect(healthComponent.currentHealth).toBe(0);
1486
1479
  expect(healthComponent.isAlive()).toBe(false);
@@ -1493,7 +1486,7 @@ describe("HealthComponent", () => {
1493
1486
  **Scene Testing:**
1494
1487
 
1495
1488
  ```typescript
1496
- describe("GameScene Integration", () => {
1489
+ describe('GameScene Integration', () => {
1497
1490
  let scene: GameScene;
1498
1491
  let mockGame: Phaser.Game;
1499
1492
 
@@ -1503,7 +1496,7 @@ describe("GameScene Integration", () => {
1503
1496
  scene = new GameScene();
1504
1497
  });
1505
1498
 
1506
- test("should initialize all systems", () => {
1499
+ test('should initialize all systems', () => {
1507
1500
  scene.create({});
1508
1501
 
1509
1502
  expect(scene.gameManager).toBeDefined();
@@ -1564,25 +1557,21 @@ src/
1564
1557
  ### Story Implementation Process
1565
1558
 
1566
1559
  1. **Read Story Requirements:**
1567
-
1568
1560
  - Understand acceptance criteria
1569
1561
  - Identify technical requirements
1570
1562
  - Review performance constraints
1571
1563
 
1572
1564
  2. **Plan Implementation:**
1573
-
1574
1565
  - Identify files to create/modify
1575
1566
  - Consider component architecture
1576
1567
  - Plan testing approach
1577
1568
 
1578
1569
  3. **Implement Feature:**
1579
-
1580
1570
  - Follow TypeScript strict mode
1581
1571
  - Use established patterns
1582
1572
  - Maintain 60 FPS performance
1583
1573
 
1584
1574
  4. **Test Implementation:**
1585
-
1586
1575
  - Write unit tests for game logic
1587
1576
  - Test cross-platform functionality
1588
1577
  - Validate performance targets