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