appiq-solution 1.3.2 → 1.4.2

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 (297) 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/README.md +73 -105
  10. package/#Tools/APPIQ-METHOD/SMART_WORKFLOW_GUIDE.md +401 -0
  11. package/#Tools/APPIQ-METHOD/activate-appiq.js +81 -0
  12. package/#Tools/APPIQ-METHOD/appiq-solution/README.md +226 -0
  13. package/#Tools/APPIQ-METHOD/bmad-core/agent-teams/team-flutter-mobile.yaml +114 -0
  14. package/#Tools/APPIQ-METHOD/bmad-core/agent-teams/team-fullstack.yaml +11 -1
  15. package/#Tools/APPIQ-METHOD/bmad-core/agents/analyst.md +7 -3
  16. package/#Tools/APPIQ-METHOD/bmad-core/agents/architect.md +6 -0
  17. package/#Tools/APPIQ-METHOD/bmad-core/agents/bmad-orchestrator.md +0 -84
  18. package/#Tools/APPIQ-METHOD/bmad-core/agents/bmad-smart-launcher.md +170 -0
  19. package/#Tools/APPIQ-METHOD/bmad-core/agents/dev.md +31 -12
  20. package/#Tools/APPIQ-METHOD/bmad-core/agents/pm.md +10 -4
  21. package/#Tools/APPIQ-METHOD/bmad-core/agents/qa.md +17 -0
  22. package/#Tools/APPIQ-METHOD/bmad-core/agents/sm.md +8 -3
  23. package/#Tools/APPIQ-METHOD/bmad-core/agents/ux-expert.md +8 -3
  24. package/#Tools/APPIQ-METHOD/bmad-core/bmad-core/user-guide.md +0 -0
  25. package/#Tools/APPIQ-METHOD/bmad-core/checklists/security-validation-checklist.md +332 -0
  26. package/#Tools/APPIQ-METHOD/bmad-core/data/backend-services-integration.md +686 -0
  27. package/#Tools/APPIQ-METHOD/bmad-core/data/shadcn-ui-integration.md +388 -0
  28. package/#Tools/APPIQ-METHOD/bmad-core/data/technical-preferences.md +147 -1
  29. package/#Tools/APPIQ-METHOD/bmad-core/enhanced-ide-development-workflow.md +43 -0
  30. package/#Tools/APPIQ-METHOD/bmad-core/tasks/create-flutter-story.md +197 -0
  31. package/#Tools/APPIQ-METHOD/bmad-core/tasks/intelligent-epic-creation.md +234 -0
  32. package/#Tools/APPIQ-METHOD/bmad-core/tasks/smart-project-analysis.md +289 -0
  33. package/#Tools/APPIQ-METHOD/bmad-core/templates/flutter-mobile-prd-tmpl.yaml +330 -0
  34. package/#Tools/APPIQ-METHOD/bmad-core/templates/flutter-story-tmpl.yaml +376 -0
  35. package/#Tools/APPIQ-METHOD/bmad-core/templates/flutter-ui-spec-tmpl.yaml +415 -0
  36. package/#Tools/APPIQ-METHOD/bmad-core/templates/fullstack-architecture-tmpl.yaml +12 -5
  37. package/#Tools/APPIQ-METHOD/bmad-core/user-guide.md +10 -9
  38. package/#Tools/APPIQ-METHOD/bmad-core/workflows/brownfield-fullstack.yaml +15 -1
  39. package/#Tools/APPIQ-METHOD/bmad-core/workflows/greenfield-fullstack.yaml +49 -5
  40. package/#Tools/APPIQ-METHOD/bmad-core/working-in-the-brownfield.md +56 -44
  41. package/#Tools/APPIQ-METHOD/commands/README.md +28 -0
  42. package/#Tools/APPIQ-METHOD/commands/analyze.md +27 -0
  43. package/#Tools/APPIQ-METHOD/commands/appiq.md +27 -0
  44. package/#Tools/APPIQ-METHOD/commands/help.md +27 -0
  45. package/#Tools/APPIQ-METHOD/commands/story.md +27 -0
  46. package/#Tools/APPIQ-METHOD/dist/agents/bmad-orchestrator.txt +0 -111
  47. package/#Tools/APPIQ-METHOD/dist/agents/pm.txt +2 -0
  48. package/#Tools/APPIQ-METHOD/dist/expansion-packs/bmad-2d-phaser-game-dev/teams/phaser-2d-nodejs-game-team.txt +0 -111
  49. package/#Tools/APPIQ-METHOD/dist/expansion-packs/bmad-2d-unity-game-dev/teams/unity-2d-game-team.txt +0 -111
  50. package/#Tools/APPIQ-METHOD/dist/teams/team-all.txt +2 -111
  51. package/#Tools/APPIQ-METHOD/dist/teams/team-fullstack.txt +2 -111
  52. package/#Tools/APPIQ-METHOD/dist/teams/team-ide-minimal.txt +0 -111
  53. package/#Tools/APPIQ-METHOD/dist/teams/team-no-ui.txt +2 -111
  54. package/#Tools/APPIQ-METHOD/expansion-packs/bmad-2d-phaser-game-dev/config.yaml +1 -1
  55. package/#Tools/APPIQ-METHOD/expansion-packs/bmad-2d-unity-game-dev/config.yaml +1 -1
  56. package/#Tools/APPIQ-METHOD/expansion-packs/bmad-flutter-mobile-dev/agent-teams/flutter-mobile-team.yaml +23 -0
  57. package/#Tools/APPIQ-METHOD/expansion-packs/bmad-flutter-mobile-dev/agents/flutter-cubit-agent.md +133 -0
  58. package/#Tools/APPIQ-METHOD/expansion-packs/bmad-flutter-mobile-dev/agents/flutter-data-agent.md +160 -0
  59. package/#Tools/APPIQ-METHOD/expansion-packs/bmad-flutter-mobile-dev/agents/flutter-domain-agent.md +153 -0
  60. package/#Tools/APPIQ-METHOD/expansion-packs/bmad-flutter-mobile-dev/agents/flutter-ui-agent.md +122 -0
  61. package/#Tools/APPIQ-METHOD/expansion-packs/bmad-flutter-mobile-dev/agents/shared-components-agent.md +161 -0
  62. package/#Tools/APPIQ-METHOD/expansion-packs/bmad-flutter-mobile-dev/checklists/flutter-story-dod-checklist.md +194 -0
  63. package/#Tools/APPIQ-METHOD/expansion-packs/bmad-flutter-mobile-dev/config.yaml +41 -0
  64. package/#Tools/APPIQ-METHOD/expansion-packs/bmad-flutter-mobile-dev/data/flutter-development-guidelines.md +551 -0
  65. package/#Tools/APPIQ-METHOD/expansion-packs/bmad-flutter-mobile-dev/templates/flutter-mobile-architecture-tmpl.yaml +530 -0
  66. package/#Tools/APPIQ-METHOD/expansion-packs/bmad-flutter-mobile-dev/workflows/flutter-ui-first-development.yaml +220 -0
  67. package/#Tools/APPIQ-METHOD/expansion-packs/bmad-infrastructure-devops/config.yaml +1 -1
  68. package/#Tools/APPIQ-METHOD/install-appiq.sh +41 -0
  69. package/#Tools/APPIQ-METHOD/package-lock.json +631 -0
  70. package/#Tools/APPIQ-METHOD/package.json +20 -69
  71. package/#Tools/APPIQ-METHOD/tasks/todo.md +275 -0
  72. package/#Tools/APPIQ-METHOD/tools/appiq-installer.js +2622 -0
  73. package/#Tools/APPIQ-METHOD/tools/bmad-npx-wrapper.js +5 -7
  74. package/#Tools/APPIQ-METHOD/tools/cli.js +3 -3
  75. package/#Tools/APPIQ-METHOD/tools/epic-solution-installer.js +538 -0
  76. package/#Tools/APPIQ-METHOD/tools/flattener/main.js +570 -0
  77. package/#Tools/APPIQ-METHOD/tools/installer/bin/bmad.js +15 -14
  78. package/#Tools/APPIQ-METHOD/tools/installer/lib/installer.js +28 -2
  79. package/#Tools/APPIQ-METHOD/tools/installer/package-lock.json +906 -0
  80. package/#Tools/APPIQ-METHOD/tools/installer/package.json +1 -1
  81. package/#Tools/APPIQ-METHOD/tools/setup-ide-commands.js +345 -0
  82. package/#Tools/APPIQ-METHOD/tools/smart-installer.js +589 -0
  83. package/README.md +73 -105
  84. package/package.json +20 -69
  85. package/tools/appiq-installer.js +2622 -0
  86. package/tools/bmad-npx-wrapper.js +5 -7
  87. package/tools/cli.js +3 -3
  88. package/tools/epic-solution-installer.js +538 -0
  89. package/tools/flattener/main.js +570 -0
  90. package/tools/installer/bin/bmad.js +15 -14
  91. package/tools/installer/lib/installer.js +28 -2
  92. package/tools/installer/package-lock.json +89 -89
  93. package/tools/installer/package.json +1 -1
  94. package/tools/setup-ide-commands.js +345 -0
  95. package/tools/smart-installer.js +589 -0
  96. package/#Tools/APPIQ-METHOD/appiq_start.md +0 -232
  97. package/#Tools/APPIQ-METHOD/deployment/DEPLOYMENT_GUIDE.md +0 -426
  98. package/#Tools/APPIQ-METHOD/deployment/GITHUB_RELEASE_GUIDE.md +0 -326
  99. package/#Tools/APPIQ-METHOD/deployment/README.md +0 -331
  100. package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/agent-teams/team-all.yaml +0 -14
  101. package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/agent-teams/team-fullstack.yaml +0 -18
  102. package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/agent-teams/team-ide-minimal.yaml +0 -10
  103. package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/agent-teams/team-no-ui.yaml +0 -13
  104. package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/agents/analyst.md +0 -81
  105. package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/agents/architect.md +0 -84
  106. package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/agents/bmad-master.md +0 -108
  107. package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/agents/bmad-orchestrator.md +0 -234
  108. package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/agents/dev.md +0 -76
  109. package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/agents/pm.md +0 -79
  110. package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/agents/po.md +0 -76
  111. package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/agents/qa.md +0 -69
  112. package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/agents/sm.md +0 -62
  113. package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/agents/ux-expert.md +0 -66
  114. package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/checklists/architect-checklist.md +0 -443
  115. package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/checklists/change-checklist.md +0 -182
  116. package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/checklists/pm-checklist.md +0 -375
  117. package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/checklists/po-master-checklist.md +0 -441
  118. package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/checklists/story-dod-checklist.md +0 -101
  119. package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/checklists/story-draft-checklist.md +0 -156
  120. package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/data/bmad-kb.md +0 -803
  121. package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/data/brainstorming-techniques.md +0 -36
  122. package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/data/elicitation-methods.md +0 -134
  123. package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/data/technical-preferences.md +0 -3
  124. package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/tasks/advanced-elicitation.md +0 -117
  125. package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/tasks/brownfield-create-epic.md +0 -160
  126. package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/tasks/brownfield-create-story.md +0 -147
  127. package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/tasks/correct-course.md +0 -70
  128. package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/tasks/create-brownfield-story.md +0 -304
  129. package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/tasks/create-deep-research-prompt.md +0 -289
  130. package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/tasks/create-next-story.md +0 -112
  131. package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/tasks/document-project.md +0 -341
  132. package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/tasks/facilitate-brainstorming-session.md +0 -136
  133. package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/tasks/generate-ai-frontend-prompt.md +0 -51
  134. package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/tasks/index-docs.md +0 -179
  135. package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/tasks/kb-mode-interaction.md +0 -75
  136. package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/tasks/review-story.md +0 -145
  137. package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/tasks/shard-doc.md +0 -187
  138. package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/tasks/validate-next-story.md +0 -134
  139. package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/templates/architecture-tmpl.yaml +0 -650
  140. package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/templates/brainstorming-output-tmpl.yaml +0 -156
  141. package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/templates/brownfield-architecture-tmpl.yaml +0 -476
  142. package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/templates/brownfield-prd-tmpl.yaml +0 -280
  143. package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/templates/competitor-analysis-tmpl.yaml +0 -293
  144. package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/templates/front-end-architecture-tmpl.yaml +0 -206
  145. package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/templates/front-end-spec-tmpl.yaml +0 -349
  146. package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/templates/fullstack-architecture-tmpl.yaml +0 -805
  147. package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/templates/market-research-tmpl.yaml +0 -252
  148. package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/templates/prd-tmpl.yaml +0 -202
  149. package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/templates/project-brief-tmpl.yaml +0 -221
  150. package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/templates/story-tmpl.yaml +0 -137
  151. package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/user-guide.md +0 -250
  152. package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/workflows/brownfield-fullstack.yaml +0 -297
  153. package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/workflows/brownfield-service.yaml +0 -187
  154. package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/workflows/brownfield-ui.yaml +0 -197
  155. package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/workflows/greenfield-fullstack.yaml +0 -240
  156. package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/workflows/greenfield-service.yaml +0 -206
  157. package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/workflows/greenfield-ui.yaml +0 -235
  158. package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/working-in-the-brownfield.md +0 -361
  159. package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/README.md +0 -3
  160. package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-2d-phaser-game-dev/agent-teams/phaser-2d-nodejs-game-team.yaml +0 -13
  161. package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-2d-phaser-game-dev/agents/game-designer.md +0 -71
  162. package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-2d-phaser-game-dev/agents/game-developer.md +0 -78
  163. package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-2d-phaser-game-dev/agents/game-sm.md +0 -64
  164. package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-2d-phaser-game-dev/checklists/game-design-checklist.md +0 -201
  165. package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-2d-phaser-game-dev/checklists/game-story-dod-checklist.md +0 -160
  166. package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-2d-phaser-game-dev/config.yaml +0 -8
  167. package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-2d-phaser-game-dev/data/bmad-kb.md +0 -254
  168. package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-2d-phaser-game-dev/data/development-guidelines.md +0 -651
  169. package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-2d-phaser-game-dev/tasks/advanced-elicitation.md +0 -111
  170. package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-2d-phaser-game-dev/tasks/create-game-story.md +0 -216
  171. package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-2d-phaser-game-dev/tasks/game-design-brainstorming.md +0 -308
  172. package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-2d-phaser-game-dev/templates/game-architecture-tmpl.yaml +0 -613
  173. package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-2d-phaser-game-dev/templates/game-brief-tmpl.yaml +0 -356
  174. package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-2d-phaser-game-dev/templates/game-design-doc-tmpl.yaml +0 -343
  175. package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-2d-phaser-game-dev/templates/game-story-tmpl.yaml +0 -253
  176. package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-2d-phaser-game-dev/templates/level-design-doc-tmpl.yaml +0 -484
  177. package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-2d-phaser-game-dev/workflows/game-dev-greenfield.yaml +0 -183
  178. package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-2d-phaser-game-dev/workflows/game-prototype.yaml +0 -175
  179. package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-2d-unity-game-dev/agent-teams/unity-2d-game-team.yaml +0 -14
  180. package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-2d-unity-game-dev/agents/game-architect.md +0 -80
  181. package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-2d-unity-game-dev/agents/game-designer.md +0 -77
  182. package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-2d-unity-game-dev/agents/game-developer.md +0 -78
  183. package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-2d-unity-game-dev/agents/game-sm.md +0 -65
  184. package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-2d-unity-game-dev/checklists/game-architect-checklist.md +0 -396
  185. package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-2d-unity-game-dev/checklists/game-change-checklist.md +0 -203
  186. package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-2d-unity-game-dev/checklists/game-design-checklist.md +0 -201
  187. package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-2d-unity-game-dev/checklists/game-story-dod-checklist.md +0 -132
  188. package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-2d-unity-game-dev/config.yaml +0 -6
  189. package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-2d-unity-game-dev/data/bmad-kb.md +0 -776
  190. package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-2d-unity-game-dev/data/development-guidelines.md +0 -590
  191. package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-2d-unity-game-dev/tasks/advanced-elicitation.md +0 -111
  192. package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-2d-unity-game-dev/tasks/correct-course-game.md +0 -151
  193. package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-2d-unity-game-dev/tasks/create-game-story.md +0 -184
  194. package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-2d-unity-game-dev/tasks/game-design-brainstorming.md +0 -308
  195. package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-2d-unity-game-dev/tasks/validate-game-story.md +0 -200
  196. package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-2d-unity-game-dev/templates/game-architecture-tmpl.yaml +0 -1030
  197. package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-2d-unity-game-dev/templates/game-brief-tmpl.yaml +0 -356
  198. package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-2d-unity-game-dev/templates/game-design-doc-tmpl.yaml +0 -705
  199. package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-2d-unity-game-dev/templates/game-story-tmpl.yaml +0 -256
  200. package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-2d-unity-game-dev/templates/level-design-doc-tmpl.yaml +0 -484
  201. package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-2d-unity-game-dev/workflows/game-dev-greenfield.yaml +0 -183
  202. package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-2d-unity-game-dev/workflows/game-prototype.yaml +0 -175
  203. package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-infrastructure-devops/README.md +0 -147
  204. package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-infrastructure-devops/agents/infra-devops-platform.md +0 -71
  205. package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-infrastructure-devops/checklists/infrastructure-checklist.md +0 -484
  206. package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-infrastructure-devops/config.yaml +0 -9
  207. package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-infrastructure-devops/data/bmad-kb.md +0 -308
  208. package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-infrastructure-devops/tasks/review-infrastructure.md +0 -160
  209. package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-infrastructure-devops/tasks/validate-infrastructure.md +0 -154
  210. package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-infrastructure-devops/templates/infrastructure-architecture-tmpl.yaml +0 -424
  211. package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-infrastructure-devops/templates/infrastructure-platform-from-arch-tmpl.yaml +0 -629
  212. package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-mobile-app-dev/agent-teams/mobile-team-cross-platform.yaml +0 -22
  213. package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-mobile-app-dev/agent-teams/mobile-team-flutter.yaml +0 -20
  214. package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-mobile-app-dev/agent-teams/mobile-team-minimal.yaml +0 -13
  215. package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-mobile-app-dev/agent-teams/mobile-team-react-native.yaml +0 -20
  216. package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-mobile-app-dev/agents/mobile-analytics.md +0 -1487
  217. package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-mobile-app-dev/agents/mobile-architect.md +0 -279
  218. package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-mobile-app-dev/agents/mobile-developer.md +0 -649
  219. package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-mobile-app-dev/agents/mobile-pm.md +0 -339
  220. package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-mobile-app-dev/agents/mobile-qa.md +0 -622
  221. package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-mobile-app-dev/agents/mobile-security.md +0 -1027
  222. package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-mobile-app-dev/agents/mobile-ux-expert.md +0 -1451
  223. package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-mobile-app-dev/checklists/mobile-development-checklist.md +0 -490
  224. package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-mobile-app-dev/config.yaml +0 -54
  225. package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-mobile-app-dev/data/bmad-kb.md +0 -292
  226. package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-mobile-app-dev/data/flutter-development-guidelines.md +0 -483
  227. package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-mobile-app-dev/tasks/existing-app-analysis.md +0 -645
  228. package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-mobile-app-dev/tasks/platform-selection.md +0 -489
  229. package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-mobile-app-dev/templates/mobile-architecture-tmpl.yaml +0 -437
  230. package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-mobile-app-dev/templates/mobile-prd-tmpl.yaml +0 -408
  231. package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-mobile-app-dev/workflows/mobile-app-development-init.yaml +0 -555
  232. package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-mobile-app-dev/workflows/mobile-brownfield-flutter.yaml +0 -336
  233. package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-mobile-app-dev/workflows/mobile-brownfield-react-native.yaml +0 -345
  234. package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-mobile-app-dev/workflows/mobile-greenfield-flutter.yaml +0 -281
  235. package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-mobile-app-dev/workflows/mobile-greenfield-react-native.yaml +0 -283
  236. package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-mobile-app-dev/workflows/mobile-platform-selection.yaml +0 -404
  237. package/#Tools/APPIQ-METHOD/deployment/build/slash-commands/appiq.md +0 -273
  238. package/#Tools/APPIQ-METHOD/deployment/build/slash-commands/ide-integrations/claude-appiq.md +0 -294
  239. package/#Tools/APPIQ-METHOD/deployment/build/slash-commands/ide-integrations/cursor-appiq.md +0 -516
  240. package/#Tools/APPIQ-METHOD/deployment/build/slash-commands/ide-integrations/universal-appiq.md +0 -448
  241. package/#Tools/APPIQ-METHOD/deployment/build/slash-commands/ide-integrations/windsurf-appiq.md +0 -698
  242. package/#Tools/APPIQ-METHOD/deployment/build/slash-commands/start.md +0 -211
  243. package/#Tools/APPIQ-METHOD/deployment/build-release.sh +0 -449
  244. package/#Tools/APPIQ-METHOD/deployment/create-release.sh +0 -196
  245. package/#Tools/APPIQ-METHOD/deployment/dist/appiq_installer.sh +0 -678
  246. package/#Tools/APPIQ-METHOD/deployment/docs/main_prd.md +0 -36
  247. package/#Tools/APPIQ-METHOD/deployment/init_appiq.sh +0 -805
  248. package/#Tools/APPIQ-METHOD/deployment/init_appiq_v2.sh +0 -678
  249. package/#Tools/APPIQ-METHOD/deployment/installers/appiq-global.sh +0 -91
  250. package/#Tools/APPIQ-METHOD/deployment/installers/claude-integration.sh +0 -281
  251. package/#Tools/APPIQ-METHOD/deployment/installers/cursor-integration.sh +0 -257
  252. package/#Tools/APPIQ-METHOD/deployment/installers/terminal-integration.sh +0 -645
  253. package/#Tools/APPIQ-METHOD/deployment/installers/windsurf-integration.sh +0 -350
  254. package/#Tools/APPIQ-METHOD/deployment/package-v2.sh +0 -97
  255. package/#Tools/APPIQ-METHOD/deployment/package.sh +0 -363
  256. package/#Tools/APPIQ-METHOD/deployment/quick-install.sh +0 -57
  257. package/#Tools/APPIQ-METHOD/dist/expansion-packs/bmad-mobile-app-dev/agents/mobile-analytics.txt +0 -1530
  258. package/#Tools/APPIQ-METHOD/dist/expansion-packs/bmad-mobile-app-dev/agents/mobile-architect.txt +0 -322
  259. package/#Tools/APPIQ-METHOD/dist/expansion-packs/bmad-mobile-app-dev/agents/mobile-developer.txt +0 -692
  260. package/#Tools/APPIQ-METHOD/dist/expansion-packs/bmad-mobile-app-dev/agents/mobile-pm.txt +0 -382
  261. package/#Tools/APPIQ-METHOD/dist/expansion-packs/bmad-mobile-app-dev/agents/mobile-qa.txt +0 -665
  262. package/#Tools/APPIQ-METHOD/dist/expansion-packs/bmad-mobile-app-dev/agents/mobile-security.txt +0 -1070
  263. package/#Tools/APPIQ-METHOD/dist/expansion-packs/bmad-mobile-app-dev/agents/mobile-ux-expert.txt +0 -1494
  264. package/#Tools/APPIQ-METHOD/dist/expansion-packs/bmad-mobile-app-dev/teams/mobile-team-cross-platform.txt +0 -15613
  265. package/#Tools/APPIQ-METHOD/expansion-packs/bmad-mobile-app-dev/agent-teams/mobile-team-cross-platform.yaml +0 -22
  266. package/#Tools/APPIQ-METHOD/expansion-packs/bmad-mobile-app-dev/agent-teams/mobile-team-flutter.yaml +0 -20
  267. package/#Tools/APPIQ-METHOD/expansion-packs/bmad-mobile-app-dev/agent-teams/mobile-team-minimal.yaml +0 -13
  268. package/#Tools/APPIQ-METHOD/expansion-packs/bmad-mobile-app-dev/agent-teams/mobile-team-react-native.yaml +0 -20
  269. package/#Tools/APPIQ-METHOD/expansion-packs/bmad-mobile-app-dev/agents/mobile-analytics.md +0 -1487
  270. package/#Tools/APPIQ-METHOD/expansion-packs/bmad-mobile-app-dev/agents/mobile-architect.md +0 -279
  271. package/#Tools/APPIQ-METHOD/expansion-packs/bmad-mobile-app-dev/agents/mobile-developer.md +0 -649
  272. package/#Tools/APPIQ-METHOD/expansion-packs/bmad-mobile-app-dev/agents/mobile-pm.md +0 -339
  273. package/#Tools/APPIQ-METHOD/expansion-packs/bmad-mobile-app-dev/agents/mobile-qa.md +0 -622
  274. package/#Tools/APPIQ-METHOD/expansion-packs/bmad-mobile-app-dev/agents/mobile-security.md +0 -1027
  275. package/#Tools/APPIQ-METHOD/expansion-packs/bmad-mobile-app-dev/agents/mobile-ux-expert.md +0 -1451
  276. package/#Tools/APPIQ-METHOD/expansion-packs/bmad-mobile-app-dev/checklists/mobile-development-checklist.md +0 -490
  277. package/#Tools/APPIQ-METHOD/expansion-packs/bmad-mobile-app-dev/config.yaml +0 -54
  278. package/#Tools/APPIQ-METHOD/expansion-packs/bmad-mobile-app-dev/data/bmad-kb.md +0 -292
  279. package/#Tools/APPIQ-METHOD/expansion-packs/bmad-mobile-app-dev/data/flutter-development-guidelines.md +0 -483
  280. package/#Tools/APPIQ-METHOD/expansion-packs/bmad-mobile-app-dev/tasks/existing-app-analysis.md +0 -645
  281. package/#Tools/APPIQ-METHOD/expansion-packs/bmad-mobile-app-dev/tasks/platform-selection.md +0 -489
  282. package/#Tools/APPIQ-METHOD/expansion-packs/bmad-mobile-app-dev/templates/mobile-architecture-tmpl.yaml +0 -437
  283. package/#Tools/APPIQ-METHOD/expansion-packs/bmad-mobile-app-dev/templates/mobile-prd-tmpl.yaml +0 -408
  284. package/#Tools/APPIQ-METHOD/expansion-packs/bmad-mobile-app-dev/workflows/mobile-app-development-init.yaml +0 -555
  285. package/#Tools/APPIQ-METHOD/expansion-packs/bmad-mobile-app-dev/workflows/mobile-brownfield-flutter.yaml +0 -336
  286. package/#Tools/APPIQ-METHOD/expansion-packs/bmad-mobile-app-dev/workflows/mobile-brownfield-react-native.yaml +0 -345
  287. package/#Tools/APPIQ-METHOD/expansion-packs/bmad-mobile-app-dev/workflows/mobile-greenfield-flutter.yaml +0 -281
  288. package/#Tools/APPIQ-METHOD/expansion-packs/bmad-mobile-app-dev/workflows/mobile-greenfield-react-native.yaml +0 -283
  289. package/#Tools/APPIQ-METHOD/expansion-packs/bmad-mobile-app-dev/workflows/mobile-platform-selection.yaml +0 -404
  290. package/#Tools/APPIQ-METHOD/package-bmad-backup.json +0 -78
  291. package/#Tools/APPIQ-METHOD/slash-commands/appiq.md +0 -273
  292. package/#Tools/APPIQ-METHOD/slash-commands/ide-integrations/claude-appiq.md +0 -294
  293. package/#Tools/APPIQ-METHOD/slash-commands/ide-integrations/cursor-appiq.md +0 -516
  294. package/#Tools/APPIQ-METHOD/slash-commands/ide-integrations/universal-appiq.md +0 -448
  295. package/#Tools/APPIQ-METHOD/slash-commands/ide-integrations/windsurf-appiq.md +0 -698
  296. package/#Tools/APPIQ-METHOD/slash-commands/start.md +0 -211
  297. /package/#Tools/APPIQ-METHOD/{deployment/build/bmad-core/core-config.yaml → bmad-core/core-config.yaml.bak} +0 -0
@@ -1,590 +0,0 @@
1
- # Game Development Guidelines (Unity & C#)
2
-
3
- ## Overview
4
-
5
- This document establishes coding standards, architectural patterns, and development practices for 2D game development using Unity and C#. These guidelines ensure consistency, performance, and maintainability across all game development stories.
6
-
7
- ## C# Standards
8
-
9
- ### Naming Conventions
10
-
11
- **Classes, Structs, Enums, and Interfaces:**
12
-
13
- - PascalCase for types: `PlayerController`, `GameData`, `IInteractable`
14
- - Prefix interfaces with 'I': `IDamageable`, `IControllable`
15
- - Descriptive names that indicate purpose: `GameStateManager` not `GSM`
16
-
17
- **Methods and Properties:**
18
-
19
- - PascalCase for methods and properties: `CalculateScore()`, `CurrentHealth`
20
- - Descriptive verb phrases for methods: `ActivateShield()` not `shield()`
21
-
22
- **Fields and Variables:**
23
-
24
- - `private` or `protected` fields: camelCase with an underscore prefix: `_playerHealth`, `_movementSpeed`
25
- - `public` fields (use sparingly, prefer properties): PascalCase: `PlayerName`
26
- - `static` fields: PascalCase: `Instance`, `GameVersion`
27
- - `const` fields: PascalCase: `MaxHitPoints`
28
- - `local` variables: camelCase: `damageAmount`, `isJumping`
29
- - Boolean variables with is/has/can prefix: `_isAlive`, `_hasKey`, `_canJump`
30
-
31
- **Files and Directories:**
32
-
33
- - PascalCase for C# script files, matching the primary class name: `PlayerController.cs`
34
- - PascalCase for Scene files: `MainMenu.unity`, `Level01.unity`
35
-
36
- ### Style and Formatting
37
-
38
- - **Braces**: Use Allman style (braces on a new line).
39
- - **Spacing**: Use 4 spaces for indentation (no tabs).
40
- - **`using` directives**: Place all `using` directives at the top of the file, outside the namespace.
41
- - **`this` keyword**: Only use `this` when necessary to distinguish between a field and a local variable/parameter.
42
-
43
- ## Unity Architecture Patterns
44
-
45
- ### Scene Lifecycle Management
46
-
47
- **Loading and Transitioning Between Scenes:**
48
-
49
- ```csharp
50
- // SceneLoader.cs - A singleton for managing scene transitions.
51
- using UnityEngine;
52
- using UnityEngine.SceneManagement;
53
- using System.Collections;
54
-
55
- public class SceneLoader : MonoBehaviour
56
- {
57
- public static SceneLoader Instance { get; private set; }
58
-
59
- private void Awake()
60
- {
61
- if (Instance != null && Instance != this)
62
- {
63
- Destroy(gameObject);
64
- return;
65
- }
66
- Instance = this;
67
- DontDestroyOnLoad(gameObject);
68
- }
69
-
70
- public void LoadGameScene()
71
- {
72
- // Example of loading the main game scene, perhaps with a loading screen first.
73
- StartCoroutine(LoadSceneAsync("Level01"));
74
- }
75
-
76
- private IEnumerator LoadSceneAsync(string sceneName)
77
- {
78
- // Load a loading screen first (optional)
79
- SceneManager.LoadScene("LoadingScreen");
80
-
81
- // Wait a frame for the loading screen to appear
82
- yield return null;
83
-
84
- // Begin loading the target scene in the background
85
- AsyncOperation asyncLoad = SceneManager.LoadSceneAsync(sceneName);
86
-
87
- // Don't activate the scene until it's fully loaded
88
- asyncLoad.allowSceneActivation = false;
89
-
90
- // Wait until the asynchronous scene fully loads
91
- while (!asyncLoad.isDone)
92
- {
93
- // Here you could update a progress bar with asyncLoad.progress
94
- if (asyncLoad.progress >= 0.9f)
95
- {
96
- // Scene is loaded, allow activation
97
- asyncLoad.allowSceneActivation = true;
98
- }
99
- yield return null;
100
- }
101
- }
102
- }
103
- ```
104
-
105
- ### MonoBehaviour Lifecycle
106
-
107
- **Understanding Core MonoBehaviour Events:**
108
-
109
- ```csharp
110
- // Example of a standard MonoBehaviour lifecycle
111
- using UnityEngine;
112
-
113
- public class PlayerController : MonoBehaviour
114
- {
115
- // AWAKE: Called when the script instance is being loaded.
116
- // Use for initialization before the game starts. Good for caching component references.
117
- private void Awake()
118
- {
119
- Debug.Log("PlayerController Awake!");
120
- }
121
-
122
- // ONENABLE: Called when the object becomes enabled and active.
123
- // Good for subscribing to events.
124
- private void OnEnable()
125
- {
126
- // Example: UIManager.OnGamePaused += HandleGamePaused;
127
- }
128
-
129
- // START: Called on the frame when a script is enabled just before any of the Update methods are called the first time.
130
- // Good for logic that depends on other objects being initialized.
131
- private void Start()
132
- {
133
- Debug.Log("PlayerController Start!");
134
- }
135
-
136
- // FIXEDUPDATE: Called every fixed framerate frame.
137
- // Use for physics calculations (e.g., applying forces to a Rigidbody).
138
- private void FixedUpdate()
139
- {
140
- // Handle Rigidbody movement here.
141
- }
142
-
143
- // UPDATE: Called every frame.
144
- // Use for most game logic, like handling input and non-physics movement.
145
- private void Update()
146
- {
147
- // Handle input and non-physics movement here.
148
- }
149
-
150
- // LATEUPDATE: Called every frame, after all Update functions have been called.
151
- // Good for camera logic that needs to track a target that moves in Update.
152
- private void LateUpdate()
153
- {
154
- // Camera follow logic here.
155
- }
156
-
157
- // ONDISABLE: Called when the behaviour becomes disabled or inactive.
158
- // Good for unsubscribing from events to prevent memory leaks.
159
- private void OnDisable()
160
- {
161
- // Example: UIManager.OnGamePaused -= HandleGamePaused;
162
- }
163
-
164
- // ONDESTROY: Called when the MonoBehaviour will be destroyed.
165
- // Good for any final cleanup.
166
- private void OnDestroy()
167
- {
168
- Debug.Log("PlayerController Destroyed!");
169
- }
170
- }
171
- ```
172
-
173
- ### Game Object Patterns
174
-
175
- **Component-Based Architecture:**
176
-
177
- ```csharp
178
- // Player.cs - The main GameObject class, acts as a container for components.
179
- using UnityEngine;
180
-
181
- [RequireComponent(typeof(PlayerMovement), typeof(PlayerHealth))]
182
- public class Player : MonoBehaviour
183
- {
184
- public PlayerMovement Movement { get; private set; }
185
- public PlayerHealth Health { get; private set; }
186
-
187
- private void Awake()
188
- {
189
- Movement = GetComponent<PlayerMovement>();
190
- Health = GetComponent<PlayerHealth>();
191
- }
192
- }
193
-
194
- // PlayerHealth.cs - A component responsible only for health logic.
195
- public class PlayerHealth : MonoBehaviour
196
- {
197
- [SerializeField] private int _maxHealth = 100;
198
- private int _currentHealth;
199
-
200
- private void Awake()
201
- {
202
- _currentHealth = _maxHealth;
203
- }
204
-
205
- public void TakeDamage(int amount)
206
- {
207
- _currentHealth -= amount;
208
- if (_currentHealth <= 0)
209
- {
210
- Die();
211
- }
212
- }
213
-
214
- private void Die()
215
- {
216
- // Death logic
217
- Debug.Log("Player has died.");
218
- gameObject.SetActive(false);
219
- }
220
- }
221
- ```
222
-
223
- ### Data-Driven Design with ScriptableObjects
224
-
225
- **Define Data Containers:**
226
-
227
- ```csharp
228
- // EnemyData.cs - A ScriptableObject to hold data for an enemy type.
229
- using UnityEngine;
230
-
231
- [CreateAssetMenu(fileName = "NewEnemyData", menuName = "Game/Enemy Data")]
232
- public class EnemyData : ScriptableObject
233
- {
234
- public string enemyName;
235
- public int maxHealth;
236
- public float moveSpeed;
237
- public int damage;
238
- public Sprite sprite;
239
- }
240
-
241
- // Enemy.cs - A MonoBehaviour that uses the EnemyData.
242
- public class Enemy : MonoBehaviour
243
- {
244
- [SerializeField] private EnemyData _enemyData;
245
- private int _currentHealth;
246
-
247
- private void Start()
248
- {
249
- _currentHealth = _enemyData.maxHealth;
250
- GetComponent<SpriteRenderer>().sprite = _enemyData.sprite;
251
- }
252
-
253
- // ... other enemy logic
254
- }
255
- ```
256
-
257
- ### System Management
258
-
259
- **Singleton Managers:**
260
-
261
- ```csharp
262
- // GameManager.cs - A singleton to manage the overall game state.
263
- using UnityEngine;
264
-
265
- public class GameManager : MonoBehaviour
266
- {
267
- public static GameManager Instance { get; private set; }
268
-
269
- public int Score { get; private set; }
270
-
271
- private void Awake()
272
- {
273
- if (Instance != null && Instance != this)
274
- {
275
- Destroy(gameObject);
276
- return;
277
- }
278
- Instance = this;
279
- DontDestroyOnLoad(gameObject); // Persist across scenes
280
- }
281
-
282
- public void AddScore(int amount)
283
- {
284
- Score += amount;
285
- }
286
- }
287
- ```
288
-
289
- ## Performance Optimization
290
-
291
- ### Object Pooling
292
-
293
- **Required for High-Frequency Objects (e.g., bullets, effects):**
294
-
295
- ```csharp
296
- // ObjectPool.cs - A generic object pooling system.
297
- using UnityEngine;
298
- using System.Collections.Generic;
299
-
300
- public class ObjectPool : MonoBehaviour
301
- {
302
- [SerializeField] private GameObject _prefabToPool;
303
- [SerializeField] private int _initialPoolSize = 20;
304
-
305
- private Queue<GameObject> _pool = new Queue<GameObject>();
306
-
307
- private void Start()
308
- {
309
- for (int i = 0; i < _initialPoolSize; i++)
310
- {
311
- GameObject obj = Instantiate(_prefabToPool);
312
- obj.SetActive(false);
313
- _pool.Enqueue(obj);
314
- }
315
- }
316
-
317
- public GameObject GetObjectFromPool()
318
- {
319
- if (_pool.Count > 0)
320
- {
321
- GameObject obj = _pool.Dequeue();
322
- obj.SetActive(true);
323
- return obj;
324
- }
325
- // Optionally, expand the pool if it's empty.
326
- return Instantiate(_prefabToPool);
327
- }
328
-
329
- public void ReturnObjectToPool(GameObject obj)
330
- {
331
- obj.SetActive(false);
332
- _pool.Enqueue(obj);
333
- }
334
- }
335
- ```
336
-
337
- ### Frame Rate Optimization
338
-
339
- **Update Loop Optimization:**
340
-
341
- - Avoid expensive calls like `GetComponent`, `FindObjectOfType`, or `Instantiate` inside `Update()` or `FixedUpdate()`. Cache references in `Awake()` or `Start()`.
342
- - Use Coroutines or simple timers for logic that doesn't need to run every single frame.
343
-
344
- **Physics Optimization:**
345
-
346
- - Adjust the "Physics 2D Settings" in Project Settings, especially the "Layer Collision Matrix", to prevent unnecessary collision checks.
347
- - Use `Rigidbody2D.Sleep()` for objects that are not moving to save CPU cycles.
348
-
349
- ## Input Handling
350
-
351
- ### Cross-Platform Input (New Input System)
352
-
353
- **Input Action Asset:** Create an Input Action Asset (`.inputactions`) to define controls.
354
-
355
- **PlayerInput Component:**
356
-
357
- - Add the `PlayerInput` component to the player GameObject.
358
- - Set its "Actions" to the created Input Action Asset.
359
- - Set "Behavior" to "Invoke Unity Events" to easily hook up methods in the Inspector, or "Send Messages" to use methods like `OnMove`, `OnFire`.
360
-
361
- ```csharp
362
- // PlayerInputHandler.cs - Example of handling input via messages.
363
- using UnityEngine;
364
- using UnityEngine.InputSystem;
365
-
366
- public class PlayerInputHandler : MonoBehaviour
367
- {
368
- private Vector2 _moveInput;
369
-
370
- // This method is called by the PlayerInput component via "Send Messages".
371
- // The action must be named "Move" in the Input Action Asset.
372
- public void OnMove(InputValue value)
373
- {
374
- _moveInput = value.Get<Vector2>();
375
- }
376
-
377
- private void Update()
378
- {
379
- // Use _moveInput to control the player
380
- transform.Translate(new Vector3(_moveInput.x, _moveInput.y, 0) * Time.deltaTime * 5f);
381
- }
382
- }
383
- ```
384
-
385
- ## Error Handling
386
-
387
- ### Graceful Degradation
388
-
389
- **Asset Loading Error Handling:**
390
-
391
- - When using Addressables or `Resources.Load`, always check if the loaded asset is null before using it.
392
-
393
- ```csharp
394
- // Load a sprite and use a fallback if it fails
395
- Sprite playerSprite = Resources.Load<Sprite>("Sprites/Player");
396
- if (playerSprite == null)
397
- {
398
- Debug.LogError("Player sprite not found! Using default.");
399
- playerSprite = Resources.Load<Sprite>("Sprites/Default");
400
- }
401
- ```
402
-
403
- ### Runtime Error Recovery
404
-
405
- **Assertions and Logging:**
406
-
407
- - Use `Debug.Assert(condition, "Message")` to check for critical conditions that must be true.
408
- - Use `Debug.LogError("Message")` for fatal errors and `Debug.LogWarning("Message")` for non-critical issues.
409
-
410
- ```csharp
411
- // Example of using an assertion to ensure a component exists.
412
- private Rigidbody2D _rb;
413
-
414
- void Awake()
415
- {
416
- _rb = GetComponent<Rigidbody2D>();
417
- Debug.Assert(_rb != null, "Rigidbody2D component not found on player!");
418
- }
419
- ```
420
-
421
- ## Testing Standards
422
-
423
- ### Unit Testing (Edit Mode)
424
-
425
- **Game Logic Testing:**
426
-
427
- ```csharp
428
- // HealthSystemTests.cs - Example test for a simple health system.
429
- using NUnit.Framework;
430
- using UnityEngine;
431
-
432
- public class HealthSystemTests
433
- {
434
- [Test]
435
- public void TakeDamage_ReducesHealth()
436
- {
437
- // Arrange
438
- var gameObject = new GameObject();
439
- var healthSystem = gameObject.AddComponent<PlayerHealth>();
440
- // Note: This is a simplified example. You might need to mock dependencies.
441
-
442
- // Act
443
- healthSystem.TakeDamage(20);
444
-
445
- // Assert
446
- // This requires making health accessible for testing, e.g., via a public property or method.
447
- // Assert.AreEqual(80, healthSystem.CurrentHealth);
448
- }
449
- }
450
- ```
451
-
452
- ### Integration Testing (Play Mode)
453
-
454
- **Scene Testing:**
455
-
456
- - Play Mode tests run in a live scene, allowing you to test interactions between multiple components and systems.
457
- - Use `yield return null;` to wait for the next frame.
458
-
459
- ```csharp
460
- // PlayerJumpTest.cs
461
- using System.Collections;
462
- using NUnit.Framework;
463
- using UnityEngine;
464
- using UnityEngine.TestTools;
465
-
466
- public class PlayerJumpTest
467
- {
468
- [UnityTest]
469
- public IEnumerator PlayerJumps_WhenSpaceIsPressed()
470
- {
471
- // Arrange
472
- var player = new GameObject().AddComponent<PlayerController>();
473
- var initialY = player.transform.position.y;
474
-
475
- // Act
476
- // Simulate pressing the jump button (requires setting up the input system for tests)
477
- // For simplicity, we'll call a public method here.
478
- // player.Jump();
479
-
480
- // Wait for a few physics frames
481
- yield return new WaitForSeconds(0.5f);
482
-
483
- // Assert
484
- Assert.Greater(player.transform.position.y, initialY);
485
- }
486
- }
487
- ```
488
-
489
- ## File Organization
490
-
491
- ### Project Structure
492
-
493
- ```
494
- Assets/
495
- ├── Scenes/
496
- │ ├── MainMenu.unity
497
- │ └── Level01.unity
498
- ├── Scripts/
499
- │ ├── Core/
500
- │ │ ├── GameManager.cs
501
- │ │ └── AudioManager.cs
502
- │ ├── Player/
503
- │ │ ├── PlayerController.cs
504
- │ │ └── PlayerHealth.cs
505
- │ ├── Editor/
506
- │ │ └── CustomInspectors.cs
507
- │ └── Data/
508
- │ └── EnemyData.cs
509
- ├── Prefabs/
510
- │ ├── Player.prefab
511
- │ └── Enemies/
512
- │ └── Slime.prefab
513
- ├── Art/
514
- │ ├── Sprites/
515
- │ └── Animations/
516
- ├── Audio/
517
- │ ├── Music/
518
- │ └── SFX/
519
- ├── Data/
520
- │ └── ScriptableObjects/
521
- │ └── EnemyData/
522
- └── Tests/
523
- ├── EditMode/
524
- │ └── HealthSystemTests.cs
525
- └── PlayMode/
526
- └── PlayerJumpTest.cs
527
- ```
528
-
529
- ## Development Workflow
530
-
531
- ### Story Implementation Process
532
-
533
- 1. **Read Story Requirements:**
534
-
535
- - Understand acceptance criteria
536
- - Identify technical requirements
537
- - Review performance constraints
538
-
539
- 2. **Plan Implementation:**
540
-
541
- - Identify files to create/modify
542
- - Consider Unity's component-based architecture
543
- - Plan testing approach
544
-
545
- 3. **Implement Feature:**
546
-
547
- - Write clean C# code following all guidelines
548
- - Use established patterns
549
- - Maintain stable FPS performance
550
-
551
- 4. **Test Implementation:**
552
-
553
- - Write edit mode tests for game logic
554
- - Write play mode tests for integration testing
555
- - Test cross-platform functionality
556
- - Validate performance targets
557
-
558
- 5. **Update Documentation:**
559
- - Mark story checkboxes complete
560
- - Document any deviations
561
- - Update architecture if needed
562
-
563
- ### Code Review Checklist
564
-
565
- - [ ] C# code compiles without errors or warnings.
566
- - [ ] All automated tests pass.
567
- - [ ] Code follows naming conventions and architectural patterns.
568
- - [ ] No expensive operations in `Update()` loops.
569
- - [ ] Public fields/methods are documented with comments.
570
- - [ ] New assets are organized into the correct folders.
571
-
572
- ## Performance Targets
573
-
574
- ### Frame Rate Requirements
575
-
576
- - **PC/Console**: Maintain a stable 60+ FPS.
577
- - **Mobile**: Maintain 60 FPS on mid-range devices, minimum 30 FPS on low-end.
578
- - **Optimization**: Use the Unity Profiler to identify and fix performance drops.
579
-
580
- ### Memory Management
581
-
582
- - **Total Memory**: Keep builds under platform-specific limits (e.g., 200MB for a simple mobile game).
583
- - **Garbage Collection**: Minimize GC spikes by avoiding string concatenation, `new` keyword usage in loops, and by pooling objects.
584
-
585
- ### Loading Performance
586
-
587
- - **Initial Load**: Under 5 seconds for game start.
588
- - **Scene Transitions**: Under 2 seconds between scenes. Use asynchronous scene loading.
589
-
590
- These guidelines ensure consistent, high-quality game development that meets performance targets and maintains code quality across all implementation stories.
@@ -1,111 +0,0 @@
1
- # Advanced Game Design Elicitation Task
2
-
3
- ## Purpose
4
-
5
- - Provide optional reflective and brainstorming actions to enhance game design content quality
6
- - Enable deeper exploration of game mechanics and player experience through structured elicitation techniques
7
- - Support iterative refinement through multiple game development perspectives
8
- - Apply game-specific critical thinking to design decisions
9
-
10
- ## Task Instructions
11
-
12
- ### 1. Game Design Context and Review
13
-
14
- [[LLM: When invoked after outputting a game design section:
15
-
16
- 1. First, provide a brief 1-2 sentence summary of what the user should look for in the section just presented, with game-specific focus (e.g., "Please review the core mechanics for player engagement and implementation feasibility. Pay special attention to how these mechanics create the intended player experience and whether they're technically achievable with Unity.")
17
-
18
- 2. If the section contains game flow diagrams, level layouts, or system diagrams, explain each diagram briefly with game development context before offering elicitation options (e.g., "The gameplay loop diagram shows how player actions lead to rewards and progression. Notice how each step maintains player engagement and creates opportunities for skill development.")
19
-
20
- 3. If the section contains multiple game elements (like multiple mechanics, multiple levels, multiple systems, etc.), inform the user they can apply elicitation actions to:
21
-
22
- - The entire section as a whole
23
- - Individual game elements within the section (specify which element when selecting an action)
24
-
25
- 4. Then present the action list as specified below.]]
26
-
27
- ### 2. Ask for Review and Present Game Design Action List
28
-
29
- [[LLM: Ask the user to review the drafted game design section. In the SAME message, inform them that they can suggest additions, removals, or modifications, OR they can select an action by number from the 'Advanced Game Design Elicitation & Brainstorming Actions'. If there are multiple game elements in the section, mention they can specify which element(s) to apply the action to. Then, present ONLY the numbered list (0-9) of these actions. Conclude by stating that selecting 9 will proceed to the next section. Await user selection. If an elicitation action (0-8) is chosen, execute it and then re-offer this combined review/elicitation choice. If option 9 is chosen, or if the user provides direct feedback, proceed accordingly.]]
30
-
31
- **Present the numbered list (0-9) with this exact format:**
32
-
33
- ```text
34
- **Advanced Game Design Elicitation & Brainstorming Actions**
35
- Choose an action (0-9 - 9 to bypass - HELP for explanation of these options):
36
-
37
- 0. Expand or Contract for Target Audience
38
- 1. Explain Game Design Reasoning (Step-by-Step)
39
- 2. Critique and Refine from Player Perspective
40
- 3. Analyze Game Flow and Mechanic Dependencies
41
- 4. Assess Alignment with Player Experience Goals
42
- 5. Identify Potential Player Confusion and Design Risks
43
- 6. Challenge from Critical Game Design Perspective
44
- 7. Explore Alternative Game Design Approaches
45
- 8. Hindsight Postmortem: The 'If Only...' Game Design Reflection
46
- 9. Proceed / No Further Actions
47
- ```
48
-
49
- ### 2. Processing Guidelines
50
-
51
- **Do NOT show:**
52
-
53
- - The full protocol text with `[[LLM: ...]]` instructions
54
- - Detailed explanations of each option unless executing or the user asks, when giving the definition you can modify to tie its game development relevance
55
- - Any internal template markup
56
-
57
- **After user selection from the list:**
58
-
59
- - Execute the chosen action according to the game design protocol instructions below
60
- - Ask if they want to select another action or proceed with option 9 once complete
61
- - Continue until user selects option 9 or indicates completion
62
-
63
- ## Game Design Action Definitions
64
-
65
- 0. Expand or Contract for Target Audience
66
- [[LLM: Ask the user whether they want to 'expand' on the game design content (add more detail, elaborate on mechanics, include more examples) or 'contract' it (simplify mechanics, focus on core features, reduce complexity). Also, ask if there's a specific player demographic or experience level they have in mind (casual players, hardcore gamers, children, etc.). Once clarified, perform the expansion or contraction from your current game design role's perspective, tailored to the specified player audience if provided.]]
67
-
68
- 1. Explain Game Design Reasoning (Step-by-Step)
69
- [[LLM: Explain the step-by-step game design thinking process that you used to arrive at the current proposal for this game content. Focus on player psychology, engagement mechanics, technical feasibility, and how design decisions support the overall player experience goals.]]
70
-
71
- 2. Critique and Refine from Player Perspective
72
- [[LLM: From your current game design role's perspective, review your last output or the current section for potential player confusion, engagement issues, balance problems, or areas for improvement. Consider how players will actually interact with and experience these systems, then suggest a refined version that better serves player enjoyment and understanding.]]
73
-
74
- 3. Analyze Game Flow and Mechanic Dependencies
75
- [[LLM: From your game design role's standpoint, examine the content's structure for logical gameplay progression, mechanic interdependencies, and player learning curve. Confirm if game elements are introduced in an effective order that teaches players naturally and maintains engagement throughout the experience.]]
76
-
77
- 4. Assess Alignment with Player Experience Goals
78
- [[LLM: Evaluate how well the current game design content contributes to the stated player experience goals and core game pillars. Consider whether the mechanics actually create the intended emotions and engagement patterns. Identify any misalignments between design intentions and likely player reactions.]]
79
-
80
- 5. Identify Potential Player Confusion and Design Risks
81
- [[LLM: Based on your game design expertise, brainstorm potential sources of player confusion, overlooked edge cases in gameplay, balance issues, technical implementation risks, or unintended player behaviors that could emerge from the current design. Consider both new and experienced players' perspectives.]]
82
-
83
- 6. Challenge from Critical Game Design Perspective
84
- [[LLM: Adopt a critical game design perspective on the current content. If the user specifies another viewpoint (e.g., 'as a casual player', 'as a speedrunner', 'as a mobile player', 'as a technical implementer'), critique the content from that specified perspective. If no other role is specified, play devil's advocate from your game design expertise, arguing against the current design proposal and highlighting potential weaknesses, player experience issues, or implementation challenges. This can include questioning scope creep, unnecessary complexity, or features that don't serve the core player experience.]]
85
-
86
- 7. Explore Alternative Game Design Approaches
87
- [[LLM: From your game design role's perspective, first broadly brainstorm a range of diverse approaches to achieving the same player experience goals or solving the same design challenge. Consider different genres, mechanics, interaction models, or technical approaches. Then, from this wider exploration, select and present 2-3 distinct alternative design approaches, detailing the pros, cons, player experience implications, and technical feasibility you foresee for each.]]
88
-
89
- 8. Hindsight Postmortem: The 'If Only...' Game Design Reflection
90
- [[LLM: In your current game design persona, imagine this is a postmortem for a shipped game based on the current design content. What's the one 'if only we had designed/considered/tested X...' that your role would highlight from a game design perspective? Include the imagined player reactions, review scores, or development consequences. This should be both insightful and somewhat humorous, focusing on common game design pitfalls.]]
91
-
92
- 9. Proceed / No Further Actions
93
- [[LLM: Acknowledge the user's choice to finalize the current game design work, accept the AI's last output as is, or move on to the next step without selecting another action from this list. Prepare to proceed accordingly.]]
94
-
95
- ## Game Development Context Integration
96
-
97
- This elicitation task is specifically designed for game development and should be used in contexts where:
98
-
99
- - **Game Mechanics Design**: When defining core gameplay systems and player interactions
100
- - **Player Experience Planning**: When designing for specific emotional responses and engagement patterns
101
- - **Technical Game Architecture**: When balancing design ambitions with implementation realities
102
- - **Game Balance and Progression**: When designing difficulty curves and player advancement systems
103
- - **Platform Considerations**: When adapting designs for different devices and input methods
104
-
105
- The questions and perspectives offered should always consider:
106
-
107
- - Player psychology and motivation
108
- - Technical feasibility with Unity and C#
109
- - Performance implications for stable frame rate targets
110
- - Cross-platform compatibility (PC, console, mobile)
111
- - Game development best practices and common pitfalls