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,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