appiq-solution 1.3.3 → 1.4.3

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 (295) hide show
  1. package/#Tools/APPIQ-METHOD/.bmad-config.json +13 -0
  2. package/#Tools/APPIQ-METHOD/.cursor/commands/analyze.md +27 -0
  3. package/#Tools/APPIQ-METHOD/.cursor/commands/appiq.md +27 -0
  4. package/#Tools/APPIQ-METHOD/.cursor/commands/help.md +27 -0
  5. package/#Tools/APPIQ-METHOD/.cursor/commands/story.md +27 -0
  6. package/#Tools/APPIQ-METHOD/CHANGELOG.md +119 -173
  7. package/#Tools/APPIQ-METHOD/DEVELOPMENT_GUIDE.md +855 -0
  8. package/#Tools/APPIQ-METHOD/NPM-README.md +138 -0
  9. package/#Tools/APPIQ-METHOD/SMART_WORKFLOW_GUIDE.md +401 -0
  10. package/#Tools/APPIQ-METHOD/activate-appiq.js +81 -0
  11. package/#Tools/APPIQ-METHOD/appiq-solution/README.md +226 -0
  12. package/#Tools/APPIQ-METHOD/bmad-core/agent-teams/team-flutter-mobile.yaml +114 -0
  13. package/#Tools/APPIQ-METHOD/bmad-core/agent-teams/team-fullstack.yaml +11 -1
  14. package/#Tools/APPIQ-METHOD/bmad-core/agents/analyst.md +7 -3
  15. package/#Tools/APPIQ-METHOD/bmad-core/agents/architect.md +6 -0
  16. package/#Tools/APPIQ-METHOD/bmad-core/agents/bmad-orchestrator.md +0 -84
  17. package/#Tools/APPIQ-METHOD/bmad-core/agents/bmad-smart-launcher.md +170 -0
  18. package/#Tools/APPIQ-METHOD/bmad-core/agents/dev.md +31 -12
  19. package/#Tools/APPIQ-METHOD/bmad-core/agents/pm.md +10 -4
  20. package/#Tools/APPIQ-METHOD/bmad-core/agents/qa.md +17 -0
  21. package/#Tools/APPIQ-METHOD/bmad-core/agents/sm.md +8 -3
  22. package/#Tools/APPIQ-METHOD/bmad-core/agents/ux-expert.md +8 -3
  23. package/#Tools/APPIQ-METHOD/bmad-core/bmad-core/user-guide.md +0 -0
  24. package/#Tools/APPIQ-METHOD/bmad-core/checklists/security-validation-checklist.md +332 -0
  25. package/#Tools/APPIQ-METHOD/bmad-core/data/backend-services-integration.md +686 -0
  26. package/#Tools/APPIQ-METHOD/bmad-core/data/shadcn-ui-integration.md +388 -0
  27. package/#Tools/APPIQ-METHOD/bmad-core/data/technical-preferences.md +147 -1
  28. package/#Tools/APPIQ-METHOD/bmad-core/enhanced-ide-development-workflow.md +43 -0
  29. package/#Tools/APPIQ-METHOD/bmad-core/tasks/create-flutter-story.md +197 -0
  30. package/#Tools/APPIQ-METHOD/bmad-core/tasks/intelligent-epic-creation.md +234 -0
  31. package/#Tools/APPIQ-METHOD/bmad-core/tasks/smart-project-analysis.md +289 -0
  32. package/#Tools/APPIQ-METHOD/bmad-core/templates/flutter-mobile-prd-tmpl.yaml +330 -0
  33. package/#Tools/APPIQ-METHOD/bmad-core/templates/flutter-story-tmpl.yaml +376 -0
  34. package/#Tools/APPIQ-METHOD/bmad-core/templates/flutter-ui-spec-tmpl.yaml +415 -0
  35. package/#Tools/APPIQ-METHOD/bmad-core/templates/fullstack-architecture-tmpl.yaml +12 -5
  36. package/#Tools/APPIQ-METHOD/bmad-core/user-guide.md +10 -9
  37. package/#Tools/APPIQ-METHOD/bmad-core/workflows/brownfield-fullstack.yaml +15 -1
  38. package/#Tools/APPIQ-METHOD/bmad-core/workflows/greenfield-fullstack.yaml +49 -5
  39. package/#Tools/APPIQ-METHOD/bmad-core/working-in-the-brownfield.md +56 -44
  40. package/#Tools/APPIQ-METHOD/commands/README.md +28 -0
  41. package/#Tools/APPIQ-METHOD/commands/analyze.md +27 -0
  42. package/#Tools/APPIQ-METHOD/commands/appiq.md +27 -0
  43. package/#Tools/APPIQ-METHOD/commands/help.md +27 -0
  44. package/#Tools/APPIQ-METHOD/commands/story.md +27 -0
  45. package/#Tools/APPIQ-METHOD/dist/agents/bmad-orchestrator.txt +0 -111
  46. package/#Tools/APPIQ-METHOD/dist/agents/pm.txt +2 -0
  47. package/#Tools/APPIQ-METHOD/dist/expansion-packs/bmad-2d-phaser-game-dev/teams/phaser-2d-nodejs-game-team.txt +0 -111
  48. package/#Tools/APPIQ-METHOD/dist/expansion-packs/bmad-2d-unity-game-dev/teams/unity-2d-game-team.txt +0 -111
  49. package/#Tools/APPIQ-METHOD/dist/teams/team-all.txt +2 -111
  50. package/#Tools/APPIQ-METHOD/dist/teams/team-fullstack.txt +2 -111
  51. package/#Tools/APPIQ-METHOD/dist/teams/team-ide-minimal.txt +0 -111
  52. package/#Tools/APPIQ-METHOD/dist/teams/team-no-ui.txt +2 -111
  53. package/#Tools/APPIQ-METHOD/expansion-packs/bmad-2d-phaser-game-dev/config.yaml +1 -1
  54. package/#Tools/APPIQ-METHOD/expansion-packs/bmad-2d-unity-game-dev/config.yaml +1 -1
  55. package/#Tools/APPIQ-METHOD/expansion-packs/bmad-flutter-mobile-dev/agent-teams/flutter-mobile-team.yaml +23 -0
  56. package/#Tools/APPIQ-METHOD/expansion-packs/bmad-flutter-mobile-dev/agents/flutter-cubit-agent.md +133 -0
  57. package/#Tools/APPIQ-METHOD/expansion-packs/bmad-flutter-mobile-dev/agents/flutter-data-agent.md +160 -0
  58. package/#Tools/APPIQ-METHOD/expansion-packs/bmad-flutter-mobile-dev/agents/flutter-domain-agent.md +153 -0
  59. package/#Tools/APPIQ-METHOD/expansion-packs/bmad-flutter-mobile-dev/agents/flutter-ui-agent.md +122 -0
  60. package/#Tools/APPIQ-METHOD/expansion-packs/bmad-flutter-mobile-dev/agents/shared-components-agent.md +161 -0
  61. package/#Tools/APPIQ-METHOD/expansion-packs/bmad-flutter-mobile-dev/checklists/flutter-story-dod-checklist.md +194 -0
  62. package/#Tools/APPIQ-METHOD/expansion-packs/bmad-flutter-mobile-dev/config.yaml +41 -0
  63. package/#Tools/APPIQ-METHOD/expansion-packs/bmad-flutter-mobile-dev/data/flutter-development-guidelines.md +551 -0
  64. package/#Tools/APPIQ-METHOD/expansion-packs/bmad-flutter-mobile-dev/templates/flutter-mobile-architecture-tmpl.yaml +530 -0
  65. package/#Tools/APPIQ-METHOD/expansion-packs/bmad-flutter-mobile-dev/workflows/flutter-ui-first-development.yaml +220 -0
  66. package/#Tools/APPIQ-METHOD/expansion-packs/bmad-infrastructure-devops/config.yaml +1 -1
  67. package/#Tools/APPIQ-METHOD/install-appiq.sh +41 -0
  68. package/#Tools/APPIQ-METHOD/package-lock.json +631 -0
  69. package/#Tools/APPIQ-METHOD/package.json +20 -69
  70. package/#Tools/APPIQ-METHOD/tasks/todo.md +275 -0
  71. package/#Tools/APPIQ-METHOD/tools/appiq-installer.js +2714 -0
  72. package/#Tools/APPIQ-METHOD/tools/bmad-npx-wrapper.js +5 -7
  73. package/#Tools/APPIQ-METHOD/tools/cli.js +3 -3
  74. package/#Tools/APPIQ-METHOD/tools/epic-solution-installer.js +538 -0
  75. package/#Tools/APPIQ-METHOD/tools/flattener/main.js +570 -0
  76. package/#Tools/APPIQ-METHOD/tools/installer/bin/bmad.js +15 -14
  77. package/#Tools/APPIQ-METHOD/tools/installer/lib/installer.js +28 -2
  78. package/#Tools/APPIQ-METHOD/tools/installer/package-lock.json +906 -0
  79. package/#Tools/APPIQ-METHOD/tools/installer/package.json +1 -1
  80. package/#Tools/APPIQ-METHOD/tools/setup-ide-commands.js +345 -0
  81. package/#Tools/APPIQ-METHOD/tools/smart-installer.js +589 -0
  82. package/package.json +20 -69
  83. package/tools/appiq-installer.js +2714 -0
  84. package/tools/bmad-npx-wrapper.js +5 -7
  85. package/tools/cli.js +3 -3
  86. package/tools/epic-solution-installer.js +538 -0
  87. package/tools/flattener/main.js +570 -0
  88. package/tools/installer/bin/bmad.js +15 -14
  89. package/tools/installer/lib/installer.js +28 -2
  90. package/tools/installer/package-lock.json +89 -89
  91. package/tools/installer/package.json +1 -1
  92. package/tools/setup-ide-commands.js +345 -0
  93. package/tools/smart-installer.js +589 -0
  94. package/#Tools/APPIQ-METHOD/appiq_start.md +0 -232
  95. package/#Tools/APPIQ-METHOD/deployment/DEPLOYMENT_GUIDE.md +0 -426
  96. package/#Tools/APPIQ-METHOD/deployment/GITHUB_RELEASE_GUIDE.md +0 -326
  97. package/#Tools/APPIQ-METHOD/deployment/README.md +0 -331
  98. package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/agent-teams/team-all.yaml +0 -14
  99. package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/agent-teams/team-fullstack.yaml +0 -18
  100. package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/agent-teams/team-ide-minimal.yaml +0 -10
  101. package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/agent-teams/team-no-ui.yaml +0 -13
  102. package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/agents/analyst.md +0 -81
  103. package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/agents/architect.md +0 -84
  104. package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/agents/bmad-master.md +0 -108
  105. package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/agents/bmad-orchestrator.md +0 -234
  106. package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/agents/dev.md +0 -76
  107. package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/agents/pm.md +0 -79
  108. package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/agents/po.md +0 -76
  109. package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/agents/qa.md +0 -69
  110. package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/agents/sm.md +0 -62
  111. package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/agents/ux-expert.md +0 -66
  112. package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/checklists/architect-checklist.md +0 -443
  113. package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/checklists/change-checklist.md +0 -182
  114. package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/checklists/pm-checklist.md +0 -375
  115. package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/checklists/po-master-checklist.md +0 -441
  116. package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/checklists/story-dod-checklist.md +0 -101
  117. package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/checklists/story-draft-checklist.md +0 -156
  118. package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/data/bmad-kb.md +0 -803
  119. package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/data/brainstorming-techniques.md +0 -36
  120. package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/data/elicitation-methods.md +0 -134
  121. package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/data/technical-preferences.md +0 -3
  122. package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/tasks/advanced-elicitation.md +0 -117
  123. package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/tasks/brownfield-create-epic.md +0 -160
  124. package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/tasks/brownfield-create-story.md +0 -147
  125. package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/tasks/correct-course.md +0 -70
  126. package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/tasks/create-brownfield-story.md +0 -304
  127. package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/tasks/create-deep-research-prompt.md +0 -289
  128. package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/tasks/create-next-story.md +0 -112
  129. package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/tasks/document-project.md +0 -341
  130. package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/tasks/facilitate-brainstorming-session.md +0 -136
  131. package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/tasks/generate-ai-frontend-prompt.md +0 -51
  132. package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/tasks/index-docs.md +0 -179
  133. package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/tasks/kb-mode-interaction.md +0 -75
  134. package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/tasks/review-story.md +0 -145
  135. package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/tasks/shard-doc.md +0 -187
  136. package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/tasks/validate-next-story.md +0 -134
  137. package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/templates/architecture-tmpl.yaml +0 -650
  138. package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/templates/brainstorming-output-tmpl.yaml +0 -156
  139. package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/templates/brownfield-architecture-tmpl.yaml +0 -476
  140. package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/templates/brownfield-prd-tmpl.yaml +0 -280
  141. package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/templates/competitor-analysis-tmpl.yaml +0 -293
  142. package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/templates/front-end-architecture-tmpl.yaml +0 -206
  143. package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/templates/front-end-spec-tmpl.yaml +0 -349
  144. package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/templates/fullstack-architecture-tmpl.yaml +0 -805
  145. package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/templates/market-research-tmpl.yaml +0 -252
  146. package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/templates/prd-tmpl.yaml +0 -202
  147. package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/templates/project-brief-tmpl.yaml +0 -221
  148. package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/templates/story-tmpl.yaml +0 -137
  149. package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/user-guide.md +0 -250
  150. package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/workflows/brownfield-fullstack.yaml +0 -297
  151. package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/workflows/brownfield-service.yaml +0 -187
  152. package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/workflows/brownfield-ui.yaml +0 -197
  153. package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/workflows/greenfield-fullstack.yaml +0 -240
  154. package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/workflows/greenfield-service.yaml +0 -206
  155. package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/workflows/greenfield-ui.yaml +0 -235
  156. package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/working-in-the-brownfield.md +0 -361
  157. package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/README.md +0 -3
  158. package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-2d-phaser-game-dev/agent-teams/phaser-2d-nodejs-game-team.yaml +0 -13
  159. package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-2d-phaser-game-dev/agents/game-designer.md +0 -71
  160. package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-2d-phaser-game-dev/agents/game-developer.md +0 -78
  161. package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-2d-phaser-game-dev/agents/game-sm.md +0 -64
  162. package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-2d-phaser-game-dev/checklists/game-design-checklist.md +0 -201
  163. package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-2d-phaser-game-dev/checklists/game-story-dod-checklist.md +0 -160
  164. package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-2d-phaser-game-dev/config.yaml +0 -8
  165. package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-2d-phaser-game-dev/data/bmad-kb.md +0 -254
  166. package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-2d-phaser-game-dev/data/development-guidelines.md +0 -651
  167. package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-2d-phaser-game-dev/tasks/advanced-elicitation.md +0 -111
  168. package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-2d-phaser-game-dev/tasks/create-game-story.md +0 -216
  169. package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-2d-phaser-game-dev/tasks/game-design-brainstorming.md +0 -308
  170. package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-2d-phaser-game-dev/templates/game-architecture-tmpl.yaml +0 -613
  171. package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-2d-phaser-game-dev/templates/game-brief-tmpl.yaml +0 -356
  172. package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-2d-phaser-game-dev/templates/game-design-doc-tmpl.yaml +0 -343
  173. package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-2d-phaser-game-dev/templates/game-story-tmpl.yaml +0 -253
  174. package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-2d-phaser-game-dev/templates/level-design-doc-tmpl.yaml +0 -484
  175. package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-2d-phaser-game-dev/workflows/game-dev-greenfield.yaml +0 -183
  176. package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-2d-phaser-game-dev/workflows/game-prototype.yaml +0 -175
  177. package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-2d-unity-game-dev/agent-teams/unity-2d-game-team.yaml +0 -14
  178. package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-2d-unity-game-dev/agents/game-architect.md +0 -80
  179. package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-2d-unity-game-dev/agents/game-designer.md +0 -77
  180. package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-2d-unity-game-dev/agents/game-developer.md +0 -78
  181. package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-2d-unity-game-dev/agents/game-sm.md +0 -65
  182. package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-2d-unity-game-dev/checklists/game-architect-checklist.md +0 -396
  183. package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-2d-unity-game-dev/checklists/game-change-checklist.md +0 -203
  184. package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-2d-unity-game-dev/checklists/game-design-checklist.md +0 -201
  185. package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-2d-unity-game-dev/checklists/game-story-dod-checklist.md +0 -132
  186. package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-2d-unity-game-dev/config.yaml +0 -6
  187. package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-2d-unity-game-dev/data/bmad-kb.md +0 -776
  188. package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-2d-unity-game-dev/data/development-guidelines.md +0 -590
  189. package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-2d-unity-game-dev/tasks/advanced-elicitation.md +0 -111
  190. package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-2d-unity-game-dev/tasks/correct-course-game.md +0 -151
  191. package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-2d-unity-game-dev/tasks/create-game-story.md +0 -184
  192. package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-2d-unity-game-dev/tasks/game-design-brainstorming.md +0 -308
  193. package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-2d-unity-game-dev/tasks/validate-game-story.md +0 -200
  194. package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-2d-unity-game-dev/templates/game-architecture-tmpl.yaml +0 -1030
  195. package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-2d-unity-game-dev/templates/game-brief-tmpl.yaml +0 -356
  196. package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-2d-unity-game-dev/templates/game-design-doc-tmpl.yaml +0 -705
  197. package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-2d-unity-game-dev/templates/game-story-tmpl.yaml +0 -256
  198. package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-2d-unity-game-dev/templates/level-design-doc-tmpl.yaml +0 -484
  199. package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-2d-unity-game-dev/workflows/game-dev-greenfield.yaml +0 -183
  200. package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-2d-unity-game-dev/workflows/game-prototype.yaml +0 -175
  201. package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-infrastructure-devops/README.md +0 -147
  202. package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-infrastructure-devops/agents/infra-devops-platform.md +0 -71
  203. package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-infrastructure-devops/checklists/infrastructure-checklist.md +0 -484
  204. package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-infrastructure-devops/config.yaml +0 -9
  205. package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-infrastructure-devops/data/bmad-kb.md +0 -308
  206. package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-infrastructure-devops/tasks/review-infrastructure.md +0 -160
  207. package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-infrastructure-devops/tasks/validate-infrastructure.md +0 -154
  208. package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-infrastructure-devops/templates/infrastructure-architecture-tmpl.yaml +0 -424
  209. package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-infrastructure-devops/templates/infrastructure-platform-from-arch-tmpl.yaml +0 -629
  210. package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-mobile-app-dev/agent-teams/mobile-team-cross-platform.yaml +0 -22
  211. package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-mobile-app-dev/agent-teams/mobile-team-flutter.yaml +0 -20
  212. package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-mobile-app-dev/agent-teams/mobile-team-minimal.yaml +0 -13
  213. package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-mobile-app-dev/agent-teams/mobile-team-react-native.yaml +0 -20
  214. package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-mobile-app-dev/agents/mobile-analytics.md +0 -1487
  215. package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-mobile-app-dev/agents/mobile-architect.md +0 -279
  216. package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-mobile-app-dev/agents/mobile-developer.md +0 -649
  217. package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-mobile-app-dev/agents/mobile-pm.md +0 -339
  218. package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-mobile-app-dev/agents/mobile-qa.md +0 -622
  219. package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-mobile-app-dev/agents/mobile-security.md +0 -1027
  220. package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-mobile-app-dev/agents/mobile-ux-expert.md +0 -1451
  221. package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-mobile-app-dev/checklists/mobile-development-checklist.md +0 -490
  222. package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-mobile-app-dev/config.yaml +0 -54
  223. package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-mobile-app-dev/data/bmad-kb.md +0 -292
  224. package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-mobile-app-dev/data/flutter-development-guidelines.md +0 -483
  225. package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-mobile-app-dev/tasks/existing-app-analysis.md +0 -645
  226. package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-mobile-app-dev/tasks/platform-selection.md +0 -489
  227. package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-mobile-app-dev/templates/mobile-architecture-tmpl.yaml +0 -437
  228. package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-mobile-app-dev/templates/mobile-prd-tmpl.yaml +0 -408
  229. package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-mobile-app-dev/workflows/mobile-app-development-init.yaml +0 -555
  230. package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-mobile-app-dev/workflows/mobile-brownfield-flutter.yaml +0 -336
  231. package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-mobile-app-dev/workflows/mobile-brownfield-react-native.yaml +0 -345
  232. package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-mobile-app-dev/workflows/mobile-greenfield-flutter.yaml +0 -281
  233. package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-mobile-app-dev/workflows/mobile-greenfield-react-native.yaml +0 -283
  234. package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-mobile-app-dev/workflows/mobile-platform-selection.yaml +0 -404
  235. package/#Tools/APPIQ-METHOD/deployment/build/slash-commands/appiq.md +0 -273
  236. package/#Tools/APPIQ-METHOD/deployment/build/slash-commands/ide-integrations/claude-appiq.md +0 -294
  237. package/#Tools/APPIQ-METHOD/deployment/build/slash-commands/ide-integrations/cursor-appiq.md +0 -516
  238. package/#Tools/APPIQ-METHOD/deployment/build/slash-commands/ide-integrations/universal-appiq.md +0 -448
  239. package/#Tools/APPIQ-METHOD/deployment/build/slash-commands/ide-integrations/windsurf-appiq.md +0 -698
  240. package/#Tools/APPIQ-METHOD/deployment/build/slash-commands/start.md +0 -211
  241. package/#Tools/APPIQ-METHOD/deployment/build-release.sh +0 -449
  242. package/#Tools/APPIQ-METHOD/deployment/create-release.sh +0 -196
  243. package/#Tools/APPIQ-METHOD/deployment/dist/appiq_installer.sh +0 -678
  244. package/#Tools/APPIQ-METHOD/deployment/docs/main_prd.md +0 -36
  245. package/#Tools/APPIQ-METHOD/deployment/init_appiq.sh +0 -805
  246. package/#Tools/APPIQ-METHOD/deployment/init_appiq_v2.sh +0 -678
  247. package/#Tools/APPIQ-METHOD/deployment/installers/appiq-global.sh +0 -91
  248. package/#Tools/APPIQ-METHOD/deployment/installers/claude-integration.sh +0 -281
  249. package/#Tools/APPIQ-METHOD/deployment/installers/cursor-integration.sh +0 -257
  250. package/#Tools/APPIQ-METHOD/deployment/installers/terminal-integration.sh +0 -645
  251. package/#Tools/APPIQ-METHOD/deployment/installers/windsurf-integration.sh +0 -350
  252. package/#Tools/APPIQ-METHOD/deployment/package-v2.sh +0 -97
  253. package/#Tools/APPIQ-METHOD/deployment/package.sh +0 -363
  254. package/#Tools/APPIQ-METHOD/deployment/quick-install.sh +0 -57
  255. package/#Tools/APPIQ-METHOD/dist/expansion-packs/bmad-mobile-app-dev/agents/mobile-analytics.txt +0 -1530
  256. package/#Tools/APPIQ-METHOD/dist/expansion-packs/bmad-mobile-app-dev/agents/mobile-architect.txt +0 -322
  257. package/#Tools/APPIQ-METHOD/dist/expansion-packs/bmad-mobile-app-dev/agents/mobile-developer.txt +0 -692
  258. package/#Tools/APPIQ-METHOD/dist/expansion-packs/bmad-mobile-app-dev/agents/mobile-pm.txt +0 -382
  259. package/#Tools/APPIQ-METHOD/dist/expansion-packs/bmad-mobile-app-dev/agents/mobile-qa.txt +0 -665
  260. package/#Tools/APPIQ-METHOD/dist/expansion-packs/bmad-mobile-app-dev/agents/mobile-security.txt +0 -1070
  261. package/#Tools/APPIQ-METHOD/dist/expansion-packs/bmad-mobile-app-dev/agents/mobile-ux-expert.txt +0 -1494
  262. package/#Tools/APPIQ-METHOD/dist/expansion-packs/bmad-mobile-app-dev/teams/mobile-team-cross-platform.txt +0 -15613
  263. package/#Tools/APPIQ-METHOD/expansion-packs/bmad-mobile-app-dev/agent-teams/mobile-team-cross-platform.yaml +0 -22
  264. package/#Tools/APPIQ-METHOD/expansion-packs/bmad-mobile-app-dev/agent-teams/mobile-team-flutter.yaml +0 -20
  265. package/#Tools/APPIQ-METHOD/expansion-packs/bmad-mobile-app-dev/agent-teams/mobile-team-minimal.yaml +0 -13
  266. package/#Tools/APPIQ-METHOD/expansion-packs/bmad-mobile-app-dev/agent-teams/mobile-team-react-native.yaml +0 -20
  267. package/#Tools/APPIQ-METHOD/expansion-packs/bmad-mobile-app-dev/agents/mobile-analytics.md +0 -1487
  268. package/#Tools/APPIQ-METHOD/expansion-packs/bmad-mobile-app-dev/agents/mobile-architect.md +0 -279
  269. package/#Tools/APPIQ-METHOD/expansion-packs/bmad-mobile-app-dev/agents/mobile-developer.md +0 -649
  270. package/#Tools/APPIQ-METHOD/expansion-packs/bmad-mobile-app-dev/agents/mobile-pm.md +0 -339
  271. package/#Tools/APPIQ-METHOD/expansion-packs/bmad-mobile-app-dev/agents/mobile-qa.md +0 -622
  272. package/#Tools/APPIQ-METHOD/expansion-packs/bmad-mobile-app-dev/agents/mobile-security.md +0 -1027
  273. package/#Tools/APPIQ-METHOD/expansion-packs/bmad-mobile-app-dev/agents/mobile-ux-expert.md +0 -1451
  274. package/#Tools/APPIQ-METHOD/expansion-packs/bmad-mobile-app-dev/checklists/mobile-development-checklist.md +0 -490
  275. package/#Tools/APPIQ-METHOD/expansion-packs/bmad-mobile-app-dev/config.yaml +0 -54
  276. package/#Tools/APPIQ-METHOD/expansion-packs/bmad-mobile-app-dev/data/bmad-kb.md +0 -292
  277. package/#Tools/APPIQ-METHOD/expansion-packs/bmad-mobile-app-dev/data/flutter-development-guidelines.md +0 -483
  278. package/#Tools/APPIQ-METHOD/expansion-packs/bmad-mobile-app-dev/tasks/existing-app-analysis.md +0 -645
  279. package/#Tools/APPIQ-METHOD/expansion-packs/bmad-mobile-app-dev/tasks/platform-selection.md +0 -489
  280. package/#Tools/APPIQ-METHOD/expansion-packs/bmad-mobile-app-dev/templates/mobile-architecture-tmpl.yaml +0 -437
  281. package/#Tools/APPIQ-METHOD/expansion-packs/bmad-mobile-app-dev/templates/mobile-prd-tmpl.yaml +0 -408
  282. package/#Tools/APPIQ-METHOD/expansion-packs/bmad-mobile-app-dev/workflows/mobile-app-development-init.yaml +0 -555
  283. package/#Tools/APPIQ-METHOD/expansion-packs/bmad-mobile-app-dev/workflows/mobile-brownfield-flutter.yaml +0 -336
  284. package/#Tools/APPIQ-METHOD/expansion-packs/bmad-mobile-app-dev/workflows/mobile-brownfield-react-native.yaml +0 -345
  285. package/#Tools/APPIQ-METHOD/expansion-packs/bmad-mobile-app-dev/workflows/mobile-greenfield-flutter.yaml +0 -281
  286. package/#Tools/APPIQ-METHOD/expansion-packs/bmad-mobile-app-dev/workflows/mobile-greenfield-react-native.yaml +0 -283
  287. package/#Tools/APPIQ-METHOD/expansion-packs/bmad-mobile-app-dev/workflows/mobile-platform-selection.yaml +0 -404
  288. package/#Tools/APPIQ-METHOD/package-bmad-backup.json +0 -78
  289. package/#Tools/APPIQ-METHOD/slash-commands/appiq.md +0 -273
  290. package/#Tools/APPIQ-METHOD/slash-commands/ide-integrations/claude-appiq.md +0 -294
  291. package/#Tools/APPIQ-METHOD/slash-commands/ide-integrations/cursor-appiq.md +0 -516
  292. package/#Tools/APPIQ-METHOD/slash-commands/ide-integrations/universal-appiq.md +0 -448
  293. package/#Tools/APPIQ-METHOD/slash-commands/ide-integrations/windsurf-appiq.md +0 -698
  294. package/#Tools/APPIQ-METHOD/slash-commands/start.md +0 -211
  295. /package/#Tools/APPIQ-METHOD/{deployment/build/bmad-core/core-config.yaml → bmad-core/core-config.yaml.bak} +0 -0
@@ -1,651 +0,0 @@
1
- # Game Development Guidelines
2
-
3
- ## Overview
4
-
5
- This document establishes coding standards, architectural patterns, and development practices for 2D game development using Phaser 3 and TypeScript. These guidelines ensure consistency, performance, and maintainability across all game development stories.
6
-
7
- ## TypeScript Standards
8
-
9
- ### Strict Mode Configuration
10
-
11
- **Required tsconfig.json settings:**
12
-
13
- ```json
14
- {
15
- "compilerOptions": {
16
- "strict": true,
17
- "noImplicitAny": true,
18
- "strictNullChecks": true,
19
- "strictFunctionTypes": true,
20
- "noImplicitReturns": true,
21
- "noUnusedLocals": true,
22
- "noUnusedParameters": true,
23
- "exactOptionalPropertyTypes": true
24
- }
25
- }
26
- ```
27
-
28
- ### Type Definitions
29
-
30
- **Game Object Interfaces:**
31
-
32
- ```typescript
33
- // Core game entity interface
34
- interface GameEntity {
35
- readonly id: string;
36
- position: Phaser.Math.Vector2;
37
- active: boolean;
38
- destroy(): void;
39
- }
40
-
41
- // Player controller interface
42
- interface PlayerController {
43
- readonly inputEnabled: boolean;
44
- handleInput(input: InputState): void;
45
- update(delta: number): void;
46
- }
47
-
48
- // Game system interface
49
- interface GameSystem {
50
- readonly name: string;
51
- initialize(): void;
52
- update(delta: number): void;
53
- shutdown(): void;
54
- }
55
- ```
56
-
57
- **Scene Data Interfaces:**
58
-
59
- ```typescript
60
- // Scene transition data
61
- interface SceneData {
62
- [key: string]: any;
63
- }
64
-
65
- // Game state interface
66
- interface GameState {
67
- currentLevel: number;
68
- score: number;
69
- lives: number;
70
- settings: GameSettings;
71
- }
72
-
73
- interface GameSettings {
74
- musicVolume: number;
75
- sfxVolume: number;
76
- difficulty: "easy" | "normal" | "hard";
77
- controls: ControlScheme;
78
- }
79
- ```
80
-
81
- ### Naming Conventions
82
-
83
- **Classes and Interfaces:**
84
-
85
- - PascalCase for classes: `PlayerSprite`, `GameManager`, `AudioSystem`
86
- - PascalCase with 'I' prefix for interfaces: `IGameEntity`, `IPlayerController`
87
- - Descriptive names that indicate purpose: `CollisionManager` not `CM`
88
-
89
- **Methods and Variables:**
90
-
91
- - camelCase for methods and variables: `updatePosition()`, `playerSpeed`
92
- - Descriptive names: `calculateDamage()` not `calcDmg()`
93
- - Boolean variables with is/has/can prefix: `isActive`, `hasCollision`, `canMove`
94
-
95
- **Constants:**
96
-
97
- - UPPER_SNAKE_CASE for constants: `MAX_PLAYER_SPEED`, `DEFAULT_VOLUME`
98
- - Group related constants in enums or const objects
99
-
100
- **Files and Directories:**
101
-
102
- - kebab-case for file names: `player-controller.ts`, `audio-manager.ts`
103
- - PascalCase for scene files: `MenuScene.ts`, `GameScene.ts`
104
-
105
- ## Phaser 3 Architecture Patterns
106
-
107
- ### Scene Organization
108
-
109
- **Scene Lifecycle Management:**
110
-
111
- ```typescript
112
- class GameScene extends Phaser.Scene {
113
- private gameManager!: GameManager;
114
- private inputManager!: InputManager;
115
-
116
- constructor() {
117
- super({ key: "GameScene" });
118
- }
119
-
120
- preload(): void {
121
- // Load only scene-specific assets
122
- this.load.image("player", "assets/player.png");
123
- }
124
-
125
- create(data: SceneData): void {
126
- // Initialize game systems
127
- this.gameManager = new GameManager(this);
128
- this.inputManager = new InputManager(this);
129
-
130
- // Set up scene-specific logic
131
- this.setupGameObjects();
132
- this.setupEventListeners();
133
- }
134
-
135
- update(time: number, delta: number): void {
136
- // Update all game systems
137
- this.gameManager.update(delta);
138
- this.inputManager.update(delta);
139
- }
140
-
141
- shutdown(): void {
142
- // Clean up resources
143
- this.gameManager.destroy();
144
- this.inputManager.destroy();
145
-
146
- // Remove event listeners
147
- this.events.off("*");
148
- }
149
- }
150
- ```
151
-
152
- **Scene Transitions:**
153
-
154
- ```typescript
155
- // Proper scene transitions with data
156
- this.scene.start("NextScene", {
157
- playerScore: this.playerScore,
158
- currentLevel: this.currentLevel + 1,
159
- });
160
-
161
- // Scene overlays for UI
162
- this.scene.launch("PauseMenuScene");
163
- this.scene.pause();
164
- ```
165
-
166
- ### Game Object Patterns
167
-
168
- **Component-Based Architecture:**
169
-
170
- ```typescript
171
- // Base game entity
172
- abstract class GameEntity extends Phaser.GameObjects.Sprite {
173
- protected components: Map<string, GameComponent> = new Map();
174
-
175
- constructor(scene: Phaser.Scene, x: number, y: number, texture: string) {
176
- super(scene, x, y, texture);
177
- scene.add.existing(this);
178
- }
179
-
180
- addComponent<T extends GameComponent>(component: T): T {
181
- this.components.set(component.name, component);
182
- return component;
183
- }
184
-
185
- getComponent<T extends GameComponent>(name: string): T | undefined {
186
- return this.components.get(name) as T;
187
- }
188
-
189
- update(delta: number): void {
190
- this.components.forEach((component) => component.update(delta));
191
- }
192
-
193
- destroy(): void {
194
- this.components.forEach((component) => component.destroy());
195
- this.components.clear();
196
- super.destroy();
197
- }
198
- }
199
-
200
- // Example player implementation
201
- class Player extends GameEntity {
202
- private movement!: MovementComponent;
203
- private health!: HealthComponent;
204
-
205
- constructor(scene: Phaser.Scene, x: number, y: number) {
206
- super(scene, x, y, "player");
207
-
208
- this.movement = this.addComponent(new MovementComponent(this));
209
- this.health = this.addComponent(new HealthComponent(this, 100));
210
- }
211
- }
212
- ```
213
-
214
- ### System Management
215
-
216
- **Singleton Managers:**
217
-
218
- ```typescript
219
- class GameManager {
220
- private static instance: GameManager;
221
- private scene: Phaser.Scene;
222
- private gameState: GameState;
223
-
224
- constructor(scene: Phaser.Scene) {
225
- if (GameManager.instance) {
226
- throw new Error("GameManager already exists!");
227
- }
228
-
229
- this.scene = scene;
230
- this.gameState = this.loadGameState();
231
- GameManager.instance = this;
232
- }
233
-
234
- static getInstance(): GameManager {
235
- if (!GameManager.instance) {
236
- throw new Error("GameManager not initialized!");
237
- }
238
- return GameManager.instance;
239
- }
240
-
241
- update(delta: number): void {
242
- // Update game logic
243
- }
244
-
245
- destroy(): void {
246
- GameManager.instance = null!;
247
- }
248
- }
249
- ```
250
-
251
- ## Performance Optimization
252
-
253
- ### Object Pooling
254
-
255
- **Required for High-Frequency Objects:**
256
-
257
- ```typescript
258
- class BulletPool {
259
- private pool: Bullet[] = [];
260
- private scene: Phaser.Scene;
261
-
262
- constructor(scene: Phaser.Scene, initialSize: number = 50) {
263
- this.scene = scene;
264
-
265
- // Pre-create bullets
266
- for (let i = 0; i < initialSize; i++) {
267
- const bullet = new Bullet(scene, 0, 0);
268
- bullet.setActive(false);
269
- bullet.setVisible(false);
270
- this.pool.push(bullet);
271
- }
272
- }
273
-
274
- getBullet(): Bullet | null {
275
- const bullet = this.pool.find((b) => !b.active);
276
- if (bullet) {
277
- bullet.setActive(true);
278
- bullet.setVisible(true);
279
- return bullet;
280
- }
281
-
282
- // Pool exhausted - create new bullet
283
- console.warn("Bullet pool exhausted, creating new bullet");
284
- return new Bullet(this.scene, 0, 0);
285
- }
286
-
287
- releaseBullet(bullet: Bullet): void {
288
- bullet.setActive(false);
289
- bullet.setVisible(false);
290
- bullet.setPosition(0, 0);
291
- }
292
- }
293
- ```
294
-
295
- ### Frame Rate Optimization
296
-
297
- **Performance Monitoring:**
298
-
299
- ```typescript
300
- class PerformanceMonitor {
301
- private frameCount: number = 0;
302
- private lastTime: number = 0;
303
- private frameRate: number = 60;
304
-
305
- update(time: number): void {
306
- this.frameCount++;
307
-
308
- if (time - this.lastTime >= 1000) {
309
- this.frameRate = this.frameCount;
310
- this.frameCount = 0;
311
- this.lastTime = time;
312
-
313
- if (this.frameRate < 55) {
314
- console.warn(`Low frame rate detected: ${this.frameRate} FPS`);
315
- this.optimizePerformance();
316
- }
317
- }
318
- }
319
-
320
- private optimizePerformance(): void {
321
- // Reduce particle counts, disable effects, etc.
322
- }
323
- }
324
- ```
325
-
326
- **Update Loop Optimization:**
327
-
328
- ```typescript
329
- // Avoid expensive operations in update loops
330
- class GameScene extends Phaser.Scene {
331
- private updateTimer: number = 0;
332
- private readonly UPDATE_INTERVAL = 100; // ms
333
-
334
- update(time: number, delta: number): void {
335
- // High-frequency updates (every frame)
336
- this.updatePlayer(delta);
337
- this.updatePhysics(delta);
338
-
339
- // Low-frequency updates (10 times per second)
340
- this.updateTimer += delta;
341
- if (this.updateTimer >= this.UPDATE_INTERVAL) {
342
- this.updateUI();
343
- this.updateAI();
344
- this.updateTimer = 0;
345
- }
346
- }
347
- }
348
- ```
349
-
350
- ## Input Handling
351
-
352
- ### Cross-Platform Input
353
-
354
- **Input Abstraction:**
355
-
356
- ```typescript
357
- interface InputState {
358
- moveLeft: boolean;
359
- moveRight: boolean;
360
- jump: boolean;
361
- action: boolean;
362
- pause: boolean;
363
- }
364
-
365
- class InputManager {
366
- private inputState: InputState = {
367
- moveLeft: false,
368
- moveRight: false,
369
- jump: false,
370
- action: false,
371
- pause: false,
372
- };
373
-
374
- private keys!: { [key: string]: Phaser.Input.Keyboard.Key };
375
- private pointer!: Phaser.Input.Pointer;
376
-
377
- constructor(private scene: Phaser.Scene) {
378
- this.setupKeyboard();
379
- this.setupTouch();
380
- }
381
-
382
- private setupKeyboard(): void {
383
- this.keys = this.scene.input.keyboard.addKeys("W,A,S,D,SPACE,ESC,UP,DOWN,LEFT,RIGHT");
384
- }
385
-
386
- private setupTouch(): void {
387
- this.scene.input.on("pointerdown", this.handlePointerDown, this);
388
- this.scene.input.on("pointerup", this.handlePointerUp, this);
389
- }
390
-
391
- update(): void {
392
- // Update input state from multiple sources
393
- this.inputState.moveLeft = this.keys.A.isDown || this.keys.LEFT.isDown;
394
- this.inputState.moveRight = this.keys.D.isDown || this.keys.RIGHT.isDown;
395
- this.inputState.jump = Phaser.Input.Keyboard.JustDown(this.keys.SPACE);
396
- // ... handle touch input
397
- }
398
-
399
- getInputState(): InputState {
400
- return { ...this.inputState };
401
- }
402
- }
403
- ```
404
-
405
- ## Error Handling
406
-
407
- ### Graceful Degradation
408
-
409
- **Asset Loading Error Handling:**
410
-
411
- ```typescript
412
- class AssetManager {
413
- loadAssets(): Promise<void> {
414
- return new Promise((resolve, reject) => {
415
- this.scene.load.on("filecomplete", this.handleFileComplete, this);
416
- this.scene.load.on("loaderror", this.handleLoadError, this);
417
- this.scene.load.on("complete", () => resolve());
418
-
419
- this.scene.load.start();
420
- });
421
- }
422
-
423
- private handleLoadError(file: Phaser.Loader.File): void {
424
- console.error(`Failed to load asset: ${file.key}`);
425
-
426
- // Use fallback assets
427
- this.loadFallbackAsset(file.key);
428
- }
429
-
430
- private loadFallbackAsset(key: string): void {
431
- // Load placeholder or default assets
432
- switch (key) {
433
- case "player":
434
- this.scene.load.image("player", "assets/defaults/default-player.png");
435
- break;
436
- default:
437
- console.warn(`No fallback for asset: ${key}`);
438
- }
439
- }
440
- }
441
- ```
442
-
443
- ### Runtime Error Recovery
444
-
445
- **System Error Handling:**
446
-
447
- ```typescript
448
- class GameSystem {
449
- protected handleError(error: Error, context: string): void {
450
- console.error(`Error in ${context}:`, error);
451
-
452
- // Report to analytics/logging service
453
- this.reportError(error, context);
454
-
455
- // Attempt recovery
456
- this.attemptRecovery(context);
457
- }
458
-
459
- private attemptRecovery(context: string): void {
460
- switch (context) {
461
- case "update":
462
- // Reset system state
463
- this.reset();
464
- break;
465
- case "render":
466
- // Disable visual effects
467
- this.disableEffects();
468
- break;
469
- default:
470
- // Generic recovery
471
- this.safeShutdown();
472
- }
473
- }
474
- }
475
- ```
476
-
477
- ## Testing Standards
478
-
479
- ### Unit Testing
480
-
481
- **Game Logic Testing:**
482
-
483
- ```typescript
484
- // Example test for game mechanics
485
- describe("HealthComponent", () => {
486
- let healthComponent: HealthComponent;
487
-
488
- beforeEach(() => {
489
- const mockEntity = {} as GameEntity;
490
- healthComponent = new HealthComponent(mockEntity, 100);
491
- });
492
-
493
- test("should initialize with correct health", () => {
494
- expect(healthComponent.currentHealth).toBe(100);
495
- expect(healthComponent.maxHealth).toBe(100);
496
- });
497
-
498
- test("should handle damage correctly", () => {
499
- healthComponent.takeDamage(25);
500
- expect(healthComponent.currentHealth).toBe(75);
501
- expect(healthComponent.isAlive()).toBe(true);
502
- });
503
-
504
- test("should handle death correctly", () => {
505
- healthComponent.takeDamage(150);
506
- expect(healthComponent.currentHealth).toBe(0);
507
- expect(healthComponent.isAlive()).toBe(false);
508
- });
509
- });
510
- ```
511
-
512
- ### Integration Testing
513
-
514
- **Scene Testing:**
515
-
516
- ```typescript
517
- describe("GameScene Integration", () => {
518
- let scene: GameScene;
519
- let mockGame: Phaser.Game;
520
-
521
- beforeEach(() => {
522
- // Mock Phaser game instance
523
- mockGame = createMockGame();
524
- scene = new GameScene();
525
- });
526
-
527
- test("should initialize all systems", () => {
528
- scene.create({});
529
-
530
- expect(scene.gameManager).toBeDefined();
531
- expect(scene.inputManager).toBeDefined();
532
- });
533
- });
534
- ```
535
-
536
- ## File Organization
537
-
538
- ### Project Structure
539
-
540
- ```
541
- src/
542
- ├── scenes/
543
- │ ├── BootScene.ts # Initial loading and setup
544
- │ ├── PreloadScene.ts # Asset loading with progress
545
- │ ├── MenuScene.ts # Main menu and navigation
546
- │ ├── GameScene.ts # Core gameplay
547
- │ └── UIScene.ts # Overlay UI elements
548
- ├── gameObjects/
549
- │ ├── entities/
550
- │ │ ├── Player.ts # Player game object
551
- │ │ ├── Enemy.ts # Enemy base class
552
- │ │ └── Collectible.ts # Collectible items
553
- │ ├── components/
554
- │ │ ├── MovementComponent.ts
555
- │ │ ├── HealthComponent.ts
556
- │ │ └── CollisionComponent.ts
557
- │ └── ui/
558
- │ ├── Button.ts # Interactive buttons
559
- │ ├── HealthBar.ts # Health display
560
- │ └── ScoreDisplay.ts # Score UI
561
- ├── systems/
562
- │ ├── GameManager.ts # Core game state management
563
- │ ├── InputManager.ts # Cross-platform input handling
564
- │ ├── AudioManager.ts # Sound and music system
565
- │ ├── SaveManager.ts # Save/load functionality
566
- │ └── PerformanceMonitor.ts # Performance tracking
567
- ├── utils/
568
- │ ├── ObjectPool.ts # Generic object pooling
569
- │ ├── MathUtils.ts # Game math helpers
570
- │ ├── AssetLoader.ts # Asset management utilities
571
- │ └── EventBus.ts # Global event system
572
- ├── types/
573
- │ ├── GameTypes.ts # Core game type definitions
574
- │ ├── UITypes.ts # UI-related types
575
- │ └── SystemTypes.ts # System interface definitions
576
- ├── config/
577
- │ ├── GameConfig.ts # Phaser game configuration
578
- │ ├── GameBalance.ts # Game balance parameters
579
- │ └── AssetConfig.ts # Asset loading configuration
580
- └── main.ts # Application entry point
581
- ```
582
-
583
- ## Development Workflow
584
-
585
- ### Story Implementation Process
586
-
587
- 1. **Read Story Requirements:**
588
-
589
- - Understand acceptance criteria
590
- - Identify technical requirements
591
- - Review performance constraints
592
-
593
- 2. **Plan Implementation:**
594
-
595
- - Identify files to create/modify
596
- - Consider component architecture
597
- - Plan testing approach
598
-
599
- 3. **Implement Feature:**
600
-
601
- - Follow TypeScript strict mode
602
- - Use established patterns
603
- - Maintain 60 FPS performance
604
-
605
- 4. **Test Implementation:**
606
-
607
- - Write unit tests for game logic
608
- - Test cross-platform functionality
609
- - Validate performance targets
610
-
611
- 5. **Update Documentation:**
612
- - Mark story checkboxes complete
613
- - Document any deviations
614
- - Update architecture if needed
615
-
616
- ### Code Review Checklist
617
-
618
- **Before Committing:**
619
-
620
- - [ ] TypeScript compiles without errors
621
- - [ ] All tests pass
622
- - [ ] Performance targets met (60 FPS)
623
- - [ ] No console errors or warnings
624
- - [ ] Cross-platform compatibility verified
625
- - [ ] Memory usage within bounds
626
- - [ ] Code follows naming conventions
627
- - [ ] Error handling implemented
628
- - [ ] Documentation updated
629
-
630
- ## Performance Targets
631
-
632
- ### Frame Rate Requirements
633
-
634
- - **Desktop**: Maintain 60 FPS at 1080p
635
- - **Mobile**: Maintain 60 FPS on mid-range devices, minimum 30 FPS on low-end
636
- - **Optimization**: Implement dynamic quality scaling when performance drops
637
-
638
- ### Memory Management
639
-
640
- - **Total Memory**: Under 100MB for full game
641
- - **Per Scene**: Under 50MB per gameplay scene
642
- - **Asset Loading**: Progressive loading to stay under limits
643
- - **Garbage Collection**: Minimize object creation in update loops
644
-
645
- ### Loading Performance
646
-
647
- - **Initial Load**: Under 5 seconds for game start
648
- - **Scene Transitions**: Under 2 seconds between scenes
649
- - **Asset Streaming**: Background loading for upcoming content
650
-
651
- These guidelines ensure consistent, high-quality game development that meets performance targets and maintains code quality across all implementation stories.