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,483 +0,0 @@
1
- # Flutter Development Guidelines & Best Practices
2
-
3
- ## Core Development Principles
4
-
5
- **THIS RULES ARE IMPORTANT AND YOU NEED FOLLOW THEM ALWAYS!!!!!**
6
-
7
- ๐Ÿงน **DRY-Prinzip befolgt** - Keine Code-Duplikation mehr
8
- ๐Ÿ“– **Bessere Lesbarkeit** - Kleinere, fokussierte Methoden
9
- ๐Ÿ”ง **Wartbarkeit** - Logische Gruppierung รคhnlicher Funktionen
10
- โšก **Performance** - Weniger redundante Repository-Calls
11
- ๐Ÿงช **Testbarkeit** - Kleinere, testbare Methoden-Einheiten
12
-
13
- Follow the best clean code rules and the best practices. Implement Code the same style as the architecture is built up - follow the folder and file structure.
14
-
15
- ## Architecture & Project Structure
16
-
17
- ### Clean Architecture Layers
18
- All new features **MUST** follow the established Clean Architecture pattern:
19
-
20
- ```
21
- lib/
22
- โ”œโ”€โ”€ core/ # Infrastructure & shared utilities
23
- โ”œโ”€โ”€ data/ # Data layer (repositories impl, data sources, models)
24
- โ”œโ”€โ”€ domain/ # Business logic (entities, repository interfaces, failures)
25
- โ”œโ”€โ”€ presentation/ # UI layer (screens, widgets, BLoC/Cubit, navigation)
26
- โ””โ”€โ”€ l10n/ # Internationalization files
27
- ```
28
-
29
- ### Folder Organization Rules
30
-
31
- #### 1. Feature-Based Organization
32
- - Group related functionality by feature/domain
33
- - Each feature should have its own subfolder structure
34
- - Follow existing patterns in `presentation/ui/screens/`
35
-
36
- #### 2. Core & Shared Services Integration (CRITICAL!)
37
- - **ALWAYS** check existing services in `lib/core/services/` before creating new ones
38
- - Services grouped by category: `auth/`, `network/`, `storage/`, `voice/`, etc.
39
- - Use existing utilities in `lib/core/utils/`
40
- - **Shared components**: Use `lib/shared/widgets/` for cross-feature UI components
41
- - **Core utilities**: Use `lib/core/di/` for dependency injection setup
42
- - **Global theme**: Use `lib/shared/theme/` for app-wide theming
43
- - **Shared localization**: Use `lib/shared/localization/` for global translations
44
-
45
- #### 3. Mandatory Directory Structure for New Features
46
- ```
47
- feature_name/
48
- โ”œโ”€โ”€ translations/ # Feature-specific translations (MANDATORY for new features)
49
- โ”‚ โ”œโ”€โ”€ feature_name_de.arb # German translations
50
- โ”‚ โ”œโ”€โ”€ feature_name_en.arb # English translations
51
- โ”‚ โ”œโ”€โ”€ feature_name_ru.arb # Russian translations
52
- โ”‚ โ”œโ”€โ”€ feature_name_tr.arb # Turkish translations
53
- โ”‚ โ””โ”€โ”€ feature_name_ar.arb # Arabic translations
54
- โ”œโ”€โ”€ data/
55
- โ”‚ โ”œโ”€โ”€ repositories/ # Repository implementations
56
- โ”‚ โ”œโ”€โ”€ datasources/ # Local & remote data sources
57
- โ”‚ โ””โ”€โ”€ models/ # Data models with freezed + JSON serialization
58
- โ”‚ โ”œโ”€โ”€ model_name_model.dart
59
- โ”‚ โ”œโ”€โ”€ model_name_model.freezed.dart # Generated freezed file
60
- โ”‚ โ””โ”€โ”€ model_name_model.g.dart # Generated JSON file
61
- โ”œโ”€โ”€ domain/
62
- โ”‚ โ”œโ”€โ”€ entities/ # Business entities (immutable with freezed)
63
- โ”‚ โ”œโ”€โ”€ repositories/ # Repository interfaces
64
- โ”‚ โ””โ”€โ”€ usecases/ # Business use cases
65
- โ””โ”€โ”€ presentation/
66
- โ”œโ”€โ”€ cubit/ # Cubit state management (SEPARATE FILES!)
67
- โ”‚ โ”œโ”€โ”€ feature_name_cubit.dart # Cubit class file
68
- โ”‚ โ””โ”€โ”€ feature_name_state.dart # State class file
69
- โ”œโ”€โ”€ pages/ # Screen implementations
70
- โ””โ”€โ”€ widgets/ # Feature-specific widgets
71
- ```
72
-
73
- **CRITICAL RULES:**
74
- - Each feature MUST have its own translations/ folder
75
- - Cubit and State classes MUST be in separate files
76
- - All models MUST use freezed for immutability
77
- - Follow exact naming convention: feature_name_cubit.dart, feature_name_state.dart
78
-
79
- ## State Management Rules
80
-
81
- ### BaseCubitMixin Usage
82
- **MANDATORY**: All Cubits **MUST** use `BaseCubitMixin` from `@lib/core/utils/base_cubit_mixin.dart`
83
-
84
- ```dart
85
- class FeatureCubit extends Cubit<FeatureState> with BaseCubitMixin<FeatureState> {
86
- // Use executeRepositoryOperation for all repository calls
87
- Future<void> loadData() async {
88
- await executeRepositoryOperation<DataModel>(
89
- operation: () => repository.getData(),
90
- onSuccess: (data) => safeEmit(FeatureState.loaded(data)),
91
- operationName: 'loadData',
92
- loadingState: FeatureState.loading(),
93
- errorStateBuilder: (message) => FeatureState.error(message),
94
- );
95
- }
96
-
97
- @override
98
- void clearError() => safeEmit(FeatureState.initial());
99
-
100
- @override
101
- void resetToInitial() => safeEmit(FeatureState.initial());
102
- }
103
- ```
104
-
105
- ### State Class Requirements
106
- ```dart
107
- class FeatureState extends Equatable {
108
- final FeatureStatus status;
109
- final DataModel? data;
110
- final String? errorMessage;
111
-
112
- const FeatureState._({
113
- required this.status,
114
- this.data,
115
- this.errorMessage,
116
- });
117
-
118
- // Named constructors for each state
119
- const FeatureState.initial() : this._(status: FeatureStatus.initial);
120
- const FeatureState.loading() : this._(status: FeatureStatus.loading);
121
- const FeatureState.loaded(DataModel data) : this._(status: FeatureStatus.loaded, data: data);
122
- const FeatureState.error(String message) : this._(status: FeatureStatus.error, errorMessage: message);
123
-
124
- @override
125
- List<Object?> get props => [status, data, errorMessage];
126
- }
127
-
128
- enum FeatureStatus { initial, loading, loaded, error }
129
- ```
130
-
131
- ## Repository Pattern Rules
132
-
133
- ### Repository Interface (Domain Layer)
134
- ```dart
135
- abstract class FeatureRepository {
136
- Future<Either<Failure, DataModel>> getData();
137
- Future<Either<Failure, void>> saveData(DataModel data);
138
- }
139
- ```
140
-
141
- ### Repository Implementation (Data Layer)
142
- ```dart
143
- class FeatureRepositoryImpl extends BaseRepository implements FeatureRepository {
144
- final FeatureRemoteDataSource remoteDataSource;
145
- final FeatureLocalDataSource localDataSource;
146
-
147
- FeatureRepositoryImpl({
148
- required this.remoteDataSource,
149
- required this.localDataSource,
150
- });
151
-
152
- @override
153
- Future<Either<Failure, DataModel>> getData() async {
154
- return executeWithErrorHandling<DataModel>(
155
- () async => await remoteDataSource.getData(),
156
- operationName: 'getData',
157
- failureMessage: 'Failed to load data',
158
- );
159
- }
160
- }
161
- ```
162
-
163
- ## Multi-Language Support Rules
164
-
165
- ### Localization Requirements
166
- **MANDATORY**: All user-facing text **MUST** support multi-language (en, de, ru, tr, ar)
167
-
168
- ```dart
169
- // โŒ Wrong - Hardcoded text
170
- Text('Welcome to ProjectPilot')
171
-
172
- // โœ… Correct - Using AppLocalizations
173
- Text(AppLocalizations.of(context).welcomeMessage)
174
- ```
175
-
176
- ### Adding New Translations
177
- 1. Add key to `lib/l10n/app_en.arb`
178
- 2. Provide translations for all supported languages
179
- 3. Use semantic key names: `featureName_actionName_element`
180
-
181
- ```json
182
- {
183
- "auth_login_welcomeTitle": "Welcome Back",
184
- "auth_login_emailLabel": "Email Address",
185
- "project_create_successMessage": "Project created successfully"
186
- }
187
- ```
188
-
189
- ## Service Locator Rules
190
-
191
- ### Service Registration
192
- **MANDATORY**: All services **MUST** be registered in `@lib/core/di/service_locator.dart`
193
-
194
- ```dart
195
- // Check existing services BEFORE adding new ones
196
- static Future<void> _registerFeatureServices() async {
197
- AppLogger.d('Registering feature services...', tag: 'DI');
198
-
199
- // Only register if not already exists
200
- _registerLazySingleton<FeatureService>(
201
- () => FeatureService(dependency: getIt<DependencyService>()),
202
- serviceName: 'FeatureService',
203
- );
204
- }
205
- ```
206
-
207
- ### Service Access Pattern
208
- ```dart
209
- class FeatureCubit extends Cubit<FeatureState> {
210
- final FeatureRepository repository;
211
- final FeatureService service;
212
-
213
- // Use dependency injection, NOT direct service locator calls
214
- FeatureCubit({
215
- required this.repository,
216
- required this.service,
217
- }) : super(FeatureState.initial());
218
- }
219
- ```
220
-
221
- ## UI Development Rules
222
-
223
- ### Widget Organization
224
- ```dart
225
- // Feature-specific widgets in feature directory
226
- lib/presentation/ui/screens/feature/widgets/
227
- โ”œโ”€โ”€ feature_list_item.dart
228
- โ”œโ”€โ”€ feature_form.dart
229
- โ””โ”€โ”€ feature_header.dart
230
-
231
- // Shared widgets in core
232
- lib/core/widgets/
233
- โ”œโ”€โ”€ loading_indicator.dart
234
- โ”œโ”€โ”€ error_display.dart
235
- โ””โ”€โ”€ custom_button.dart
236
- ```
237
-
238
- ### Widget Structure
239
- ```dart
240
- class FeatureWidget extends StatelessWidget {
241
- final FeatureModel data;
242
- final VoidCallback? onTap;
243
-
244
- const FeatureWidget({
245
- super.key,
246
- required this.data,
247
- this.onTap,
248
- });
249
-
250
- @override
251
- Widget build(BuildContext context) {
252
- final theme = Theme.of(context);
253
- final l10n = AppLocalizations.of(context);
254
-
255
- return Container(
256
- // Use theme colors and constants
257
- decoration: BoxDecoration(
258
- color: theme.colorScheme.surface,
259
- borderRadius: BorderRadius.circular(AppConstants.defaultRadius),
260
- ),
261
- child: // Widget content
262
- );
263
- }
264
- }
265
- ```
266
-
267
- ### Theme Usage
268
- ```dart
269
- // โœ… Use theme colors
270
- color: theme.colorScheme.primary
271
- color: AppColors.primary // For custom brand colors
272
-
273
- // โœ… Use app constants
274
- padding: EdgeInsets.all(AppConstants.defaultPadding)
275
- borderRadius: BorderRadius.circular(AppConstants.defaultRadius)
276
- ```
277
-
278
- ## Code Style & Documentation
279
-
280
- ### Import Organization
281
- ```dart
282
- // 1. Flutter/Dart imports
283
- import 'dart:async';
284
- import 'package:flutter/material.dart';
285
- // 2. Package imports (alphabetical)
286
- import 'package:dartz/dartz.dart';
287
- import 'package:equatable/equatable.dart';
288
- import 'package:flutter_bloc/flutter_bloc.dart';
289
-
290
- // 3. Local imports (grouped by layer)
291
- import 'package:projectpilot/core/constants/app_colors.dart';
292
- import 'package:projectpilot/core/services/logger/app_logger.dart';
293
- import 'package:projectpilot/domain/entities/feature_entity.dart';
294
- import 'package:projectpilot/presentation/ui/widgets/custom_widget.dart';
295
- ```
296
-
297
- ### Documentation Requirements
298
- ```dart
299
- /// Service responsible for managing feature operations
300
- ///
301
- /// Provides CRUD operations for features with automatic caching,
302
- /// error handling, and offline support.
303
- ///
304
- /// Example usage:
305
- /// ```dart
306
- /// final service = sl<FeatureService>();
307
- /// final result = await service.createFeature(data);
308
- /// ```
309
- class FeatureService {
310
- /// Creates a new feature with validation and persistence
311
- ///
312
- /// [data] The feature data to create
313
- /// Returns [Either] with failure or created feature
314
- Future<Either<Failure, FeatureEntity>> createFeature(FeatureData data) async {
315
- // Implementation
316
- }
317
- }
318
- ```
319
-
320
- ### Naming Conventions
321
- - **Classes**: `PascalCase` (e.g., `FeatureService`, `ProjectEntity`)
322
- - **Files**: `snake_case` (e.g., `feature_service.dart`, `project_entity.dart`)
323
- - **Variables/Methods**: `camelCase` (e.g., `loadFeatures`, `isLoading`)
324
- - **Constants**: `SCREAMING_SNAKE_CASE` (e.g., `DEFAULT_TIMEOUT`)
325
- - **Private members**: Prefix with `_` (e.g., `_initializeService`)
326
-
327
- ## Development Workflow & Validation
328
-
329
- ### Pre-Implementation Checklist
330
-
331
- #### Planning Phase
332
- - [ ] **Analyze existing code** for similar patterns
333
- - [ ] **Check core services** for reusable functionality
334
- - [ ] **Verify multi-language** requirements
335
- - [ ] **Design state management** structure
336
- - [ ] **Plan repository interfaces** and implementations
337
-
338
- #### Implementation Phase
339
- - [ ] **Follow Clean Architecture** layers
340
- - [ ] **Use BaseCubitMixin** for all Cubits
341
- - [ ] **Implement proper error handling** with typed failures
342
- - [ ] **Add comprehensive logging** with AppLogger
343
- - [ ] **Use existing services** and utilities
344
- - [ ] **Register new services** in ServiceLocator
345
-
346
- #### Quality Assurance Phase
347
- - [ ] **๐Ÿงน DRY Principle**: No code duplication
348
- - [ ] **๐Ÿ“– Readability**: Small, focused methods with clear names
349
- - [ ] **๐Ÿ”ง Maintainability**: Logical grouping and proper separation
350
- - [ ] **โšก Performance**: Efficient operations and minimal redundancy
351
- - [ ] **๐Ÿงช Testability**: Small, testable method units
352
-
353
- ### Implementation Validation Checklist
354
-
355
- ```markdown
356
- ## Feature Implementation Review
357
-
358
- ### Architecture Compliance
359
- - [ ] Follows Clean Architecture layers
360
- - [ ] Proper dependency injection setup
361
- - [ ] Repository pattern implemented correctly
362
- - [ ] Entity design follows domain rules
363
-
364
- ### State Management
365
- - [ ] BaseCubitMixin used and implemented properly
366
- - [ ] State classes extend Equatable
367
- - [ ] Error handling integrated
368
- - [ ] Loading states managed correctly
369
-
370
- ### Code Quality
371
- - [ ] No code duplication (DRY)
372
- - [ ] Methods are small and focused
373
- - [ ] Proper error handling throughout
374
- - [ ] Comprehensive logging added
375
- - [ ] Performance considerations addressed
376
-
377
- ### Multi-language Support
378
- - [ ] All UI text uses AppLocalizations
379
- - [ ] Keys added to all language files
380
- - [ ] Semantic key naming used
381
-
382
- ### Service Integration
383
- - [ ] Existing services reused where possible
384
- - [ ] New services registered in ServiceLocator
385
- - [ ] Dependencies properly injected
386
-
387
- ### Testing & Documentation
388
- - [ ] Unit tests written for business logic
389
- - [ ] Widget tests for UI components
390
- - [ ] Code documented with examples
391
- - [ ] Public API documented
392
- ```
393
-
394
- ## Anti-Patterns to Avoid
395
-
396
- ### โŒ What NOT to do
397
-
398
- ```dart
399
- // โŒ Don't access service locator directly in widgets
400
- Widget build(BuildContext context) {
401
- final service = sl<FeatureService>(); // WRONG
402
- }
403
-
404
- // โŒ Don't hardcode text
405
- Text('Welcome User'); // WRONG
406
-
407
- // โŒ Don't create cubits without BaseCubitMixin
408
- class BadCubit extends Cubit<State> { // WRONG
409
- // Missing BaseCubitMixin
410
- }
411
-
412
- // โŒ Don't create services without registration
413
- class NewService { // WRONG - Not registered in ServiceLocator
414
- }
415
-
416
- // โŒ Don't bypass repository pattern
417
- class Cubit {
418
- void loadData() {
419
- apiClient.getData(); // WRONG - Direct API access
420
- }
421
- }
422
-
423
- // โŒ Don't ignore error handling
424
- Future<void> operation() async {
425
- final result = await repository.getData(); // WRONG - No error handling
426
- }
427
- ```
428
-
429
- ### โœ… Correct Patterns
430
-
431
- ```dart
432
- // โœ… Use dependency injection
433
- class FeatureWidget extends StatelessWidget {
434
- const FeatureWidget({super.key});
435
-
436
- @override
437
- Widget build(BuildContext context) {
438
- return BlocBuilder<FeatureCubit, FeatureState>( // CORRECT
439
- builder: (context, state) => // Build UI
440
- );
441
- }
442
- }
443
-
444
- // โœ… Use localization
445
- Text(AppLocalizations.of(context).welcomeMessage) // CORRECT
446
-
447
- // โœ… Use BaseCubitMixin
448
- class FeatureCubit extends Cubit<FeatureState> with BaseCubitMixin<FeatureState> // CORRECT
449
-
450
- // โœ… Register services
451
- _registerLazySingleton<FeatureService>(() => FeatureService()) // CORRECT
452
-
453
- // โœ… Use repository pattern
454
- await executeRepositoryOperation<Data>( // CORRECT
455
- operation: () => repository.getData(),
456
- onSuccess: (data) => handleSuccess(data),
457
- // ...
458
- );
459
- ```
460
-
461
- ## Success Criteria
462
-
463
- A feature is considered **complete and correct** when:
464
-
465
- 1. **Architecture**: Follows Clean Architecture with proper layer separation
466
- 2. **State Management**: Uses BaseCubitMixin with proper error/loading states
467
- 3. **Localization**: All text supports multi-language
468
- 4. **Services**: Reuses existing services or properly registers new ones
469
- 5. **Quality**: Passes all 5 quality criteria (DRY, Readable, Maintainable, Performant, Testable)
470
- 6. **Documentation**: Code is properly documented with examples
471
- 7. **Testing**: Unit and widget tests are implemented
472
- 8. **Consistency**: Code style matches existing patterns
473
-
474
- ## Support & Questions
475
-
476
- When implementing new features:
477
-
478
- 1. **First**: Check existing code for similar patterns
479
- 2. **Second**: Review these coding rules
480
- 3. **Third**: Ensure all validation criteria are met
481
- 4. **Finally**: Implement with confidence following established patterns
482
-
483
- > **Remember**: Consistency is key. When in doubt, follow existing patterns in the codebase.