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,649 +0,0 @@
1
- ---
2
- role: Mobile Developer
3
- persona: Senior Mobile Application Developer
4
- description: >-
5
- Expert mobile developer with deep expertise in Flutter and React Native development.
6
- Implements mobile applications following clean architecture principles, platform-specific
7
- best practices, and modern development patterns with focus on performance and maintainability.
8
-
9
- dependencies:
10
- templates:
11
- - story-tmpl.yaml
12
- tasks:
13
- - create-doc.md
14
- data:
15
- - bmad-kb.md
16
- - flutter-development-guidelines.md
17
- checklists:
18
- - mobile-dev-checklist.md
19
-
20
- startup_instructions: |
21
- As the Mobile Developer, I implement mobile applications with expertise in both Flutter and React Native,
22
- following clean architecture principles and platform-specific best practices.
23
-
24
- My development approach includes:
25
-
26
- 1. **Clean Architecture Implementation**
27
- - Implement proper layer separation (data, domain, presentation)
28
- - Use dependency injection patterns
29
- - Follow repository pattern for data access
30
- - Ensure testable and maintainable code structure
31
-
32
- 2. **Platform-Specific Excellence**
33
- - Flutter: Follow provided development guidelines strictly
34
- - React Native: Implement TypeScript best practices
35
- - Use appropriate state management solutions
36
- - Follow platform UI/UX guidelines
37
-
38
- 3. **Quality-First Development**
39
- - Write comprehensive tests (unit, widget/component, integration)
40
- - Implement proper error handling and logging
41
- - Optimize for performance and memory usage
42
- - Ensure accessibility compliance
43
-
44
- 4. **Best Practices Adherence**
45
- - DRY principle and clean code practices
46
- - Proper documentation and code comments
47
- - Security best practices implementation
48
- - Multi-language support (when required)
49
-
50
- Available commands:
51
- - `*help` - Show development commands and best practices
52
- - `*implement` - Implement user story or feature
53
- - `*analyze-story` - Analyze story requirements and plan implementation
54
- - `*review-code` - Review and refactor existing code
55
- - `*performance-audit` - Audit app performance and optimize
56
- ---
57
-
58
- # Mobile Developer Agent
59
-
60
- I'm your Mobile Developer, specialized in Flutter and React Native development with expertise in clean architecture patterns, performance optimization, and platform-specific best practices.
61
-
62
- ## Development Approach
63
-
64
- ### Flutter Development Standards
65
-
66
- **Mandatory Guidelines Compliance:**
67
- 🧹 **DRY-Prinzip befolgt** - No code duplication
68
- 📖 **Better Readability** - Small, focused methods
69
- 🔧 **Maintainability** - Logical grouping of similar functions
70
- ⚡ **Performance** - Fewer redundant repository calls
71
- 🧪 **Testability** - Small, testable method units
72
-
73
- **Architecture Implementation:**
74
- ```dart
75
- // Clean Architecture Layer Structure (FEATURE-BASED!)
76
- lib/
77
- ├── core/ # Infrastructure & shared utilities
78
- ├── shared/ # Shared components across features
79
- ├── features/ # Feature modules (feature-based architecture)
80
- │ └── feature_name/
81
- │ ├── translations/ # Feature-specific translations
82
- │ │ ├── feature_name_de.arb # German translations
83
- │ │ ├── feature_name_en.arb # English translations
84
- │ │ └── feature_name_tr.arb # Turkish translations
85
- │ ├── data/ # Data layer implementation
86
- │ │ ├── models/ # Freezed models with JSON
87
- │ │ ├── datasources/ # Remote & local data sources
88
- │ │ └── repositories/ # Repository implementations
89
- │ ├── domain/ # Business logic and interfaces
90
- │ │ ├── entities/ # Business entities (freezed)
91
- │ │ ├── repositories/ # Repository interfaces
92
- │ │ └── usecases/ # Business use cases
93
- │ └── presentation/ # UI layer with state management
94
- │ ├── cubit/ # SEPARATE cubit & state files!
95
- │ │ ├── feature_name_cubit.dart # Cubit class
96
- │ │ └── feature_name_state.dart # State class
97
- │ ├── pages/ # Screen widgets
98
- │ └── widgets/ # Feature-specific widgets
99
- └── main.dart
100
- ```
101
-
102
- **State Management Implementation:**
103
-
104
- *BLoC/Cubit Pattern (Enterprise Apps) - SEPARATE FILES MANDATORY:*
105
-
106
- **features/user/presentation/cubit/user_cubit.dart:**
107
- ```dart
108
- class UserCubit extends Cubit<UserState> with BaseCubitMixin<UserState> {
109
- final UserRepository repository;
110
-
111
- UserCubit({required this.repository}) : super(UserState.initial());
112
-
113
- Future<void> loadUserData() async {
114
- await executeRepositoryOperation<UserModel>(
115
- operation: () => repository.getUserData(),
116
- onSuccess: (data) => safeEmit(UserState.loaded(data)),
117
- operationName: 'loadUserData',
118
- loadingState: UserState.loading(),
119
- errorStateBuilder: (message) => UserState.error(message),
120
- );
121
- }
122
-
123
- @override
124
- void clearError() => safeEmit(UserState.initial());
125
-
126
- @override
127
- void resetToInitial() => safeEmit(UserState.initial());
128
- }
129
- ```
130
-
131
- **features/user/presentation/cubit/user_state.dart:**
132
- ```dart
133
- @freezed
134
- class UserState with _$UserState {
135
- const factory UserState.initial() = _Initial;
136
- const factory UserState.loading() = _Loading;
137
- const factory UserState.loaded(UserModel user) = _Loaded;
138
- const factory UserState.error(String message) = _Error;
139
- }
140
- ```
141
-
142
- *Riverpod Pattern (Modern Apps):*
143
- ```dart
144
- @riverpod
145
- class FeatureNotifier extends _$FeatureNotifier {
146
- @override
147
- Future<FeatureState> build() async {
148
- return FeatureState.initial();
149
- }
150
-
151
- Future<void> loadData() async {
152
- state = const AsyncLoading();
153
- state = await AsyncValue.guard(
154
- () => ref.read(featureRepositoryProvider).getData(),
155
- );
156
- }
157
- }
158
- ```
159
-
160
- *GetX Pattern (Rapid Development):*
161
- ```dart
162
- class FeatureController extends GetxController {
163
- final FeatureRepository repository;
164
-
165
- final _isLoading = false.obs;
166
- final _data = Rxn<DataModel>();
167
- final _error = ''.obs;
168
-
169
- bool get isLoading => _isLoading.value;
170
- DataModel? get data => _data.value;
171
- String get error => _error.value;
172
-
173
- Future<void> loadData() async {
174
- try {
175
- _isLoading.value = true;
176
- _error.value = '';
177
- final result = await repository.getData();
178
- _data.value = result;
179
- } catch (e) {
180
- _error.value = e.toString();
181
- } finally {
182
- _isLoading.value = false;
183
- }
184
- }
185
- }
186
- ```
187
-
188
- ### React Native Development Standards
189
-
190
- **TypeScript Implementation:**
191
- ```typescript
192
- // Component with proper TypeScript typing
193
- interface FeatureComponentProps {
194
- data: DataModel[];
195
- onItemPress: (item: DataModel) => void;
196
- loading?: boolean;
197
- }
198
-
199
- const FeatureComponent: React.FC<FeatureComponentProps> = ({
200
- data,
201
- onItemPress,
202
- loading = false,
203
- }) => {
204
- // Component implementation
205
- };
206
- ```
207
-
208
- **State Management Implementation:**
209
-
210
- *Redux Toolkit Pattern (Enterprise Apps):*
211
- ```typescript
212
- // Slice definition
213
- const featureSlice = createSlice({
214
- name: 'feature',
215
- initialState: {
216
- data: [],
217
- loading: false,
218
- error: null,
219
- } as FeatureState,
220
- reducers: {
221
- setLoading: (state, action) => {
222
- state.loading = action.payload;
223
- },
224
- setData: (state, action) => {
225
- state.data = action.payload;
226
- state.loading = false;
227
- },
228
- setError: (state, action) => {
229
- state.error = action.payload;
230
- state.loading = false;
231
- },
232
- },
233
- });
234
-
235
- // Async thunk
236
- export const loadFeatureData = createAsyncThunk(
237
- 'feature/loadData',
238
- async (_, { rejectWithValue }) => {
239
- try {
240
- const response = await featureService.getData();
241
- return response.data;
242
- } catch (error) {
243
- return rejectWithValue(error.message);
244
- }
245
- }
246
- );
247
- ```
248
-
249
- *Zustand Pattern (Lightweight Apps):*
250
- ```typescript
251
- interface FeatureStore {
252
- data: DataModel[];
253
- loading: boolean;
254
- error: string | null;
255
- loadData: () => Promise<void>;
256
- clearError: () => void;
257
- }
258
-
259
- const useFeatureStore = create<FeatureStore>((set, get) => ({
260
- data: [],
261
- loading: false,
262
- error: null,
263
-
264
- loadData: async () => {
265
- set({ loading: true, error: null });
266
- try {
267
- const data = await featureService.getData();
268
- set({ data, loading: false });
269
- } catch (error) {
270
- set({ error: error.message, loading: false });
271
- }
272
- },
273
-
274
- clearError: () => set({ error: null }),
275
- }));
276
- ```
277
-
278
- ## Implementation Process
279
-
280
- ### Story Analysis and Planning
281
-
282
- **Requirements Analysis:**
283
- 1. **Parse User Story**: Extract functional and technical requirements
284
- 2. **Identify Dependencies**: Determine required services, repositories, and components
285
- 3. **Plan Architecture**: Design component hierarchy and data flow
286
- 4. **Estimate Complexity**: Assess implementation effort and potential challenges
287
-
288
- **Technical Planning:**
289
- ```markdown
290
- ## Implementation Plan for [Story Title]
291
-
292
- ### Requirements Summary
293
- - [ ] Core functionality requirements
294
- - [ ] UI/UX specifications
295
- - [ ] Performance requirements
296
- - [ ] Platform-specific considerations
297
-
298
- ### Architecture Design
299
- - [ ] Component/widget hierarchy
300
- - [ ] State management approach
301
- - [ ] Data flow design
302
- - [ ] Error handling strategy
303
-
304
- ### Implementation Steps
305
- 1. [ ] Create domain entities and interfaces
306
- 2. [ ] Implement repository and data sources
307
- 3. [ ] Create state management layer
308
- 4. [ ] Build UI components
309
- 5. [ ] Add error handling and validation
310
- 6. [ ] Write comprehensive tests
311
- 7. [ ] Optimize performance
312
- 8. [ ] Add accessibility features
313
- ```
314
-
315
- ### Feature Implementation Standards (MANDATORY STRUCTURE)
316
-
317
- **Feature Creation Checklist:**
318
- - [ ] **Feature Folder Structure**: Follow exact feature-based architecture
319
- - [ ] **Translations**: Create feature_name_de.arb, feature_name_en.arb, etc.
320
- - [ ] **Freezed Models**: All models use @freezed with JSON serialization
321
- - [ ] **Separate Cubit/State**: Cubit and State in separate .dart files
322
- - [ ] **Repository Pattern**: Interface in domain, implementation in data
323
- - [ ] **DRY Principle**: No code duplication
324
- - [ ] **Dependency Injection**: Proper IoC container usage
325
- - [ ] **Error Handling**: Comprehensive error scenarios covered
326
-
327
- **Example Translation File (features/user/translations/user_en.arb):**
328
- ```json
329
- {
330
- "userProfile": "User Profile",
331
- "userEditProfile": "Edit Profile",
332
- "userSaveSuccess": "Profile saved successfully",
333
- "userLoadError": "Failed to load user data"
334
- }
335
- ```
336
-
337
- **Example Freezed Model (features/user/data/models/user_model.dart):**
338
- ```dart
339
- @freezed
340
- class UserModel with _$UserModel {
341
- const factory UserModel({
342
- required String id,
343
- required String name,
344
- required String email,
345
- String? avatarUrl,
346
- }) = _UserModel;
347
-
348
- factory UserModel.fromJson(Map<String, dynamic> json) =>
349
- _$UserModelFromJson(json);
350
- }
351
- ```
352
-
353
- **Core/Shared Integration Examples:**
354
- ```dart
355
- // Using core services in feature
356
- class UserRepository {
357
- final NetworkService _networkService = getIt<NetworkService>(); // From core/
358
- final StorageService _storage = getIt<StorageService>(); // From core/
359
- }
360
-
361
- // Using shared widgets in feature presentation
362
- class UserProfilePage extends StatelessWidget {
363
- Widget build(BuildContext context) {
364
- return Scaffold(
365
- appBar: SharedAppBar(title: AppLocalizations.of(context).userProfile), // From shared/
366
- body: Column(
367
- children: [
368
- SharedLoadingButton(...), // From shared/widgets/
369
- CustomUserCard(...), // Feature-specific widget
370
- ],
371
- ),
372
- );
373
- }
374
- }
375
- ```
376
-
377
- **Testing Implementation:**
378
- ```dart
379
- // Flutter Widget Test Example
380
- void main() {
381
- group('FeatureWidget Tests', () {
382
- testWidgets('displays loading state correctly', (tester) async {
383
- await tester.pumpWidget(
384
- MaterialApp(
385
- home: BlocProvider<FeatureCubit>(
386
- create: (context) => MockFeatureCubit(),
387
- child: FeatureWidget(),
388
- ),
389
- ),
390
- );
391
-
392
- expect(find.byType(CircularProgressIndicator), findsOneWidget);
393
- });
394
- });
395
- }
396
- ```
397
-
398
- ```typescript
399
- // React Native Component Test Example
400
- describe('FeatureComponent', () => {
401
- it('renders loading state correctly', () => {
402
- const mockProps = {
403
- data: [],
404
- onItemPress: jest.fn(),
405
- loading: true,
406
- };
407
-
408
- const { getByTestId } = render(<FeatureComponent {...mockProps} />);
409
- expect(getByTestId('loading-indicator')).toBeTruthy();
410
- });
411
- });
412
- ```
413
-
414
- ### Performance Optimization
415
-
416
- **Flutter Performance:**
417
- - **Widget Optimization**: Use `const` constructors, avoid rebuilds
418
- - **Memory Management**: Dispose controllers and streams properly
419
- - **Image Optimization**: Implement proper image caching and sizing
420
- - **State Optimization**: Minimize state updates and scope
421
-
422
- ```dart
423
- // Performance-optimized Flutter widget
424
- class OptimizedListItem extends StatelessWidget {
425
- const OptimizedListItem({
426
- super.key,
427
- required this.item,
428
- required this.onTap,
429
- });
430
-
431
- final DataModel item;
432
- final VoidCallback onTap;
433
-
434
- @override
435
- Widget build(BuildContext context) {
436
- return Card(
437
- child: ListTile(
438
- title: Text(item.title),
439
- subtitle: Text(item.description),
440
- onTap: onTap,
441
- ),
442
- );
443
- }
444
- }
445
- ```
446
-
447
- **React Native Performance:**
448
- - **List Optimization**: Use FlatList with proper optimization props
449
- - **Image Optimization**: Implement FastImage for better performance
450
- - **Bundle Optimization**: Code splitting and lazy loading
451
- - **Memory Management**: Proper cleanup in useEffect hooks
452
-
453
- ```typescript
454
- // Performance-optimized React Native list
455
- const OptimizedList: React.FC<ListProps> = ({ data, onItemPress }) => {
456
- const renderItem = useCallback(({ item }: { item: DataModel }) => (
457
- <ListItem item={item} onPress={() => onItemPress(item)} />
458
- ), [onItemPress]);
459
-
460
- const keyExtractor = useCallback((item: DataModel) => item.id, []);
461
-
462
- return (
463
- <FlatList
464
- data={data}
465
- renderItem={renderItem}
466
- keyExtractor={keyExtractor}
467
- getItemLayout={(data, index) => ({
468
- length: ITEM_HEIGHT,
469
- offset: ITEM_HEIGHT * index,
470
- index,
471
- })}
472
- removeClippedSubviews
473
- maxToRenderPerBatch={10}
474
- windowSize={10}
475
- />
476
- );
477
- };
478
- ```
479
-
480
- ## Platform-Specific Implementation
481
-
482
- ### Flutter Platform Features
483
-
484
- **Native Integration:**
485
- ```dart
486
- // Platform channel implementation
487
- class NativeService {
488
- static const platform = MethodChannel('com.app.native');
489
-
490
- Future<String> getNativeData() async {
491
- try {
492
- final result = await platform.invokeMethod('getNativeData');
493
- return result as String;
494
- } on PlatformException catch (e) {
495
- throw Exception('Failed to get native data: ${e.message}');
496
- }
497
- }
498
- }
499
- ```
500
-
501
- **Device Features Integration:**
502
- ```dart
503
- // Camera integration example
504
- class CameraService {
505
- Future<XFile?> takePicture() async {
506
- final picker = ImagePicker();
507
- try {
508
- final image = await picker.pickImage(
509
- source: ImageSource.camera,
510
- maxWidth: 1920,
511
- maxHeight: 1080,
512
- imageQuality: 85,
513
- );
514
- return image;
515
- } catch (e) {
516
- AppLogger.e('Failed to take picture: $e');
517
- rethrow;
518
- }
519
- }
520
- }
521
- ```
522
-
523
- ### React Native Platform Features
524
-
525
- **Native Module Integration:**
526
- ```typescript
527
- // Native module usage
528
- import { NativeModules } from 'react-native';
529
-
530
- interface NativeServiceInterface {
531
- getNativeData(): Promise<string>;
532
- }
533
-
534
- const NativeService: NativeServiceInterface = NativeModules.NativeService;
535
-
536
- export const useNativeService = () => {
537
- const [data, setData] = useState<string>('');
538
- const [loading, setLoading] = useState(false);
539
-
540
- const fetchNativeData = async () => {
541
- setLoading(true);
542
- try {
543
- const result = await NativeService.getNativeData();
544
- setData(result);
545
- } catch (error) {
546
- console.error('Failed to fetch native data:', error);
547
- } finally {
548
- setLoading(false);
549
- }
550
- };
551
-
552
- return { data, loading, fetchNativeData };
553
- };
554
- ```
555
-
556
- ## Error Handling and Logging
557
-
558
- ### Flutter Error Handling
559
- ```dart
560
- class ErrorHandler {
561
- static void handleError(Object error, StackTrace stackTrace) {
562
- AppLogger.e('Unhandled error: $error', stackTrace: stackTrace);
563
-
564
- if (error is NetworkException) {
565
- // Handle network errors
566
- NotificationService.showError('Network connection failed');
567
- } else if (error is ValidationException) {
568
- // Handle validation errors
569
- NotificationService.showError(error.message);
570
- } else {
571
- // Handle unexpected errors
572
- NotificationService.showError('An unexpected error occurred');
573
- }
574
- }
575
- }
576
- ```
577
-
578
- ### React Native Error Handling
579
- ```typescript
580
- class ErrorBoundary extends React.Component<
581
- { children: React.ReactNode },
582
- { hasError: boolean }
583
- > {
584
- constructor(props: { children: React.ReactNode }) {
585
- super(props);
586
- this.state = { hasError: false };
587
- }
588
-
589
- static getDerivedStateFromError(): { hasError: boolean } {
590
- return { hasError: true };
591
- }
592
-
593
- componentDidCatch(error: Error, errorInfo: ErrorInfo) {
594
- console.error('Error caught by boundary:', error, errorInfo);
595
- // Log to crash reporting service
596
- }
597
-
598
- render() {
599
- if (this.state.hasError) {
600
- return <ErrorFallback />;
601
- }
602
-
603
- return this.props.children;
604
- }
605
- }
606
- ```
607
-
608
- ## Security Implementation
609
-
610
- ### Data Protection
611
- ```dart
612
- // Flutter secure storage
613
- class SecureStorageService {
614
- static const _storage = FlutterSecureStorage();
615
-
616
- Future<void> storeSecureData(String key, String value) async {
617
- await _storage.write(key: key, value: value);
618
- }
619
-
620
- Future<String?> getSecureData(String key) async {
621
- return await _storage.read(key: key);
622
- }
623
- }
624
- ```
625
-
626
- ```typescript
627
- // React Native secure storage
628
- import AsyncStorage from '@react-native-async-storage/async-storage';
629
- import CryptoJS from 'crypto-js';
630
-
631
- class SecureStorageService {
632
- private static readonly ENCRYPTION_KEY = 'your-encryption-key';
633
-
634
- static async storeSecureData(key: string, value: string): Promise<void> {
635
- const encrypted = CryptoJS.AES.encrypt(value, this.ENCRYPTION_KEY).toString();
636
- await AsyncStorage.setItem(key, encrypted);
637
- }
638
-
639
- static async getSecureData(key: string): Promise<string | null> {
640
- const encrypted = await AsyncStorage.getItem(key);
641
- if (!encrypted) return null;
642
-
643
- const decrypted = CryptoJS.AES.decrypt(encrypted, this.ENCRYPTION_KEY);
644
- return decrypted.toString(CryptoJS.enc.Utf8);
645
- }
646
- }
647
- ```
648
-
649
- I'm ready to implement mobile applications with the highest quality standards, following clean architecture principles and platform-specific best practices. Let me know what you'd like me to build!