appiq-solution 1.4.8 → 1.5.0

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 (738) hide show
  1. package/README.md +172 -48
  2. package/bmad-core/agent-teams/team-fullstack.yaml +1 -11
  3. package/bmad-core/agents/analyst.md +3 -7
  4. package/bmad-core/agents/architect.md +0 -6
  5. package/bmad-core/agents/dev.md +5 -24
  6. package/bmad-core/agents/pm.md +3 -7
  7. package/bmad-core/agents/qa.md +0 -17
  8. package/bmad-core/agents/sm.md +3 -8
  9. package/bmad-core/agents/ux-expert.md +3 -8
  10. package/bmad-core/data/technical-preferences.md +1 -147
  11. package/bmad-core/templates/fullstack-architecture-tmpl.yaml +5 -12
  12. package/bmad-core/workflows/brownfield-fullstack.yaml +1 -15
  13. package/bmad-core/workflows/greenfield-fullstack.yaml +5 -49
  14. package/bmad-core/working-in-the-brownfield.md +10 -19
  15. package/dist/agents/bmad-orchestrator.txt +0 -111
  16. package/dist/agents/pm.txt +2 -0
  17. package/dist/expansion-packs/bmad-2d-phaser-game-dev/teams/phaser-2d-nodejs-game-team.txt +0 -111
  18. package/dist/expansion-packs/bmad-2d-unity-game-dev/teams/unity-2d-game-team.txt +0 -111
  19. package/dist/teams/team-all.txt +2 -111
  20. package/dist/teams/team-fullstack.txt +2 -111
  21. package/dist/teams/team-ide-minimal.txt +0 -111
  22. package/dist/teams/team-no-ui.txt +2 -111
  23. package/{#Tools/APPIQ-METHOD/expansion-packs/bmad-flutter-mobile-dev → expansion-packs/appiq-flutter-mobile-dev}/config.yaml +1 -0
  24. package/package.json +60 -18
  25. package/tools/cli.js +3 -3
  26. package/tools/installer/lib/ide-setup.js +11 -0
  27. package/tools/installer/package-lock.json +2 -2
  28. package/#NEW APP PROMPT/ARCHITECTURE.md +0 -279
  29. package/#NEW APP PROMPT/ARCHITECTURE_UNIFIED.md +0 -414
  30. package/#NEW APP PROMPT/accesibility_prompt.md +0 -103
  31. package/#NEW APP PROMPT/clean-code.mdc +0 -55
  32. package/#NEW APP PROMPT/codequality.mdc +0 -47
  33. package/#NEW APP PROMPT/flutter-ai-rules/LICENSE +0 -21
  34. package/#NEW APP PROMPT/flutter-ai-rules/README.md +0 -104
  35. package/#NEW APP PROMPT/flutter-ai-rules/combined/README.md +0 -25
  36. package/#NEW APP PROMPT/flutter-ai-rules/combined/flutter_dart.md +0 -192
  37. package/#NEW APP PROMPT/flutter-ai-rules/combined/flutter_dart__under_6K.md +0 -99
  38. package/#NEW APP PROMPT/flutter-ai-rules/combined/flutter_dart_bloc_mocktail.md +0 -308
  39. package/#NEW APP PROMPT/flutter-ai-rules/combined/flutter_dart_bloc_mocktail__under_6K.md +0 -87
  40. package/#NEW APP PROMPT/flutter-ai-rules/combined/flutter_dart_change_notifier.md +0 -254
  41. package/#NEW APP PROMPT/flutter-ai-rules/combined/flutter_dart_change_notifier__under_6K.md +0 -98
  42. package/#NEW APP PROMPT/flutter-ai-rules/combined/flutter_dart_provider.md +0 -261
  43. package/#NEW APP PROMPT/flutter-ai-rules/combined/flutter_dart_provider__under_6K.md +0 -105
  44. package/#NEW APP PROMPT/flutter-ai-rules/combined/flutter_dart_riverpod_mockito.md +0 -371
  45. package/#NEW APP PROMPT/flutter-ai-rules/combined/flutter_dart_riverpod_mockito__under_6K.md +0 -92
  46. package/#NEW APP PROMPT/flutter-ai-rules/combined/flutter_with_bloc.md +0 -287
  47. package/#NEW APP PROMPT/flutter-ai-rules/combined/flutter_with_bloc__under_6K.md +0 -68
  48. package/#NEW APP PROMPT/flutter-ai-rules/combined/flutter_with_riverpod.md +0 -375
  49. package/#NEW APP PROMPT/flutter-ai-rules/combined/flutter_with_riverpod__under_6K.md +0 -106
  50. package/#NEW APP PROMPT/flutter-ai-rules/media/flutter_ai_rules.png +0 -0
  51. package/#NEW APP PROMPT/flutter-ai-rules/media/mocktail_md_01.png +0 -0
  52. package/#NEW APP PROMPT/flutter-ai-rules/media/mocktail_md_02.png +0 -0
  53. package/#NEW APP PROMPT/flutter-ai-rules/rules/bloc.md +0 -94
  54. package/#NEW APP PROMPT/flutter-ai-rules/rules/dart_3_updates.md +0 -93
  55. package/#NEW APP PROMPT/flutter-ai-rules/rules/effective_dart.md +0 -105
  56. package/#NEW APP PROMPT/flutter-ai-rules/rules/flutter_app_architecture.md +0 -57
  57. package/#NEW APP PROMPT/flutter-ai-rules/rules/flutter_change_notifier.md +0 -62
  58. package/#NEW APP PROMPT/flutter-ai-rules/rules/flutter_errors.md +0 -11
  59. package/#NEW APP PROMPT/flutter-ai-rules/rules/mockito.md +0 -31
  60. package/#NEW APP PROMPT/flutter-ai-rules/rules/mocktail.md +0 -24
  61. package/#NEW APP PROMPT/flutter-ai-rules/rules/provider.md +0 -69
  62. package/#NEW APP PROMPT/flutter-ai-rules/rules/riverpod.md +0 -188
  63. package/#NEW APP PROMPT/generate ssh.md +0 -4
  64. package/#NEW APP PROMPT/project_ai_prompt.md +0 -544
  65. package/#Tools/APPIQ-METHOD/.bmad-config.json +0 -13
  66. package/#Tools/APPIQ-METHOD/.cursor/commands/analyze.md +0 -27
  67. package/#Tools/APPIQ-METHOD/.cursor/commands/appiq.md +0 -27
  68. package/#Tools/APPIQ-METHOD/.cursor/commands/help.md +0 -27
  69. package/#Tools/APPIQ-METHOD/.cursor/commands/story.md +0 -27
  70. package/#Tools/APPIQ-METHOD/DEVELOPMENT_GUIDE.md +0 -855
  71. package/#Tools/APPIQ-METHOD/NPM-README.md +0 -138
  72. package/#Tools/APPIQ-METHOD/README.md +0 -107
  73. package/#Tools/APPIQ-METHOD/SMART_WORKFLOW_GUIDE.md +0 -401
  74. package/#Tools/APPIQ-METHOD/activate-appiq.js +0 -81
  75. package/#Tools/APPIQ-METHOD/appiq-solution/README.md +0 -226
  76. package/#Tools/APPIQ-METHOD/bmad-core/agent-teams/team-all.yaml +0 -14
  77. package/#Tools/APPIQ-METHOD/bmad-core/agent-teams/team-flutter-mobile.yaml +0 -114
  78. package/#Tools/APPIQ-METHOD/bmad-core/agent-teams/team-fullstack.yaml +0 -28
  79. package/#Tools/APPIQ-METHOD/bmad-core/agent-teams/team-ide-minimal.yaml +0 -10
  80. package/#Tools/APPIQ-METHOD/bmad-core/agent-teams/team-no-ui.yaml +0 -13
  81. package/#Tools/APPIQ-METHOD/bmad-core/agents/analyst.md +0 -85
  82. package/#Tools/APPIQ-METHOD/bmad-core/agents/architect.md +0 -90
  83. package/#Tools/APPIQ-METHOD/bmad-core/agents/bmad-master.md +0 -108
  84. package/#Tools/APPIQ-METHOD/bmad-core/agents/bmad-orchestrator.md +0 -150
  85. package/#Tools/APPIQ-METHOD/bmad-core/agents/bmad-smart-launcher.md +0 -170
  86. package/#Tools/APPIQ-METHOD/bmad-core/agents/dev.md +0 -95
  87. package/#Tools/APPIQ-METHOD/bmad-core/agents/init-flow-po.md +0 -143
  88. package/#Tools/APPIQ-METHOD/bmad-core/agents/pm.md +0 -85
  89. package/#Tools/APPIQ-METHOD/bmad-core/agents/po.md +0 -76
  90. package/#Tools/APPIQ-METHOD/bmad-core/agents/qa.md +0 -86
  91. package/#Tools/APPIQ-METHOD/bmad-core/agents/sm.md +0 -67
  92. package/#Tools/APPIQ-METHOD/bmad-core/agents/ux-expert.md +0 -71
  93. package/#Tools/APPIQ-METHOD/bmad-core/bmad-core/user-guide.md +0 -0
  94. package/#Tools/APPIQ-METHOD/bmad-core/checklists/architect-checklist.md +0 -443
  95. package/#Tools/APPIQ-METHOD/bmad-core/checklists/change-checklist.md +0 -182
  96. package/#Tools/APPIQ-METHOD/bmad-core/checklists/pm-checklist.md +0 -375
  97. package/#Tools/APPIQ-METHOD/bmad-core/checklists/po-master-checklist.md +0 -441
  98. package/#Tools/APPIQ-METHOD/bmad-core/checklists/security-validation-checklist.md +0 -332
  99. package/#Tools/APPIQ-METHOD/bmad-core/checklists/story-dod-checklist.md +0 -101
  100. package/#Tools/APPIQ-METHOD/bmad-core/checklists/story-draft-checklist.md +0 -156
  101. package/#Tools/APPIQ-METHOD/bmad-core/core-config.yaml +0 -20
  102. package/#Tools/APPIQ-METHOD/bmad-core/core-config.yaml.bak +0 -20
  103. package/#Tools/APPIQ-METHOD/bmad-core/data/backend-services-integration.md +0 -686
  104. package/#Tools/APPIQ-METHOD/bmad-core/data/bmad-kb.md +0 -803
  105. package/#Tools/APPIQ-METHOD/bmad-core/data/brainstorming-techniques.md +0 -36
  106. package/#Tools/APPIQ-METHOD/bmad-core/data/elicitation-methods.md +0 -134
  107. package/#Tools/APPIQ-METHOD/bmad-core/data/shadcn-ui-integration.md +0 -388
  108. package/#Tools/APPIQ-METHOD/bmad-core/data/technical-preferences.md +0 -149
  109. package/#Tools/APPIQ-METHOD/bmad-core/enhanced-ide-development-workflow.md +0 -43
  110. package/#Tools/APPIQ-METHOD/bmad-core/tasks/advanced-elicitation.md +0 -117
  111. package/#Tools/APPIQ-METHOD/bmad-core/tasks/brownfield-create-epic.md +0 -160
  112. package/#Tools/APPIQ-METHOD/bmad-core/tasks/brownfield-create-story.md +0 -147
  113. package/#Tools/APPIQ-METHOD/bmad-core/tasks/correct-course.md +0 -70
  114. package/#Tools/APPIQ-METHOD/bmad-core/tasks/create-brownfield-story.md +0 -304
  115. package/#Tools/APPIQ-METHOD/bmad-core/tasks/create-deep-research-prompt.md +0 -289
  116. package/#Tools/APPIQ-METHOD/bmad-core/tasks/create-flutter-story.md +0 -197
  117. package/#Tools/APPIQ-METHOD/bmad-core/tasks/create-next-story.md +0 -112
  118. package/#Tools/APPIQ-METHOD/bmad-core/tasks/document-project.md +0 -341
  119. package/#Tools/APPIQ-METHOD/bmad-core/tasks/facilitate-brainstorming-session.md +0 -136
  120. package/#Tools/APPIQ-METHOD/bmad-core/tasks/generate-ai-frontend-prompt.md +0 -51
  121. package/#Tools/APPIQ-METHOD/bmad-core/tasks/index-docs.md +0 -179
  122. package/#Tools/APPIQ-METHOD/bmad-core/tasks/intelligent-epic-creation.md +0 -234
  123. package/#Tools/APPIQ-METHOD/bmad-core/tasks/kb-mode-interaction.md +0 -75
  124. package/#Tools/APPIQ-METHOD/bmad-core/tasks/review-story.md +0 -145
  125. package/#Tools/APPIQ-METHOD/bmad-core/tasks/shard-doc.md +0 -187
  126. package/#Tools/APPIQ-METHOD/bmad-core/tasks/smart-project-analysis.md +0 -289
  127. package/#Tools/APPIQ-METHOD/bmad-core/tasks/validate-next-story.md +0 -134
  128. package/#Tools/APPIQ-METHOD/bmad-core/templates/architecture-tmpl.yaml +0 -650
  129. package/#Tools/APPIQ-METHOD/bmad-core/templates/brainstorming-output-tmpl.yaml +0 -156
  130. package/#Tools/APPIQ-METHOD/bmad-core/templates/brownfield-architecture-tmpl.yaml +0 -476
  131. package/#Tools/APPIQ-METHOD/bmad-core/templates/brownfield-prd-tmpl.yaml +0 -280
  132. package/#Tools/APPIQ-METHOD/bmad-core/templates/competitor-analysis-tmpl.yaml +0 -293
  133. package/#Tools/APPIQ-METHOD/bmad-core/templates/flutter-mobile-prd-tmpl.yaml +0 -330
  134. package/#Tools/APPIQ-METHOD/bmad-core/templates/flutter-story-tmpl.yaml +0 -376
  135. package/#Tools/APPIQ-METHOD/bmad-core/templates/flutter-ui-spec-tmpl.yaml +0 -415
  136. package/#Tools/APPIQ-METHOD/bmad-core/templates/front-end-architecture-tmpl.yaml +0 -206
  137. package/#Tools/APPIQ-METHOD/bmad-core/templates/front-end-spec-tmpl.yaml +0 -349
  138. package/#Tools/APPIQ-METHOD/bmad-core/templates/fullstack-architecture-tmpl.yaml +0 -812
  139. package/#Tools/APPIQ-METHOD/bmad-core/templates/market-research-tmpl.yaml +0 -252
  140. package/#Tools/APPIQ-METHOD/bmad-core/templates/prd-tmpl.yaml +0 -202
  141. package/#Tools/APPIQ-METHOD/bmad-core/templates/project-brief-tmpl.yaml +0 -221
  142. package/#Tools/APPIQ-METHOD/bmad-core/templates/story-tmpl.yaml +0 -137
  143. package/#Tools/APPIQ-METHOD/bmad-core/user-guide.md +0 -251
  144. package/#Tools/APPIQ-METHOD/bmad-core/workflows/brownfield-fullstack.yaml +0 -311
  145. package/#Tools/APPIQ-METHOD/bmad-core/workflows/brownfield-service.yaml +0 -187
  146. package/#Tools/APPIQ-METHOD/bmad-core/workflows/brownfield-ui.yaml +0 -197
  147. package/#Tools/APPIQ-METHOD/bmad-core/workflows/greenfield-fullstack.yaml +0 -284
  148. package/#Tools/APPIQ-METHOD/bmad-core/workflows/greenfield-service.yaml +0 -206
  149. package/#Tools/APPIQ-METHOD/bmad-core/workflows/greenfield-ui.yaml +0 -235
  150. package/#Tools/APPIQ-METHOD/bmad-core/working-in-the-brownfield.md +0 -373
  151. package/#Tools/APPIQ-METHOD/commands/README.md +0 -28
  152. package/#Tools/APPIQ-METHOD/commands/analyze.md +0 -27
  153. package/#Tools/APPIQ-METHOD/commands/appiq.md +0 -27
  154. package/#Tools/APPIQ-METHOD/commands/help.md +0 -27
  155. package/#Tools/APPIQ-METHOD/commands/story.md +0 -27
  156. package/#Tools/APPIQ-METHOD/dist/agents/analyst.txt +0 -2882
  157. package/#Tools/APPIQ-METHOD/dist/agents/architect.txt +0 -3543
  158. package/#Tools/APPIQ-METHOD/dist/agents/bmad-master.txt +0 -8756
  159. package/#Tools/APPIQ-METHOD/dist/agents/bmad-orchestrator.txt +0 -1490
  160. package/#Tools/APPIQ-METHOD/dist/agents/dev.txt +0 -428
  161. package/#Tools/APPIQ-METHOD/dist/agents/pm.txt +0 -2229
  162. package/#Tools/APPIQ-METHOD/dist/agents/po.txt +0 -1364
  163. package/#Tools/APPIQ-METHOD/dist/agents/qa.txt +0 -386
  164. package/#Tools/APPIQ-METHOD/dist/agents/sm.txt +0 -668
  165. package/#Tools/APPIQ-METHOD/dist/agents/ux-expert.txt +0 -701
  166. package/#Tools/APPIQ-METHOD/dist/expansion-packs/bmad-2d-phaser-game-dev/agents/game-designer.txt +0 -2408
  167. package/#Tools/APPIQ-METHOD/dist/expansion-packs/bmad-2d-phaser-game-dev/agents/game-developer.txt +0 -1631
  168. package/#Tools/APPIQ-METHOD/dist/expansion-packs/bmad-2d-phaser-game-dev/agents/game-sm.txt +0 -822
  169. package/#Tools/APPIQ-METHOD/dist/expansion-packs/bmad-2d-phaser-game-dev/teams/phaser-2d-nodejs-game-team.txt +0 -10989
  170. package/#Tools/APPIQ-METHOD/dist/expansion-packs/bmad-2d-unity-game-dev/agents/game-architect.txt +0 -4047
  171. package/#Tools/APPIQ-METHOD/dist/expansion-packs/bmad-2d-unity-game-dev/agents/game-designer.txt +0 -3744
  172. package/#Tools/APPIQ-METHOD/dist/expansion-packs/bmad-2d-unity-game-dev/agents/game-developer.txt +0 -465
  173. package/#Tools/APPIQ-METHOD/dist/expansion-packs/bmad-2d-unity-game-dev/agents/game-sm.txt +0 -990
  174. package/#Tools/APPIQ-METHOD/dist/expansion-packs/bmad-2d-unity-game-dev/teams/unity-2d-game-team.txt +0 -15467
  175. package/#Tools/APPIQ-METHOD/dist/expansion-packs/bmad-infrastructure-devops/agents/infra-devops-platform.txt +0 -2077
  176. package/#Tools/APPIQ-METHOD/dist/teams/team-all.txt +0 -11062
  177. package/#Tools/APPIQ-METHOD/dist/teams/team-fullstack.txt +0 -10392
  178. package/#Tools/APPIQ-METHOD/dist/teams/team-ide-minimal.txt +0 -3507
  179. package/#Tools/APPIQ-METHOD/dist/teams/team-no-ui.txt +0 -8951
  180. package/#Tools/APPIQ-METHOD/install-appiq.sh +0 -41
  181. package/#Tools/APPIQ-METHOD/package-lock.json +0 -631
  182. package/#Tools/APPIQ-METHOD/package.json +0 -44
  183. package/#Tools/APPIQ-METHOD/tasks/todo.md +0 -275
  184. package/#Tools/APPIQ-METHOD/tools/appiq-installer.js +0 -2711
  185. package/#Tools/APPIQ-METHOD/tools/bmad-npx-wrapper.js +0 -39
  186. package/#Tools/APPIQ-METHOD/tools/builders/web-builder.js +0 -681
  187. package/#Tools/APPIQ-METHOD/tools/bump-all-versions.js +0 -106
  188. package/#Tools/APPIQ-METHOD/tools/bump-expansion-version.js +0 -83
  189. package/#Tools/APPIQ-METHOD/tools/cli.js +0 -152
  190. package/#Tools/APPIQ-METHOD/tools/epic-solution-installer.js +0 -536
  191. package/#Tools/APPIQ-METHOD/tools/flattener/main.js +0 -570
  192. package/#Tools/APPIQ-METHOD/tools/installer/README.md +0 -8
  193. package/#Tools/APPIQ-METHOD/tools/installer/bin/bmad.js +0 -483
  194. package/#Tools/APPIQ-METHOD/tools/installer/config/ide-agent-config.yaml +0 -58
  195. package/#Tools/APPIQ-METHOD/tools/installer/config/install.config.yaml +0 -92
  196. package/#Tools/APPIQ-METHOD/tools/installer/lib/config-loader.js +0 -253
  197. package/#Tools/APPIQ-METHOD/tools/installer/lib/file-manager.js +0 -411
  198. package/#Tools/APPIQ-METHOD/tools/installer/lib/ide-base-setup.js +0 -227
  199. package/#Tools/APPIQ-METHOD/tools/installer/lib/ide-setup.js +0 -1096
  200. package/#Tools/APPIQ-METHOD/tools/installer/lib/installer.js +0 -1772
  201. package/#Tools/APPIQ-METHOD/tools/installer/lib/memory-profiler.js +0 -224
  202. package/#Tools/APPIQ-METHOD/tools/installer/lib/module-manager.js +0 -110
  203. package/#Tools/APPIQ-METHOD/tools/installer/lib/resource-locator.js +0 -310
  204. package/#Tools/APPIQ-METHOD/tools/installer/package-lock.json +0 -906
  205. package/#Tools/APPIQ-METHOD/tools/installer/package.json +0 -43
  206. package/#Tools/APPIQ-METHOD/tools/lib/dependency-resolver.js +0 -179
  207. package/#Tools/APPIQ-METHOD/tools/lib/yaml-utils.js +0 -29
  208. package/#Tools/APPIQ-METHOD/tools/md-assets/web-agent-startup-instructions.md +0 -39
  209. package/#Tools/APPIQ-METHOD/tools/semantic-release-sync-installer.js +0 -30
  210. package/#Tools/APPIQ-METHOD/tools/setup-ide-commands.js +0 -348
  211. package/#Tools/APPIQ-METHOD/tools/smart-installer.js +0 -592
  212. package/#Tools/APPIQ-METHOD/tools/sync-installer-version.js +0 -34
  213. package/#Tools/APPIQ-METHOD/tools/update-expansion-version.js +0 -54
  214. package/#Tools/APPIQ-METHOD/tools/upgraders/v3-to-v4-upgrader.js +0 -763
  215. package/#Tools/APPIQ-METHOD/tools/version-bump.js +0 -79
  216. package/#Tools/APPIQ-METHOD/tools/yaml-format.js +0 -240
  217. package/#Tools/SkyReels-V2/.pre-commit-config.yaml +0 -25
  218. package/#Tools/SkyReels-V2/LICENSE.txt +0 -38
  219. package/#Tools/SkyReels-V2/README.md +0 -766
  220. package/#Tools/SkyReels-V2/generate_video.py +0 -161
  221. package/#Tools/SkyReels-V2/generate_video_df.py +0 -220
  222. package/#Tools/SkyReels-V2/requirements.txt +0 -16
  223. package/#Tools/SkyReels-V2/skycaptioner_v1/README.md +0 -278
  224. package/#Tools/SkyReels-V2/skycaptioner_v1/examples/test.csv +0 -5
  225. package/#Tools/SkyReels-V2/skycaptioner_v1/examples/test_result.csv +0 -5
  226. package/#Tools/SkyReels-V2/skycaptioner_v1/infer_fusion_caption.sh +0 -9
  227. package/#Tools/SkyReels-V2/skycaptioner_v1/infer_struct_caption.sh +0 -8
  228. package/#Tools/SkyReels-V2/skycaptioner_v1/requirements.txt +0 -3
  229. package/#Tools/SkyReels-V2/skycaptioner_v1/scripts/gradio_fusion_caption.py +0 -146
  230. package/#Tools/SkyReels-V2/skycaptioner_v1/scripts/gradio_struct_caption.py +0 -92
  231. package/#Tools/SkyReels-V2/skycaptioner_v1/scripts/utils.py +0 -19
  232. package/#Tools/SkyReels-V2/skycaptioner_v1/scripts/vllm_fusion_caption.py +0 -256
  233. package/#Tools/SkyReels-V2/skycaptioner_v1/scripts/vllm_struct_caption.py +0 -156
  234. package/#Tools/SkyReels-V2/skyreels_v2_infer/__init__.py +0 -1
  235. package/#Tools/SkyReels-V2/skyreels_v2_infer/distributed/__init__.py +0 -0
  236. package/#Tools/SkyReels-V2/skyreels_v2_infer/distributed/xdit_context_parallel.py +0 -286
  237. package/#Tools/SkyReels-V2/skyreels_v2_infer/modules/__init__.py +0 -69
  238. package/#Tools/SkyReels-V2/skyreels_v2_infer/modules/attention.py +0 -179
  239. package/#Tools/SkyReels-V2/skyreels_v2_infer/modules/clip.py +0 -525
  240. package/#Tools/SkyReels-V2/skyreels_v2_infer/modules/t5.py +0 -454
  241. package/#Tools/SkyReels-V2/skyreels_v2_infer/modules/tokenizers.py +0 -78
  242. package/#Tools/SkyReels-V2/skyreels_v2_infer/modules/transformer.py +0 -839
  243. package/#Tools/SkyReels-V2/skyreels_v2_infer/modules/vae.py +0 -639
  244. package/#Tools/SkyReels-V2/skyreels_v2_infer/modules/xlm_roberta.py +0 -165
  245. package/#Tools/SkyReels-V2/skyreels_v2_infer/pipelines/__init__.py +0 -5
  246. package/#Tools/SkyReels-V2/skyreels_v2_infer/pipelines/diffusion_forcing_pipeline.py +0 -659
  247. package/#Tools/SkyReels-V2/skyreels_v2_infer/pipelines/image2video_pipeline.py +0 -156
  248. package/#Tools/SkyReels-V2/skyreels_v2_infer/pipelines/prompt_enhancer.py +0 -65
  249. package/#Tools/SkyReels-V2/skyreels_v2_infer/pipelines/text2video_pipeline.py +0 -110
  250. package/#Tools/SkyReels-V2/skyreels_v2_infer/scheduler/__init__.py +0 -0
  251. package/#Tools/SkyReels-V2/skyreels_v2_infer/scheduler/fm_solvers_unipc.py +0 -759
  252. package/#Tools/SuperClaude/.claude/commands/analyze.md +0 -36
  253. package/#Tools/SuperClaude/.claude/commands/build.md +0 -35
  254. package/#Tools/SuperClaude/.claude/commands/cleanup.md +0 -46
  255. package/#Tools/SuperClaude/.claude/commands/deploy.md +0 -55
  256. package/#Tools/SuperClaude/.claude/commands/design.md +0 -91
  257. package/#Tools/SuperClaude/.claude/commands/dev-setup.md +0 -37
  258. package/#Tools/SuperClaude/.claude/commands/document.md +0 -99
  259. package/#Tools/SuperClaude/.claude/commands/estimate.md +0 -69
  260. package/#Tools/SuperClaude/.claude/commands/explain.md +0 -85
  261. package/#Tools/SuperClaude/.claude/commands/git.md +0 -47
  262. package/#Tools/SuperClaude/.claude/commands/improve.md +0 -162
  263. package/#Tools/SuperClaude/.claude/commands/index.md +0 -159
  264. package/#Tools/SuperClaude/.claude/commands/load.md +0 -65
  265. package/#Tools/SuperClaude/.claude/commands/migrate.md +0 -76
  266. package/#Tools/SuperClaude/.claude/commands/scan.md +0 -163
  267. package/#Tools/SuperClaude/.claude/commands/shared/ambiguity-check.yml +0 -40
  268. package/#Tools/SuperClaude/.claude/commands/shared/audit.yml +0 -21
  269. package/#Tools/SuperClaude/.claude/commands/shared/checkpoint.yml +0 -28
  270. package/#Tools/SuperClaude/.claude/commands/shared/cleanup-patterns.yml +0 -107
  271. package/#Tools/SuperClaude/.claude/commands/shared/command-memory.yml +0 -52
  272. package/#Tools/SuperClaude/.claude/commands/shared/command-templates.yml +0 -167
  273. package/#Tools/SuperClaude/.claude/commands/shared/config-validator.yml +0 -206
  274. package/#Tools/SuperClaude/.claude/commands/shared/constants.yml +0 -311
  275. package/#Tools/SuperClaude/.claude/commands/shared/documentation-dirs.yml +0 -134
  276. package/#Tools/SuperClaude/.claude/commands/shared/error-handling.yml +0 -341
  277. package/#Tools/SuperClaude/.claude/commands/shared/evidence.yml +0 -75
  278. package/#Tools/SuperClaude/.claude/commands/shared/execution-lifecycle.yml +0 -277
  279. package/#Tools/SuperClaude/.claude/commands/shared/git-operations.yml +0 -217
  280. package/#Tools/SuperClaude/.claude/commands/shared/git-workflow.yml +0 -37
  281. package/#Tools/SuperClaude/.claude/commands/shared/implementation.yml +0 -199
  282. package/#Tools/SuperClaude/.claude/commands/shared/loading-config.yml +0 -73
  283. package/#Tools/SuperClaude/.claude/commands/shared/mcp-flags.yml +0 -109
  284. package/#Tools/SuperClaude/.claude/commands/shared/migration-report.md +0 -165
  285. package/#Tools/SuperClaude/.claude/commands/shared/patterns.yml +0 -155
  286. package/#Tools/SuperClaude/.claude/commands/shared/performance.yml +0 -317
  287. package/#Tools/SuperClaude/.claude/commands/shared/planning-mode.yml +0 -51
  288. package/#Tools/SuperClaude/.claude/commands/shared/research-first.yml +0 -278
  289. package/#Tools/SuperClaude/.claude/commands/shared/session-recovery.yml +0 -144
  290. package/#Tools/SuperClaude/.claude/commands/shared/severity-levels.yml +0 -252
  291. package/#Tools/SuperClaude/.claude/commands/shared/task-system.yml +0 -380
  292. package/#Tools/SuperClaude/.claude/commands/shared/task-ultracompressed.yml +0 -88
  293. package/#Tools/SuperClaude/.claude/commands/shared/templates/feature-template.md +0 -59
  294. package/#Tools/SuperClaude/.claude/commands/shared/templates/task-ultracompressed.md +0 -26
  295. package/#Tools/SuperClaude/.claude/commands/shared/thinking-modes.yml +0 -61
  296. package/#Tools/SuperClaude/.claude/commands/shared/ultracompressed.yml +0 -97
  297. package/#Tools/SuperClaude/.claude/commands/shared/user-experience.yml +0 -208
  298. package/#Tools/SuperClaude/.claude/commands/shared/validation.yml +0 -54
  299. package/#Tools/SuperClaude/.claude/commands/shared/workflow-chains.yml +0 -138
  300. package/#Tools/SuperClaude/.claude/commands/spawn.md +0 -106
  301. package/#Tools/SuperClaude/.claude/commands/task.md +0 -110
  302. package/#Tools/SuperClaude/.claude/commands/test.md +0 -67
  303. package/#Tools/SuperClaude/.claude/commands/troubleshoot.md +0 -93
  304. package/#Tools/SuperClaude/.github/ISSUE_TEMPLATE/bug_report.yml +0 -114
  305. package/#Tools/SuperClaude/.github/ISSUE_TEMPLATE/feature_request.yml +0 -119
  306. package/#Tools/SuperClaude/.github/ISSUE_TEMPLATE/question.yml +0 -87
  307. package/#Tools/SuperClaude/.github/pull_request_template.md +0 -62
  308. package/#Tools/SuperClaude/CHANGELOG.md +0 -109
  309. package/#Tools/SuperClaude/CLAUDE.md +0 -95
  310. package/#Tools/SuperClaude/CODE_OF_CONDUCT.md +0 -45
  311. package/#Tools/SuperClaude/CONTRIBUTING.md +0 -225
  312. package/#Tools/SuperClaude/Commands_Cheat_Sheet.md +0 -160
  313. package/#Tools/SuperClaude/LICENSE +0 -21
  314. package/#Tools/SuperClaude/MCP.md +0 -117
  315. package/#Tools/SuperClaude/PERSONAS.md +0 -115
  316. package/#Tools/SuperClaude/README.md +0 -249
  317. package/#Tools/SuperClaude/RULES.md +0 -220
  318. package/#Tools/SuperClaude/SECURITY.md +0 -91
  319. package/#Tools/SuperClaude/install.sh +0 -296
  320. package/#Tools/claude-talk-to-figma-mcp/.github/workflows/test.yml +0 -36
  321. package/#Tools/claude-talk-to-figma-mcp/CHANGELOG.md +0 -88
  322. package/#Tools/claude-talk-to-figma-mcp/Dockerfile +0 -16
  323. package/#Tools/claude-talk-to-figma-mcp/LICENSE +0 -22
  324. package/#Tools/claude-talk-to-figma-mcp/TESTING.md +0 -216
  325. package/#Tools/claude-talk-to-figma-mcp/bun.lock +0 -964
  326. package/#Tools/claude-talk-to-figma-mcp/context/01/00-analisis.md +0 -151
  327. package/#Tools/claude-talk-to-figma-mcp/context/01/01-tools-refactor.md +0 -370
  328. package/#Tools/claude-talk-to-figma-mcp/context/01/02-tools-refactor-backlog.md +0 -253
  329. package/#Tools/claude-talk-to-figma-mcp/context/01/03-tools-refactor-test.md +0 -138
  330. package/#Tools/claude-talk-to-figma-mcp/context/01/04-tools-refactor-channel-error.md +0 -133
  331. package/#Tools/claude-talk-to-figma-mcp/context/01/04-tools-refactor-test-backlog.md +0 -0
  332. package/#Tools/claude-talk-to-figma-mcp/context/01/05-tools-refactor-four-tools-error.md +0 -356
  333. package/#Tools/claude-talk-to-figma-mcp/context/01/06-tools-refactor-four-tools-error-backlog.md +0 -425
  334. package/#Tools/claude-talk-to-figma-mcp/context/01/prompt-dev-nodejs-bun.md +0 -105
  335. package/#Tools/claude-talk-to-figma-mcp/context/01-prompt.md +0 -135
  336. package/#Tools/claude-talk-to-figma-mcp/context/02/00-analisis.md +0 -131
  337. package/#Tools/claude-talk-to-figma-mcp/context/02/01-plan.md +0 -162
  338. package/#Tools/claude-talk-to-figma-mcp/context/02/02-backlog.md +0 -241
  339. package/#Tools/claude-talk-to-figma-mcp/context/02-analisis.md +0 -202
  340. package/#Tools/claude-talk-to-figma-mcp/context/99-notas.md +0 -139
  341. package/#Tools/claude-talk-to-figma-mcp/context/pr-14/pr-14-analisis.md +0 -221
  342. package/#Tools/claude-talk-to-figma-mcp/context/pr-14/pr-14-claude-tests.md +0 -152
  343. package/#Tools/claude-talk-to-figma-mcp/context/pr-14/pr-14-npm-publishing.md +0 -272
  344. package/#Tools/claude-talk-to-figma-mcp/images/claude-talk-to-figma.png +0 -0
  345. package/#Tools/claude-talk-to-figma-mcp/images/mcp-figma-plugin-configuration.png +0 -0
  346. package/#Tools/claude-talk-to-figma-mcp/jest.config.cjs +0 -25
  347. package/#Tools/claude-talk-to-figma-mcp/package.json +0 -67
  348. package/#Tools/claude-talk-to-figma-mcp/prompts/prompt-ux-ui-especialista-es.md +0 -82
  349. package/#Tools/claude-talk-to-figma-mcp/prompts/prompt-ux-ui-especialista-gal.md +0 -80
  350. package/#Tools/claude-talk-to-figma-mcp/prompts/prompt-ux-ui-especialista-pt.md +0 -80
  351. package/#Tools/claude-talk-to-figma-mcp/prompts/prompt-ux-ui-specialist.md +0 -80
  352. package/#Tools/claude-talk-to-figma-mcp/readme.md +0 -307
  353. package/#Tools/claude-talk-to-figma-mcp/scripts/configure-claude.js +0 -90
  354. package/#Tools/claude-talk-to-figma-mcp/scripts/setup.sh +0 -30
  355. package/#Tools/claude-talk-to-figma-mcp/scripts/test-integration.js +0 -339
  356. package/#Tools/claude-talk-to-figma-mcp/smithery.yaml +0 -26
  357. package/#Tools/claude-talk-to-figma-mcp/src/claude_mcp_plugin/code.js +0 -3295
  358. package/#Tools/claude-talk-to-figma-mcp/src/claude_mcp_plugin/manifest.json +0 -24
  359. package/#Tools/claude-talk-to-figma-mcp/src/claude_mcp_plugin/setcharacters.js +0 -215
  360. package/#Tools/claude-talk-to-figma-mcp/src/claude_mcp_plugin/ui.html +0 -656
  361. package/#Tools/claude-talk-to-figma-mcp/src/socket.ts +0 -349
  362. package/#Tools/claude-talk-to-figma-mcp/src/talk_to_figma_mcp/bun.lock +0 -246
  363. package/#Tools/claude-talk-to-figma-mcp/src/talk_to_figma_mcp/config/config.ts +0 -22
  364. package/#Tools/claude-talk-to-figma-mcp/src/talk_to_figma_mcp/package.json +0 -31
  365. package/#Tools/claude-talk-to-figma-mcp/src/talk_to_figma_mcp/prompts/index.ts +0 -297
  366. package/#Tools/claude-talk-to-figma-mcp/src/talk_to_figma_mcp/server.ts +0 -62
  367. package/#Tools/claude-talk-to-figma-mcp/src/talk_to_figma_mcp/tools/component-tools.ts +0 -48
  368. package/#Tools/claude-talk-to-figma-mcp/src/talk_to_figma_mcp/tools/creation-tools.ts +0 -620
  369. package/#Tools/claude-talk-to-figma-mcp/src/talk_to_figma_mcp/tools/document-tools.ts +0 -390
  370. package/#Tools/claude-talk-to-figma-mcp/src/talk_to_figma_mcp/tools/index.ts +0 -28
  371. package/#Tools/claude-talk-to-figma-mcp/src/talk_to_figma_mcp/tools/modification-tools.ts +0 -408
  372. package/#Tools/claude-talk-to-figma-mcp/src/talk_to_figma_mcp/tools/text-tools.ts +0 -531
  373. package/#Tools/claude-talk-to-figma-mcp/src/talk_to_figma_mcp/tsconfig.json +0 -18
  374. package/#Tools/claude-talk-to-figma-mcp/src/talk_to_figma_mcp/types/color.ts +0 -13
  375. package/#Tools/claude-talk-to-figma-mcp/src/talk_to_figma_mcp/types/index.ts +0 -87
  376. package/#Tools/claude-talk-to-figma-mcp/src/talk_to_figma_mcp/utils/defaults.ts +0 -23
  377. package/#Tools/claude-talk-to-figma-mcp/src/talk_to_figma_mcp/utils/figma-helpers.ts +0 -142
  378. package/#Tools/claude-talk-to-figma-mcp/src/talk_to_figma_mcp/utils/logger.ts +0 -8
  379. package/#Tools/claude-talk-to-figma-mcp/src/talk_to_figma_mcp/utils/websocket.ts +0 -258
  380. package/#Tools/claude-talk-to-figma-mcp/tests/fixtures/test-data.ts +0 -32
  381. package/#Tools/claude-talk-to-figma-mcp/tests/integration/set-fill-color.test.ts +0 -309
  382. package/#Tools/claude-talk-to-figma-mcp/tests/integration/set-stroke-color.test.ts +0 -387
  383. package/#Tools/claude-talk-to-figma-mcp/tests/setup.ts +0 -7
  384. package/#Tools/claude-talk-to-figma-mcp/tests/unit/utils/defaults.test.ts +0 -131
  385. package/#Tools/claude-talk-to-figma-mcp/tsconfig.json +0 -17
  386. package/#Tools/claude-talk-to-figma-mcp/tsup.config.ts +0 -14
  387. package/#Tools/jwt creator/AuthKey_MZ7UQGFV2Q.p8 +0 -6
  388. package/#Tools/jwt creator/generate_apple_jwt.js +0 -18
  389. package/#Tools/jwt creator/node_modules/.package-lock.json +0 -145
  390. package/#Tools/jwt creator/node_modules/buffer-equal-constant-time/.travis.yml +0 -4
  391. package/#Tools/jwt creator/node_modules/buffer-equal-constant-time/LICENSE.txt +0 -12
  392. package/#Tools/jwt creator/node_modules/buffer-equal-constant-time/README.md +0 -50
  393. package/#Tools/jwt creator/node_modules/buffer-equal-constant-time/index.js +0 -41
  394. package/#Tools/jwt creator/node_modules/buffer-equal-constant-time/package.json +0 -21
  395. package/#Tools/jwt creator/node_modules/buffer-equal-constant-time/test.js +0 -42
  396. package/#Tools/jwt creator/node_modules/ecdsa-sig-formatter/CODEOWNERS +0 -1
  397. package/#Tools/jwt creator/node_modules/ecdsa-sig-formatter/LICENSE +0 -201
  398. package/#Tools/jwt creator/node_modules/ecdsa-sig-formatter/README.md +0 -65
  399. package/#Tools/jwt creator/node_modules/ecdsa-sig-formatter/package.json +0 -46
  400. package/#Tools/jwt creator/node_modules/ecdsa-sig-formatter/src/ecdsa-sig-formatter.d.ts +0 -17
  401. package/#Tools/jwt creator/node_modules/ecdsa-sig-formatter/src/ecdsa-sig-formatter.js +0 -187
  402. package/#Tools/jwt creator/node_modules/ecdsa-sig-formatter/src/param-bytes-for-alg.js +0 -23
  403. package/#Tools/jwt creator/node_modules/jsonwebtoken/LICENSE +0 -21
  404. package/#Tools/jwt creator/node_modules/jsonwebtoken/README.md +0 -396
  405. package/#Tools/jwt creator/node_modules/jsonwebtoken/decode.js +0 -30
  406. package/#Tools/jwt creator/node_modules/jsonwebtoken/index.js +0 -8
  407. package/#Tools/jwt creator/node_modules/jsonwebtoken/lib/JsonWebTokenError.js +0 -14
  408. package/#Tools/jwt creator/node_modules/jsonwebtoken/lib/NotBeforeError.js +0 -13
  409. package/#Tools/jwt creator/node_modules/jsonwebtoken/lib/TokenExpiredError.js +0 -13
  410. package/#Tools/jwt creator/node_modules/jsonwebtoken/lib/asymmetricKeyDetailsSupported.js +0 -3
  411. package/#Tools/jwt creator/node_modules/jsonwebtoken/lib/psSupported.js +0 -3
  412. package/#Tools/jwt creator/node_modules/jsonwebtoken/lib/rsaPssKeyDetailsSupported.js +0 -3
  413. package/#Tools/jwt creator/node_modules/jsonwebtoken/lib/timespan.js +0 -18
  414. package/#Tools/jwt creator/node_modules/jsonwebtoken/lib/validateAsymmetricKey.js +0 -66
  415. package/#Tools/jwt creator/node_modules/jsonwebtoken/package.json +0 -71
  416. package/#Tools/jwt creator/node_modules/jsonwebtoken/sign.js +0 -253
  417. package/#Tools/jwt creator/node_modules/jsonwebtoken/verify.js +0 -263
  418. package/#Tools/jwt creator/node_modules/jwa/LICENSE +0 -17
  419. package/#Tools/jwt creator/node_modules/jwa/README.md +0 -150
  420. package/#Tools/jwt creator/node_modules/jwa/index.js +0 -266
  421. package/#Tools/jwt creator/node_modules/jwa/package.json +0 -37
  422. package/#Tools/jwt creator/node_modules/jws/CHANGELOG.md +0 -34
  423. package/#Tools/jwt creator/node_modules/jws/LICENSE +0 -17
  424. package/#Tools/jwt creator/node_modules/jws/index.js +0 -22
  425. package/#Tools/jwt creator/node_modules/jws/lib/data-stream.js +0 -55
  426. package/#Tools/jwt creator/node_modules/jws/lib/sign-stream.js +0 -78
  427. package/#Tools/jwt creator/node_modules/jws/lib/tostring.js +0 -10
  428. package/#Tools/jwt creator/node_modules/jws/lib/verify-stream.js +0 -120
  429. package/#Tools/jwt creator/node_modules/jws/package.json +0 -34
  430. package/#Tools/jwt creator/node_modules/jws/readme.md +0 -255
  431. package/#Tools/jwt creator/node_modules/lodash.includes/LICENSE +0 -47
  432. package/#Tools/jwt creator/node_modules/lodash.includes/README.md +0 -18
  433. package/#Tools/jwt creator/node_modules/lodash.includes/index.js +0 -745
  434. package/#Tools/jwt creator/node_modules/lodash.includes/package.json +0 -17
  435. package/#Tools/jwt creator/node_modules/lodash.isboolean/LICENSE +0 -22
  436. package/#Tools/jwt creator/node_modules/lodash.isboolean/README.md +0 -18
  437. package/#Tools/jwt creator/node_modules/lodash.isboolean/index.js +0 -70
  438. package/#Tools/jwt creator/node_modules/lodash.isboolean/package.json +0 -17
  439. package/#Tools/jwt creator/node_modules/lodash.isinteger/LICENSE +0 -47
  440. package/#Tools/jwt creator/node_modules/lodash.isinteger/README.md +0 -18
  441. package/#Tools/jwt creator/node_modules/lodash.isinteger/index.js +0 -265
  442. package/#Tools/jwt creator/node_modules/lodash.isinteger/package.json +0 -17
  443. package/#Tools/jwt creator/node_modules/lodash.isnumber/LICENSE +0 -22
  444. package/#Tools/jwt creator/node_modules/lodash.isnumber/README.md +0 -18
  445. package/#Tools/jwt creator/node_modules/lodash.isnumber/index.js +0 -79
  446. package/#Tools/jwt creator/node_modules/lodash.isnumber/package.json +0 -17
  447. package/#Tools/jwt creator/node_modules/lodash.isplainobject/LICENSE +0 -47
  448. package/#Tools/jwt creator/node_modules/lodash.isplainobject/README.md +0 -18
  449. package/#Tools/jwt creator/node_modules/lodash.isplainobject/index.js +0 -139
  450. package/#Tools/jwt creator/node_modules/lodash.isplainobject/package.json +0 -17
  451. package/#Tools/jwt creator/node_modules/lodash.isstring/LICENSE +0 -22
  452. package/#Tools/jwt creator/node_modules/lodash.isstring/README.md +0 -18
  453. package/#Tools/jwt creator/node_modules/lodash.isstring/index.js +0 -95
  454. package/#Tools/jwt creator/node_modules/lodash.isstring/package.json +0 -17
  455. package/#Tools/jwt creator/node_modules/lodash.once/LICENSE +0 -47
  456. package/#Tools/jwt creator/node_modules/lodash.once/README.md +0 -18
  457. package/#Tools/jwt creator/node_modules/lodash.once/index.js +0 -294
  458. package/#Tools/jwt creator/node_modules/lodash.once/package.json +0 -17
  459. package/#Tools/jwt creator/node_modules/ms/index.js +0 -162
  460. package/#Tools/jwt creator/node_modules/ms/license.md +0 -21
  461. package/#Tools/jwt creator/node_modules/ms/package.json +0 -38
  462. package/#Tools/jwt creator/node_modules/ms/readme.md +0 -59
  463. package/#Tools/jwt creator/node_modules/safe-buffer/LICENSE +0 -21
  464. package/#Tools/jwt creator/node_modules/safe-buffer/README.md +0 -584
  465. package/#Tools/jwt creator/node_modules/safe-buffer/index.d.ts +0 -187
  466. package/#Tools/jwt creator/node_modules/safe-buffer/index.js +0 -65
  467. package/#Tools/jwt creator/node_modules/safe-buffer/package.json +0 -51
  468. package/#Tools/jwt creator/node_modules/semver/LICENSE +0 -15
  469. package/#Tools/jwt creator/node_modules/semver/README.md +0 -664
  470. package/#Tools/jwt creator/node_modules/semver/bin/semver.js +0 -191
  471. package/#Tools/jwt creator/node_modules/semver/classes/comparator.js +0 -143
  472. package/#Tools/jwt creator/node_modules/semver/classes/index.js +0 -7
  473. package/#Tools/jwt creator/node_modules/semver/classes/range.js +0 -556
  474. package/#Tools/jwt creator/node_modules/semver/classes/semver.js +0 -319
  475. package/#Tools/jwt creator/node_modules/semver/functions/clean.js +0 -8
  476. package/#Tools/jwt creator/node_modules/semver/functions/cmp.js +0 -54
  477. package/#Tools/jwt creator/node_modules/semver/functions/coerce.js +0 -62
  478. package/#Tools/jwt creator/node_modules/semver/functions/compare-build.js +0 -9
  479. package/#Tools/jwt creator/node_modules/semver/functions/compare-loose.js +0 -5
  480. package/#Tools/jwt creator/node_modules/semver/functions/compare.js +0 -7
  481. package/#Tools/jwt creator/node_modules/semver/functions/diff.js +0 -60
  482. package/#Tools/jwt creator/node_modules/semver/functions/eq.js +0 -5
  483. package/#Tools/jwt creator/node_modules/semver/functions/gt.js +0 -5
  484. package/#Tools/jwt creator/node_modules/semver/functions/gte.js +0 -5
  485. package/#Tools/jwt creator/node_modules/semver/functions/inc.js +0 -21
  486. package/#Tools/jwt creator/node_modules/semver/functions/lt.js +0 -5
  487. package/#Tools/jwt creator/node_modules/semver/functions/lte.js +0 -5
  488. package/#Tools/jwt creator/node_modules/semver/functions/major.js +0 -5
  489. package/#Tools/jwt creator/node_modules/semver/functions/minor.js +0 -5
  490. package/#Tools/jwt creator/node_modules/semver/functions/neq.js +0 -5
  491. package/#Tools/jwt creator/node_modules/semver/functions/parse.js +0 -18
  492. package/#Tools/jwt creator/node_modules/semver/functions/patch.js +0 -5
  493. package/#Tools/jwt creator/node_modules/semver/functions/prerelease.js +0 -8
  494. package/#Tools/jwt creator/node_modules/semver/functions/rcompare.js +0 -5
  495. package/#Tools/jwt creator/node_modules/semver/functions/rsort.js +0 -5
  496. package/#Tools/jwt creator/node_modules/semver/functions/satisfies.js +0 -12
  497. package/#Tools/jwt creator/node_modules/semver/functions/sort.js +0 -5
  498. package/#Tools/jwt creator/node_modules/semver/functions/valid.js +0 -8
  499. package/#Tools/jwt creator/node_modules/semver/index.js +0 -91
  500. package/#Tools/jwt creator/node_modules/semver/internal/constants.js +0 -37
  501. package/#Tools/jwt creator/node_modules/semver/internal/debug.js +0 -11
  502. package/#Tools/jwt creator/node_modules/semver/internal/identifiers.js +0 -25
  503. package/#Tools/jwt creator/node_modules/semver/internal/lrucache.js +0 -42
  504. package/#Tools/jwt creator/node_modules/semver/internal/parse-options.js +0 -17
  505. package/#Tools/jwt creator/node_modules/semver/internal/re.js +0 -223
  506. package/#Tools/jwt creator/node_modules/semver/package.json +0 -78
  507. package/#Tools/jwt creator/node_modules/semver/preload.js +0 -4
  508. package/#Tools/jwt creator/node_modules/semver/range.bnf +0 -16
  509. package/#Tools/jwt creator/node_modules/semver/ranges/gtr.js +0 -6
  510. package/#Tools/jwt creator/node_modules/semver/ranges/intersects.js +0 -9
  511. package/#Tools/jwt creator/node_modules/semver/ranges/ltr.js +0 -6
  512. package/#Tools/jwt creator/node_modules/semver/ranges/max-satisfying.js +0 -27
  513. package/#Tools/jwt creator/node_modules/semver/ranges/min-satisfying.js +0 -26
  514. package/#Tools/jwt creator/node_modules/semver/ranges/min-version.js +0 -63
  515. package/#Tools/jwt creator/node_modules/semver/ranges/outside.js +0 -82
  516. package/#Tools/jwt creator/node_modules/semver/ranges/simplify.js +0 -49
  517. package/#Tools/jwt creator/node_modules/semver/ranges/subset.js +0 -249
  518. package/#Tools/jwt creator/node_modules/semver/ranges/to-comparators.js +0 -10
  519. package/#Tools/jwt creator/node_modules/semver/ranges/valid.js +0 -13
  520. package/#Tools/jwt creator/package-lock.json +0 -150
  521. package/#Tools/jwt creator/package.json +0 -5
  522. package/#Tools/package.json +0 -94
  523. package/SuperClaude/.claude/commands/analyze.md +0 -36
  524. package/SuperClaude/.claude/commands/build.md +0 -35
  525. package/SuperClaude/.claude/commands/cleanup.md +0 -46
  526. package/SuperClaude/.claude/commands/deploy.md +0 -55
  527. package/SuperClaude/.claude/commands/design.md +0 -91
  528. package/SuperClaude/.claude/commands/dev-setup.md +0 -37
  529. package/SuperClaude/.claude/commands/document.md +0 -99
  530. package/SuperClaude/.claude/commands/estimate.md +0 -69
  531. package/SuperClaude/.claude/commands/explain.md +0 -85
  532. package/SuperClaude/.claude/commands/git.md +0 -47
  533. package/SuperClaude/.claude/commands/improve.md +0 -162
  534. package/SuperClaude/.claude/commands/index.md +0 -159
  535. package/SuperClaude/.claude/commands/load.md +0 -65
  536. package/SuperClaude/.claude/commands/migrate.md +0 -76
  537. package/SuperClaude/.claude/commands/scan.md +0 -163
  538. package/SuperClaude/.claude/commands/shared/ambiguity-check.yml +0 -40
  539. package/SuperClaude/.claude/commands/shared/audit.yml +0 -21
  540. package/SuperClaude/.claude/commands/shared/checkpoint.yml +0 -28
  541. package/SuperClaude/.claude/commands/shared/cleanup-patterns.yml +0 -107
  542. package/SuperClaude/.claude/commands/shared/command-memory.yml +0 -52
  543. package/SuperClaude/.claude/commands/shared/command-templates.yml +0 -167
  544. package/SuperClaude/.claude/commands/shared/config-validator.yml +0 -206
  545. package/SuperClaude/.claude/commands/shared/constants.yml +0 -311
  546. package/SuperClaude/.claude/commands/shared/documentation-dirs.yml +0 -134
  547. package/SuperClaude/.claude/commands/shared/error-handling.yml +0 -341
  548. package/SuperClaude/.claude/commands/shared/evidence.yml +0 -75
  549. package/SuperClaude/.claude/commands/shared/execution-lifecycle.yml +0 -277
  550. package/SuperClaude/.claude/commands/shared/git-operations.yml +0 -217
  551. package/SuperClaude/.claude/commands/shared/git-workflow.yml +0 -37
  552. package/SuperClaude/.claude/commands/shared/implementation.yml +0 -199
  553. package/SuperClaude/.claude/commands/shared/loading-config.yml +0 -73
  554. package/SuperClaude/.claude/commands/shared/mcp-flags.yml +0 -109
  555. package/SuperClaude/.claude/commands/shared/migration-report.md +0 -165
  556. package/SuperClaude/.claude/commands/shared/patterns.yml +0 -155
  557. package/SuperClaude/.claude/commands/shared/performance.yml +0 -317
  558. package/SuperClaude/.claude/commands/shared/planning-mode.yml +0 -51
  559. package/SuperClaude/.claude/commands/shared/research-first.yml +0 -278
  560. package/SuperClaude/.claude/commands/shared/session-recovery.yml +0 -144
  561. package/SuperClaude/.claude/commands/shared/severity-levels.yml +0 -252
  562. package/SuperClaude/.claude/commands/shared/task-system.yml +0 -380
  563. package/SuperClaude/.claude/commands/shared/task-ultracompressed.yml +0 -88
  564. package/SuperClaude/.claude/commands/shared/templates/feature-template.md +0 -59
  565. package/SuperClaude/.claude/commands/shared/templates/task-ultracompressed.md +0 -26
  566. package/SuperClaude/.claude/commands/shared/thinking-modes.yml +0 -61
  567. package/SuperClaude/.claude/commands/shared/ultracompressed.yml +0 -97
  568. package/SuperClaude/.claude/commands/shared/user-experience.yml +0 -208
  569. package/SuperClaude/.claude/commands/shared/validation.yml +0 -54
  570. package/SuperClaude/.claude/commands/shared/workflow-chains.yml +0 -138
  571. package/SuperClaude/.claude/commands/spawn.md +0 -106
  572. package/SuperClaude/.claude/commands/task.md +0 -110
  573. package/SuperClaude/.claude/commands/test.md +0 -67
  574. package/SuperClaude/.claude/commands/troubleshoot.md +0 -93
  575. package/SuperClaude/.github/ISSUE_TEMPLATE/bug_report.yml +0 -114
  576. package/SuperClaude/.github/ISSUE_TEMPLATE/feature_request.yml +0 -119
  577. package/SuperClaude/.github/ISSUE_TEMPLATE/question.yml +0 -87
  578. package/SuperClaude/.github/pull_request_template.md +0 -62
  579. package/SuperClaude/CHANGELOG.md +0 -109
  580. package/SuperClaude/CLAUDE.md +0 -95
  581. package/SuperClaude/CODE_OF_CONDUCT.md +0 -45
  582. package/SuperClaude/CONTRIBUTING.md +0 -225
  583. package/SuperClaude/Commands_Cheat_Sheet.md +0 -160
  584. package/SuperClaude/LICENSE +0 -21
  585. package/SuperClaude/MCP.md +0 -117
  586. package/SuperClaude/PERSONAS.md +0 -115
  587. package/SuperClaude/README.md +0 -249
  588. package/SuperClaude/RULES.md +0 -220
  589. package/SuperClaude/SECURITY.md +0 -91
  590. package/SuperClaude/install.sh +0 -296
  591. package/appiq-mcp installer/How-to.md +0 -250
  592. package/appiq-mcp installer/LICENSE +0 -21
  593. package/appiq-mcp installer/README.md +0 -235
  594. package/appiq-mcp installer/index.js +0 -672
  595. package/appiq-mcp installer/my_mcps.md +0 -105
  596. package/appiq-mcp installer/package-lock.json +0 -708
  597. package/appiq-mcp installer/package.json +0 -46
  598. package/appiq-mcp installer/test-install.bat +0 -60
  599. package/appiq-mcp installer/test-install.sh +0 -55
  600. package/appiq-mcp installer/test-load.js +0 -40
  601. package/bmad-core/agent-teams/team-flutter-mobile.yaml +0 -114
  602. package/bmad-core/agents/bmad-smart-launcher.md +0 -170
  603. package/bmad-core/agents/init-flow-po.md +0 -143
  604. package/bmad-core/checklists/security-validation-checklist.md +0 -332
  605. package/bmad-core/core-config.yaml.bak +0 -20
  606. package/bmad-core/data/backend-services-integration.md +0 -686
  607. package/bmad-core/data/shadcn-ui-integration.md +0 -388
  608. package/bmad-core/tasks/create-flutter-story.md +0 -197
  609. package/bmad-core/tasks/intelligent-epic-creation.md +0 -234
  610. package/bmad-core/tasks/smart-project-analysis.md +0 -289
  611. package/bmad-core/templates/flutter-mobile-prd-tmpl.yaml +0 -330
  612. package/bmad-core/templates/flutter-story-tmpl.yaml +0 -376
  613. package/bmad-core/templates/flutter-ui-spec-tmpl.yaml +0 -415
  614. package/dist/expansion-packs/bmad-mobile-app-dev/agents/mobile-analytics.txt +0 -1530
  615. package/dist/expansion-packs/bmad-mobile-app-dev/agents/mobile-architect.txt +0 -322
  616. package/dist/expansion-packs/bmad-mobile-app-dev/agents/mobile-developer.txt +0 -692
  617. package/dist/expansion-packs/bmad-mobile-app-dev/agents/mobile-pm.txt +0 -382
  618. package/dist/expansion-packs/bmad-mobile-app-dev/agents/mobile-qa.txt +0 -665
  619. package/dist/expansion-packs/bmad-mobile-app-dev/agents/mobile-security.txt +0 -1070
  620. package/dist/expansion-packs/bmad-mobile-app-dev/agents/mobile-ux-expert.txt +0 -1494
  621. package/dist/expansion-packs/bmad-mobile-app-dev/teams/mobile-team-cross-platform.txt +0 -15613
  622. package/flutter/CLAUDE.md +0 -58
  623. package/flutter/punkt.claude/New Folder With Items/channel.md +0 -221
  624. package/flutter/punkt.claude/New Folder With Items/commands/add-translations.md +0 -12
  625. package/flutter/punkt.claude/New Folder With Items/commands/create-feature.md +0 -168
  626. package/flutter/punkt.claude/New Folder With Items/commands/explain-codebase.md +0 -1
  627. package/flutter/punkt.claude/New Folder With Items/commands/feature-business-logic.md +0 -551
  628. package/flutter/punkt.claude/New Folder With Items/commands/feature-data-layer.md +0 -924
  629. package/flutter/punkt.claude/New Folder With Items/commands/feature-domain-layer.md +0 -540
  630. package/flutter/punkt.claude/New Folder With Items/commands/feature-integration.md +0 -493
  631. package/flutter/punkt.claude/New Folder With Items/commands/feature-localization.md +0 -427
  632. package/flutter/punkt.claude/New Folder With Items/commands/feature-ui-layer.md +0 -300
  633. package/flutter/punkt.claude/New Folder With Items/commands/git-commit.md +0 -3
  634. package/flutter/punkt.claude/New Folder With Items/commands/search-web.md +0 -1
  635. package/flutter/punkt.claude/punkt.claude/channel.md +0 -225
  636. package/flutter/punkt.claude/punkt.claude/commands/add-translations.md +0 -60
  637. package/flutter/punkt.claude/punkt.claude/commands/bug-fix.md +0 -32
  638. package/flutter/punkt.claude/punkt.claude/commands/checkdev.md +0 -122
  639. package/flutter/punkt.claude/punkt.claude/commands/create-feature.md +0 -174
  640. package/flutter/punkt.claude/punkt.claude/commands/dev.md +0 -79
  641. package/flutter/punkt.claude/punkt.claude/commands/explain-codebase.md +0 -1
  642. package/flutter/punkt.claude/punkt.claude/commands/feature-business-logic.md +0 -430
  643. package/flutter/punkt.claude/punkt.claude/commands/feature-data-layer.md +0 -572
  644. package/flutter/punkt.claude/punkt.claude/commands/feature-domain-layer.md +0 -537
  645. package/flutter/punkt.claude/punkt.claude/commands/feature-integration.md +0 -493
  646. package/flutter/punkt.claude/punkt.claude/commands/feature-localization.md +0 -427
  647. package/flutter/punkt.claude/punkt.claude/commands/feature-ui-layer.md +0 -831
  648. package/flutter/punkt.claude/punkt.claude/commands/git-commit.md +0 -3
  649. package/flutter/punkt.claude/punkt.claude/commands/manage-translations.md +0 -433
  650. package/flutter/punkt.claude/punkt.claude/commands/search-web.md +0 -1
  651. package/flutter/punkt.claude/punkt.claude/developer_check.md +0 -121
  652. package/tools/appiq-installer.js +0 -2711
  653. package/tools/epic-solution-installer.js +0 -536
  654. package/tools/setup-ide-commands.js +0 -348
  655. package/tools/smart-installer.js +0 -592
  656. package/web/CLAUDE.md +0 -58
  657. /package/{#Tools/APPIQ-METHOD/.github → .github}/FUNDING.yaml +0 -0
  658. /package/{#Tools/APPIQ-METHOD/.github → .github}/ISSUE_TEMPLATE/bug_report.md +0 -0
  659. /package/{#Tools/APPIQ-METHOD/.github → .github}/ISSUE_TEMPLATE/feature_request.md +0 -0
  660. /package/{#Tools/APPIQ-METHOD/.github → .github}/workflows/release.yaml +0 -0
  661. /package/{#Tools/APPIQ-METHOD/.releaserc.json → .releaserc.json} +0 -0
  662. /package/{#Tools/APPIQ-METHOD/.vscode → .vscode}/settings.json +0 -0
  663. /package/{#Tools/APPIQ-METHOD/CHANGELOG.md → CHANGELOG.md} +0 -0
  664. /package/{#Tools/APPIQ-METHOD/CONTRIBUTING.md → CONTRIBUTING.md} +0 -0
  665. /package/{#Tools/APPIQ-METHOD/LICENSE → LICENSE} +0 -0
  666. /package/{#Tools/APPIQ-METHOD/common → common}/tasks/create-doc.md +0 -0
  667. /package/{#Tools/APPIQ-METHOD/common → common}/tasks/execute-checklist.md +0 -0
  668. /package/{#Tools/APPIQ-METHOD/common → common}/utils/bmad-doc-template.md +0 -0
  669. /package/{#Tools/APPIQ-METHOD/common → common}/utils/workflow-management.md +0 -0
  670. /package/{#Tools/APPIQ-METHOD/docs → docs}/GUIDING-PRINCIPLES.md +0 -0
  671. /package/{#Tools/APPIQ-METHOD/docs → docs}/core-architecture.md +0 -0
  672. /package/{#Tools/APPIQ-METHOD/docs → docs}/expansion-packs.md +0 -0
  673. /package/{#Tools/APPIQ-METHOD/docs → docs}/how-to-contribute-with-pull-requests.md +0 -0
  674. /package/{#Tools/APPIQ-METHOD/docs → docs}/versioning-and-releases.md +0 -0
  675. /package/{#Tools/APPIQ-METHOD/docs → docs}/versions.md +0 -0
  676. /package/{#Tools/APPIQ-METHOD/expansion-packs → expansion-packs}/README.md +0 -0
  677. /package/{#Tools/APPIQ-METHOD/expansion-packs/bmad-flutter-mobile-dev → expansion-packs/appiq-flutter-mobile-dev}/agent-teams/flutter-mobile-team.yaml +0 -0
  678. /package/{#Tools/APPIQ-METHOD/expansion-packs/bmad-flutter-mobile-dev → expansion-packs/appiq-flutter-mobile-dev}/agents/flutter-cubit-agent.md +0 -0
  679. /package/{#Tools/APPIQ-METHOD/expansion-packs/bmad-flutter-mobile-dev → expansion-packs/appiq-flutter-mobile-dev}/agents/flutter-data-agent.md +0 -0
  680. /package/{#Tools/APPIQ-METHOD/expansion-packs/bmad-flutter-mobile-dev → expansion-packs/appiq-flutter-mobile-dev}/agents/flutter-domain-agent.md +0 -0
  681. /package/{#Tools/APPIQ-METHOD/expansion-packs/bmad-flutter-mobile-dev → expansion-packs/appiq-flutter-mobile-dev}/agents/flutter-ui-agent.md +0 -0
  682. /package/{#Tools/APPIQ-METHOD/expansion-packs/bmad-flutter-mobile-dev → expansion-packs/appiq-flutter-mobile-dev}/agents/shared-components-agent.md +0 -0
  683. /package/{#Tools/APPIQ-METHOD/expansion-packs/bmad-flutter-mobile-dev → expansion-packs/appiq-flutter-mobile-dev}/checklists/flutter-story-dod-checklist.md +0 -0
  684. /package/{#Tools/APPIQ-METHOD/expansion-packs/bmad-flutter-mobile-dev → expansion-packs/appiq-flutter-mobile-dev}/data/flutter-development-guidelines.md +0 -0
  685. /package/{#Tools/APPIQ-METHOD/expansion-packs/bmad-flutter-mobile-dev → expansion-packs/appiq-flutter-mobile-dev}/templates/flutter-mobile-architecture-tmpl.yaml +0 -0
  686. /package/{#Tools/APPIQ-METHOD/expansion-packs/bmad-flutter-mobile-dev → expansion-packs/appiq-flutter-mobile-dev}/workflows/flutter-ui-first-development.yaml +0 -0
  687. /package/{#Tools/APPIQ-METHOD/expansion-packs → expansion-packs}/bmad-2d-phaser-game-dev/agent-teams/phaser-2d-nodejs-game-team.yaml +0 -0
  688. /package/{#Tools/APPIQ-METHOD/expansion-packs → expansion-packs}/bmad-2d-phaser-game-dev/agents/game-designer.md +0 -0
  689. /package/{#Tools/APPIQ-METHOD/expansion-packs → expansion-packs}/bmad-2d-phaser-game-dev/agents/game-developer.md +0 -0
  690. /package/{#Tools/APPIQ-METHOD/expansion-packs → expansion-packs}/bmad-2d-phaser-game-dev/agents/game-sm.md +0 -0
  691. /package/{#Tools/APPIQ-METHOD/expansion-packs → expansion-packs}/bmad-2d-phaser-game-dev/checklists/game-design-checklist.md +0 -0
  692. /package/{#Tools/APPIQ-METHOD/expansion-packs → expansion-packs}/bmad-2d-phaser-game-dev/checklists/game-story-dod-checklist.md +0 -0
  693. /package/{#Tools/APPIQ-METHOD/expansion-packs → expansion-packs}/bmad-2d-phaser-game-dev/config.yaml +0 -0
  694. /package/{#Tools/APPIQ-METHOD/expansion-packs → expansion-packs}/bmad-2d-phaser-game-dev/data/bmad-kb.md +0 -0
  695. /package/{#Tools/APPIQ-METHOD/expansion-packs → expansion-packs}/bmad-2d-phaser-game-dev/data/development-guidelines.md +0 -0
  696. /package/{#Tools/APPIQ-METHOD/expansion-packs → expansion-packs}/bmad-2d-phaser-game-dev/tasks/advanced-elicitation.md +0 -0
  697. /package/{#Tools/APPIQ-METHOD/expansion-packs → expansion-packs}/bmad-2d-phaser-game-dev/tasks/create-game-story.md +0 -0
  698. /package/{#Tools/APPIQ-METHOD/expansion-packs → expansion-packs}/bmad-2d-phaser-game-dev/tasks/game-design-brainstorming.md +0 -0
  699. /package/{#Tools/APPIQ-METHOD/expansion-packs → expansion-packs}/bmad-2d-phaser-game-dev/templates/game-architecture-tmpl.yaml +0 -0
  700. /package/{#Tools/APPIQ-METHOD/expansion-packs → expansion-packs}/bmad-2d-phaser-game-dev/templates/game-brief-tmpl.yaml +0 -0
  701. /package/{#Tools/APPIQ-METHOD/expansion-packs → expansion-packs}/bmad-2d-phaser-game-dev/templates/game-design-doc-tmpl.yaml +0 -0
  702. /package/{#Tools/APPIQ-METHOD/expansion-packs → expansion-packs}/bmad-2d-phaser-game-dev/templates/game-story-tmpl.yaml +0 -0
  703. /package/{#Tools/APPIQ-METHOD/expansion-packs → expansion-packs}/bmad-2d-phaser-game-dev/templates/level-design-doc-tmpl.yaml +0 -0
  704. /package/{#Tools/APPIQ-METHOD/expansion-packs → expansion-packs}/bmad-2d-phaser-game-dev/workflows/game-dev-greenfield.yaml +0 -0
  705. /package/{#Tools/APPIQ-METHOD/expansion-packs → expansion-packs}/bmad-2d-phaser-game-dev/workflows/game-prototype.yaml +0 -0
  706. /package/{#Tools/APPIQ-METHOD/expansion-packs → expansion-packs}/bmad-2d-unity-game-dev/agent-teams/unity-2d-game-team.yaml +0 -0
  707. /package/{#Tools/APPIQ-METHOD/expansion-packs → expansion-packs}/bmad-2d-unity-game-dev/agents/game-architect.md +0 -0
  708. /package/{#Tools/APPIQ-METHOD/expansion-packs → expansion-packs}/bmad-2d-unity-game-dev/agents/game-designer.md +0 -0
  709. /package/{#Tools/APPIQ-METHOD/expansion-packs → expansion-packs}/bmad-2d-unity-game-dev/agents/game-developer.md +0 -0
  710. /package/{#Tools/APPIQ-METHOD/expansion-packs → expansion-packs}/bmad-2d-unity-game-dev/agents/game-sm.md +0 -0
  711. /package/{#Tools/APPIQ-METHOD/expansion-packs → expansion-packs}/bmad-2d-unity-game-dev/checklists/game-architect-checklist.md +0 -0
  712. /package/{#Tools/APPIQ-METHOD/expansion-packs → expansion-packs}/bmad-2d-unity-game-dev/checklists/game-change-checklist.md +0 -0
  713. /package/{#Tools/APPIQ-METHOD/expansion-packs → expansion-packs}/bmad-2d-unity-game-dev/checklists/game-design-checklist.md +0 -0
  714. /package/{#Tools/APPIQ-METHOD/expansion-packs → expansion-packs}/bmad-2d-unity-game-dev/checklists/game-story-dod-checklist.md +0 -0
  715. /package/{#Tools/APPIQ-METHOD/expansion-packs → expansion-packs}/bmad-2d-unity-game-dev/config.yaml +0 -0
  716. /package/{#Tools/APPIQ-METHOD/expansion-packs → expansion-packs}/bmad-2d-unity-game-dev/data/bmad-kb.md +0 -0
  717. /package/{#Tools/APPIQ-METHOD/expansion-packs → expansion-packs}/bmad-2d-unity-game-dev/data/development-guidelines.md +0 -0
  718. /package/{#Tools/APPIQ-METHOD/expansion-packs → expansion-packs}/bmad-2d-unity-game-dev/tasks/advanced-elicitation.md +0 -0
  719. /package/{#Tools/APPIQ-METHOD/expansion-packs → expansion-packs}/bmad-2d-unity-game-dev/tasks/correct-course-game.md +0 -0
  720. /package/{#Tools/APPIQ-METHOD/expansion-packs → expansion-packs}/bmad-2d-unity-game-dev/tasks/create-game-story.md +0 -0
  721. /package/{#Tools/APPIQ-METHOD/expansion-packs → expansion-packs}/bmad-2d-unity-game-dev/tasks/game-design-brainstorming.md +0 -0
  722. /package/{#Tools/APPIQ-METHOD/expansion-packs → expansion-packs}/bmad-2d-unity-game-dev/tasks/validate-game-story.md +0 -0
  723. /package/{#Tools/APPIQ-METHOD/expansion-packs → expansion-packs}/bmad-2d-unity-game-dev/templates/game-architecture-tmpl.yaml +0 -0
  724. /package/{#Tools/APPIQ-METHOD/expansion-packs → expansion-packs}/bmad-2d-unity-game-dev/templates/game-brief-tmpl.yaml +0 -0
  725. /package/{#Tools/APPIQ-METHOD/expansion-packs → expansion-packs}/bmad-2d-unity-game-dev/templates/game-design-doc-tmpl.yaml +0 -0
  726. /package/{#Tools/APPIQ-METHOD/expansion-packs → expansion-packs}/bmad-2d-unity-game-dev/templates/game-story-tmpl.yaml +0 -0
  727. /package/{#Tools/APPIQ-METHOD/expansion-packs → expansion-packs}/bmad-2d-unity-game-dev/templates/level-design-doc-tmpl.yaml +0 -0
  728. /package/{#Tools/APPIQ-METHOD/expansion-packs → expansion-packs}/bmad-2d-unity-game-dev/workflows/game-dev-greenfield.yaml +0 -0
  729. /package/{#Tools/APPIQ-METHOD/expansion-packs → expansion-packs}/bmad-2d-unity-game-dev/workflows/game-prototype.yaml +0 -0
  730. /package/{#Tools/APPIQ-METHOD/expansion-packs → expansion-packs}/bmad-infrastructure-devops/README.md +0 -0
  731. /package/{#Tools/APPIQ-METHOD/expansion-packs → expansion-packs}/bmad-infrastructure-devops/agents/infra-devops-platform.md +0 -0
  732. /package/{#Tools/APPIQ-METHOD/expansion-packs → expansion-packs}/bmad-infrastructure-devops/checklists/infrastructure-checklist.md +0 -0
  733. /package/{#Tools/APPIQ-METHOD/expansion-packs → expansion-packs}/bmad-infrastructure-devops/config.yaml +0 -0
  734. /package/{#Tools/APPIQ-METHOD/expansion-packs → expansion-packs}/bmad-infrastructure-devops/data/bmad-kb.md +0 -0
  735. /package/{#Tools/APPIQ-METHOD/expansion-packs → expansion-packs}/bmad-infrastructure-devops/tasks/review-infrastructure.md +0 -0
  736. /package/{#Tools/APPIQ-METHOD/expansion-packs → expansion-packs}/bmad-infrastructure-devops/tasks/validate-infrastructure.md +0 -0
  737. /package/{#Tools/APPIQ-METHOD/expansion-packs → expansion-packs}/bmad-infrastructure-devops/templates/infrastructure-architecture-tmpl.yaml +0 -0
  738. /package/{#Tools/APPIQ-METHOD/expansion-packs → expansion-packs}/bmad-infrastructure-devops/templates/infrastructure-platform-from-arch-tmpl.yaml +0 -0
@@ -1,2711 +0,0 @@
1
- #!/usr/bin/env node
2
-
3
- /**
4
- * Appiq Solution Smart Installer
5
- *
6
- * Super einfache Installation mit One-Click Workflows
7
- * Usage: npx appiq-solution install
8
- *
9
- * Built with ❤️ based on the amazing Bmad-Method
10
- * Credits: https://github.com/Viktor-Hermann/APPIQ-METHOD
11
- */
12
-
13
- const fs = require('fs');
14
- const path = require('path');
15
- const inquirer = require('inquirer');
16
- const chalk = require('chalk');
17
-
18
- const MCP_SERVERS = {
19
- // 🌍 GLOBAL SERVERS
20
- "sequential-thinking": {
21
- name: "Sequential Thinking",
22
- description: "Structured thinking for complex problem solving",
23
- command: "npx",
24
- args: ["-y", "@modelcontextprotocol/server-sequential-thinking"],
25
- tags: ['all', 'planning', 'architect', 'pm']
26
- },
27
- "puppeteer": {
28
- name: "Puppeteer MCP Server",
29
- description: "Browser automation and web scraping",
30
- command: "npx",
31
- args: ["-y", "puppeteer-mcp-server"],
32
- tags: ['web', 'qa', 'automation']
33
- },
34
- "claude-continuity": {
35
- name: "Claude Thread Continuity",
36
- description: "Enhanced thread continuity for Claude",
37
- command: "python3",
38
- args: ["~/.mcp-servers/claude-continuity/server.py"],
39
- tags: ['all', 'ide-enhancement']
40
- },
41
-
42
- // 📁 LOCAL SERVERS
43
- "extended-memory": {
44
- name: "Extended Memory MCP",
45
- description: "Enhanced memory capabilities for AI assistants",
46
- command: "python3",
47
- args: ["-m", "extended_memory_mcp.server"],
48
- env: { "LOG_LEVEL": "INFO" },
49
- tags: ['all', 'ide-enhancement']
50
- },
51
- "@21st-dev/magic": {
52
- name: "21st.dev Magic MCP",
53
- description: "UI builder for MCP - like v0 but in your IDE",
54
- command: "npx",
55
- args: ["-y", "@21st-dev/magic@latest"],
56
- tags: ['web', 'flutter', 'ui', 'ux-expert', 'flutter-ui-agent']
57
- },
58
- "dart": {
59
- name: "Dart MCP Server",
60
- description: "Dart SDK integration for Flutter/Dart projects",
61
- command: "dart",
62
- args: ["mcp-server", "--force-roots-fallback"],
63
- tags: ['flutter', 'flutter-ui-agent', 'flutter-cubit-agent', 'flutter-data-agent']
64
- },
65
- "firebase": {
66
- name: "Firebase MCP Server",
67
- description: "Firebase services - Auth, Firestore, Functions",
68
- command: "npx",
69
- args: ["-y", "firebase-tools@latest", "experimental:mcp"],
70
- tags: ['backend', 'fullstack', 'flutter', 'web', 'dev']
71
- },
72
- "supabase": {
73
- name: "Supabase MCP Server",
74
- description: "Supabase integration - database, auth, storage",
75
- command: "npx",
76
- args: ["-y", "@supabase/mcp-server-supabase@latest", "--read-only"],
77
- tags: ['backend', 'fullstack', 'flutter', 'web', 'dev']
78
- },
79
- "context7": {
80
- name: "Context7 MCP (Upstash)",
81
- description: "Up-to-date code documentation for any library",
82
- command: "npx",
83
- args: ["-y", "@upstash/context7-mcp"],
84
- tags: ['all', 'research', 'dev', 'architect']
85
- },
86
- "stripe": {
87
- name: "Stripe MCP Server",
88
- description: "Stripe payment integration",
89
- command: "npx",
90
- args: ["-y", "@stripe/mcp", "--tools=all"],
91
- tags: ['backend', 'fullstack', 'web', 'payment', 'dev']
92
- }
93
- };
94
-
95
- class AppiqSolutionInstaller {
96
- constructor() {
97
- this.projectRoot = process.cwd();
98
- this.appiqPath = path.join(this.projectRoot, "appiq-solution");
99
- this.config = {
100
- version: "1.0.0",
101
- projectType: null, // 'greenfield' or 'brownfield'
102
- techStack: {
103
- platform: null, // 'flutter', 'web', 'fullstack', 'api'
104
- isFlutter: false,
105
- hasUI: false,
106
- database: null,
107
- libraries: [],
108
- },
109
- selectedIDEs: [],
110
- projectName: null,
111
- projectIdea: null,
112
- targetUsers: null,
113
- projectPlan: null,
114
- planApproved: false,
115
-
116
- };
117
- }
118
-
119
- async install() {
120
- console.log(chalk.bold.cyan("🚀 Appiq Solution Smart Installer v1.0.0"));
121
- console.log(chalk.cyan("============================================"));
122
- console.log(chalk.dim("Built with ❤️ based on Bmad-Method"));
123
- console.log(chalk.dim("https://github.com/Viktor-Hermann/APPIQ-METHOD\n"));
124
-
125
- try {
126
- // Phase 1: Project Type Detection
127
- await this.detectProjectType();
128
-
129
- // Phase 1.5: Tech Stack Detection (Flutter, Web, etc.)
130
- await this.detectTechStack();
131
-
132
- // Phase 2: Project idea collection (only for greenfield projects)
133
- if (this.config.projectType === "greenfield") {
134
- await this.collectProjectIdea();
135
- } else {
136
- // For brownfield projects: auto-set project name from directory
137
- await this.generateBrownfieldProjectConfig();
138
- }
139
-
140
- // Phase 3: IDE Selection (MULTISELECT)
141
- await this.selectIDE();
142
-
143
-
144
-
145
- // Phase 5: Create project plan
146
- await this.createProjectPlan();
147
-
148
- // Phase 6: Plan Approval
149
- await this.approvePlan();
150
-
151
- // Phase 7: Installation
152
- await this.performInstallation();
153
-
154
-
155
-
156
- // Phase 9: BMAD Core Configuration Setup
157
- await this.setupBMADCoreConfig();
158
-
159
- // Phase 10: Document Templates & Dependencies
160
- await this.setupDocumentTemplates();
161
-
162
- // Phase 11: Agent Dependencies System (+ Flutter Agents & MCPs)
163
- await this.setupAgentDependencies();
164
-
165
- // Phase 12: BMAD Orchestration (Full Flow)
166
- await this.setupBMADOrchestration();
167
-
168
- // Phase 13: One-Click Setup
169
- await this.setupOneClickWorkflows();
170
-
171
- // Phase 14: Simple Instructions
172
- await this.showSimpleInstructions();
173
- } catch (error) {
174
- console.error(chalk.red("❌ Installation failed:"), error.message);
175
- process.exit(1);
176
- }
177
- }
178
-
179
- async detectProjectType() {
180
- console.log(chalk.yellow("🔍 Project Analysis..."));
181
-
182
- // Auto-Detection
183
- const hasPackageJson = fs.existsSync(
184
- path.join(this.projectRoot, "package.json")
185
- );
186
- const hasPubspec = fs.existsSync(
187
- path.join(this.projectRoot, "pubspec.yaml")
188
- );
189
- const hasExistingCode = this.hasExistingSourceCode();
190
- const hasDocumentation = this.hasExistingDocumentation();
191
-
192
- let suggestedType = "greenfield";
193
- let reason = "New project detected";
194
-
195
- if (hasExistingCode || hasDocumentation) {
196
- suggestedType = "brownfield";
197
- reason = "Existing code/documentation found";
198
- }
199
-
200
- console.log(chalk.gray(`💡 Analysis: ${reason}`));
201
- console.log(
202
- chalk.gray(
203
- `📊 Recommendation: ${
204
- suggestedType === "greenfield"
205
- ? "Greenfield (New Project)"
206
- : "Brownfield (Existing Project)"
207
- }`
208
- )
209
- );
210
-
211
- // User Confirmation
212
- const { projectType } = await inquirer.prompt([
213
- {
214
- type: "list",
215
- name: "projectType",
216
- message: "🎯 What type of project is this?",
217
- choices: [
218
- {
219
- name: `✨ Greenfield - New project (Recommended: ${
220
- suggestedType === "greenfield" ? "✅" : "❌"
221
- })`,
222
- value: "greenfield",
223
- short: "Greenfield",
224
- },
225
- {
226
- name: `🔧 Brownfield - Enhance existing project (Recommended: ${
227
- suggestedType === "brownfield" ? "✅" : "❌"
228
- })`,
229
- value: "brownfield",
230
- short: "Brownfield",
231
- },
232
- ],
233
- default: suggestedType,
234
- },
235
- ]);
236
-
237
- this.config.projectType = projectType;
238
- console.log(
239
- chalk.green(
240
- `✅ Project Type: ${
241
- projectType === "greenfield"
242
- ? "Greenfield (New)"
243
- : "Brownfield (Existing)"
244
- }\n`
245
- )
246
- );
247
- }
248
-
249
- async selectIDE() {
250
- console.log(chalk.yellow("🛠️ IDE Selection"));
251
- console.log(
252
- chalk.bold.yellow.bgRed(
253
- " ⚠️ MULTISELECT: Use SPACEBAR to select multiple IDEs! "
254
- )
255
- );
256
- console.log(chalk.gray("Select ALL IDEs that you use:\n"));
257
-
258
- const { ides } = await inquirer.prompt([
259
- {
260
- type: "checkbox",
261
- name: "ides",
262
- message:
263
- "🎯 Which IDEs do you use? (SPACEBAR = select, ENTER = confirm)",
264
- choices: [
265
- { name: "🔵 Cursor", value: "cursor" },
266
- { name: "🟣 Claude Code CLI", value: "claude-code" },
267
- { name: "🟢 Windsurf", value: "windsurf" },
268
- { name: "🔶 VS Code + Cline", value: "cline" },
269
- { name: "🟠 Trae", value: "trae" },
270
- { name: "🔴 Roo Code", value: "roo" },
271
- { name: "🟪 Gemini CLI", value: "gemini" },
272
- { name: "⚫ GitHub Copilot", value: "github-copilot" },
273
- ],
274
- validate: (input) => {
275
- if (input.length === 0) {
276
- return "Please select at least one IDE!";
277
- }
278
- return true;
279
- },
280
- },
281
- ]);
282
-
283
- this.config.selectedIDEs = ides;
284
- const ideNames = ides.map((ide) => this.getIDEName(ide)).join(", ");
285
- console.log(chalk.green(`✅ IDEs: ${ideNames}\n`));
286
- }
287
-
288
-
289
-
290
- async detectTechStack() {
291
- console.log(chalk.yellow("🔍 Tech Stack Detection"));
292
- console.log(chalk.gray("Analyzing project environment and tech stack...\n"));
293
-
294
- // Check for Flutter
295
- const isFlutter = fs.existsSync(
296
- path.join(this.projectRoot, "pubspec.yaml")
297
- );
298
-
299
- // Check for existing web frameworks
300
- const hasPackageJson = fs.existsSync(
301
- path.join(this.projectRoot, "package.json")
302
- );
303
- let webFramework = null;
304
-
305
- if (hasPackageJson) {
306
- try {
307
- const packageJson = JSON.parse(
308
- fs.readFileSync(path.join(this.projectRoot, "package.json"), "utf8")
309
- );
310
- if (packageJson.dependencies) {
311
- const deps = Object.keys(packageJson.dependencies);
312
- if (deps.includes("next")) webFramework = "next.js";
313
- else if (deps.includes("react")) webFramework = "react";
314
- else if (deps.includes("vue")) webFramework = "vue";
315
- else if (deps.includes("@nuxt/core")) webFramework = "nuxt.js";
316
- else if (deps.includes("@angular/core")) webFramework = "angular";
317
- }
318
- } catch (e) {
319
- // ignore package.json parsing errors
320
- }
321
- }
322
-
323
- // Auto-detect or ask user
324
- if (isFlutter) {
325
- console.log(chalk.green("✅ Flutter project detected!"));
326
- this.config.techStack.platform = "flutter";
327
- this.config.techStack.isFlutter = true;
328
- this.config.techStack.hasUI = true;
329
- console.log(chalk.cyan(" → Dart MCP Server will be configured"));
330
- console.log(
331
- chalk.cyan(" → Flutter Clean Architecture Agents will be loaded\n")
332
- );
333
- } else if (webFramework) {
334
- console.log(chalk.green(`✅ ${webFramework} project detected!`));
335
- this.config.techStack.platform = "web";
336
- this.config.techStack.hasUI = true;
337
- console.log(
338
- chalk.cyan(" → shadcn/ui + v0.dev integration will be configured\n")
339
- );
340
- } else {
341
- // Ask user for platform
342
- const { platform } = await inquirer.prompt([
343
- {
344
- type: "list",
345
- name: "platform",
346
- message: "🎯 Which tech stack are you using?",
347
- choices: [
348
- { name: "📱 Flutter Mobile App", value: "flutter" },
349
- { name: "🌐 Web App (React/Next.js/Vue)", value: "web" },
350
- { name: "🚀 Fullstack (Frontend + Backend)", value: "fullstack" },
351
- { name: "⚡ API/Backend Only", value: "api" },
352
- { name: "🤷 Not sure yet", value: "unknown" },
353
- ],
354
- },
355
- ]);
356
-
357
- this.config.techStack.platform = platform;
358
- this.config.techStack.isFlutter = platform === "flutter";
359
- this.config.techStack.hasUI = ["flutter", "web", "fullstack"].includes(
360
- platform
361
- );
362
-
363
- if (platform === "flutter") {
364
- console.log(chalk.cyan(" → Dart MCP Server will be configured"));
365
- console.log(
366
- chalk.cyan(" → Flutter Clean Architecture Agents will be loaded")
367
- );
368
- } else if (platform === "web" || platform === "fullstack") {
369
- console.log(
370
- chalk.cyan(" → shadcn/ui + v0.dev integration will be configured")
371
- );
372
- }
373
- console.log("");
374
- }
375
- }
376
-
377
- async collectProjectIdea() {
378
- console.log(chalk.yellow("💡 Collecting Project Information"));
379
-
380
- // For brownfield projects, skip detailed project idea collection
381
- if (this.config.projectType === "brownfield") {
382
- console.log(
383
- chalk.gray("📁 Detected existing project - using current directory\n")
384
- );
385
-
386
- const dirName = path.basename(this.projectRoot);
387
- this.config.projectName = dirName;
388
- this.config.projectIdea = `Brownfield project: ${dirName}`;
389
- this.config.targetUsers = "Existing project users";
390
-
391
- console.log(chalk.green(`✅ Project identified: "${dirName}"\n`));
392
- return;
393
- }
394
-
395
- // For greenfield projects, collect detailed information
396
- console.log(chalk.gray("Describe your project concept:\n"));
397
-
398
- const { projectIdea, projectName, targetUsers } = await inquirer.prompt([
399
- {
400
- type: "input",
401
- name: "projectName",
402
- message: "🏷️ What should your project be called?",
403
- validate: (input) =>
404
- input.length > 0 ? true : "Please enter a project name!",
405
- },
406
- {
407
- type: "editor",
408
- name: "projectIdea",
409
- message: "💡 Describe your project idea (detailed):",
410
- validate: (input) =>
411
- input.length > 10
412
- ? true
413
- : "Please describe your project in more detail!",
414
- },
415
- {
416
- type: "input",
417
- name: "targetUsers",
418
- message: "👥 Who are your target groups/users?",
419
- validate: (input) =>
420
- input.length > 0 ? true : "Please describe your target audience!",
421
- },
422
- ]);
423
-
424
- this.config.projectName = projectName;
425
- this.config.projectIdea = projectIdea;
426
- this.config.targetUsers = targetUsers;
427
-
428
- console.log(chalk.green(`✅ Project idea captured: "${projectName}"\n`));
429
- }
430
-
431
- async generateBrownfieldProjectConfig() {
432
- console.log(chalk.yellow("📋 Configuring brownfield project..."));
433
-
434
- // Auto-set project name from directory name
435
- const dirName = path.basename(this.projectRoot);
436
- this.config.projectName = dirName;
437
-
438
- console.log(chalk.cyan(`🏷️ Project name: ${dirName}`));
439
- console.log(chalk.gray(" → Using directory name as project name"));
440
-
441
- // Set default values for brownfield projects
442
- this.config.projectIdea = `Enhancing existing ${dirName} project with AI agents`;
443
- this.config.targetUsers = "Existing project stakeholders and development team";
444
-
445
- // Auto-create docs/prd.md if it doesn't exist
446
- const docsDir = path.join(this.projectRoot, "docs");
447
- const prdPath = path.join(docsDir, "prd.md");
448
-
449
- if (!fs.existsSync(prdPath)) {
450
- if (!fs.existsSync(docsDir)) {
451
- fs.mkdirSync(docsDir, { recursive: true });
452
- }
453
-
454
- const prdTemplate = this.config.techStack?.isFlutter ?
455
- "flutter-mobile-prd-tmpl.yaml" : "prd-tmpl.yaml";
456
-
457
- console.log(chalk.cyan("📄 Creating docs/prd.md automatically"));
458
- console.log(chalk.gray(` → Using template: ${prdTemplate}`));
459
-
460
- const prdContent = `# Product Requirements Document - ${dirName}
461
-
462
- ## Project Overview
463
- This is a brownfield project enhancement for ${dirName}.
464
-
465
- **Note:** Please fill in your specific requirements, features, and objectives below.
466
-
467
- ## Current State Analysis
468
- - [ ] Document existing functionality
469
- - [ ] Identify technical debt
470
- - [ ] List current features
471
- - [ ] Note architecture patterns
472
-
473
- ## Enhancement Goals
474
- - [ ] Define new features to add
475
- - [ ] List improvements to make
476
- - [ ] Specify performance goals
477
- - [ ] Document user experience improvements
478
-
479
- ## Technical Requirements
480
- - [ ] Document current tech stack
481
- - [ ] List required integrations
482
- - [ ] Define API requirements
483
- - [ ] Specify database changes
484
-
485
- ## Next Steps
486
- 1. Fill in the requirements above
487
- 2. Run \`@architect\` to analyze current architecture
488
- 3. Use \`@sm\` to create feature stories
489
- 4. Start implementation with \`@dev\`
490
- `;
491
-
492
- fs.writeFileSync(prdPath, prdContent);
493
- console.log(chalk.green("✅ docs/prd.md created successfully"));
494
- } else {
495
- console.log(chalk.cyan("📄 docs/prd.md already exists"));
496
- }
497
-
498
- console.log(chalk.green(`✅ Brownfield project configured: "${dirName}"\n`));
499
- }
500
-
501
- async createProjectPlan() {
502
- console.log(chalk.yellow("📋 Creating project plan..."));
503
- console.log(chalk.gray("Based on your idea and project type\n"));
504
-
505
- // Normally team-fullstack.yaml would be used here
506
- const plan = this.generateProjectPlan();
507
- this.config.projectPlan = plan;
508
-
509
- console.log(chalk.cyan("📋 Your Project Plan:"));
510
- console.log(chalk.white("─".repeat(50)));
511
- console.log(plan);
512
- console.log(chalk.white("─".repeat(50) + "\n"));
513
- }
514
-
515
- async approvePlan() {
516
- const { approved, changes } = await inquirer.prompt([
517
- {
518
- type: "confirm",
519
- name: "approved",
520
- message: "✅ Are you satisfied with this plan?",
521
- default: true,
522
- },
523
- {
524
- type: "input",
525
- name: "changes",
526
- message:
527
- "📝 What changes would you like? (or ENTER for no changes)",
528
- when: (answers) => !answers.approved,
529
- },
530
- ]);
531
-
532
- if (!approved && changes) {
533
- console.log(chalk.yellow("📝 Adapting plan..."));
534
- this.config.planChanges = changes;
535
- // Plan would be adapted here
536
- console.log(chalk.green("✅ Plan has been adapted!\n"));
537
- } else {
538
- console.log(
539
- chalk.green("✅ Plan approved - development can start!\n")
540
- );
541
- }
542
-
543
- this.config.planApproved = true;
544
- }
545
-
546
- generateProjectPlan() {
547
- const { projectType, projectName, projectIdea, targetUsers } = this.config;
548
-
549
- return `🎯 PROJECT PLAN: ${projectName}
550
-
551
- 📊 PROJECT TYPE: ${
552
- projectType === "greenfield"
553
- ? "Greenfield (New Project)"
554
- : "Brownfield (Existing Project)"
555
- }
556
- 👥 TARGET AUDIENCE: ${targetUsers}
557
-
558
- 💡 PROJECT IDEA:
559
- ${projectIdea}
560
-
561
- 🚀 DEVELOPMENT PIPELINE:
562
- ${
563
- projectType === "greenfield"
564
- ? `
565
- 1. 📋 PO (Product Owner) → Create PRD
566
- 2. 🏗️ Architect → Design system architecture
567
- 3. 🎨 UX Expert → UI/UX Design
568
- 4. 📝 Story Master → Break down user stories
569
- 5. 💻 Developer → Implement features
570
- 6. ✅ QA Expert → Testing & validation
571
- 7. 📊 SM (Scrum Master) → Sprint coordination
572
- `
573
- : `
574
- 1. 📋 PO → Analyze existing documentation
575
- 2. 🏗️ Architect → Architecture review
576
- 3. 📝 Story Master → Plan new features
577
- 4. 💻 Developer → Integrate features into existing base
578
- 5. ✅ QA Expert → Regression testing
579
- 6. 📊 SM → Change management
580
- `
581
- }
582
-
583
- 🎮 ONE-CLICK COMMANDS:
584
- - /start → Start entire workflow
585
- - /plan → Detailed planning
586
- - /develop → Begin development
587
- - /review → Code review
588
- - /deploy → Prepare deployment`;
589
- }
590
-
591
- async setupBMADCoreConfig() {
592
- console.log(chalk.yellow("⚙️ Setting up BMAD Core Configuration..."));
593
-
594
- // Create .bmad-core directory
595
- const bmadCoreDir = path.join(this.appiqPath, ".bmad-core");
596
- if (!fs.existsSync(bmadCoreDir)) {
597
- fs.mkdirSync(bmadCoreDir, { recursive: true });
598
- }
599
-
600
- // Create core-config.yaml
601
- const coreConfigPath = path.join(bmadCoreDir, "core-config.yaml");
602
- fs.writeFileSync(coreConfigPath, this.generateCoreConfig());
603
-
604
- // Create technical-preferences.md
605
- const techPrefsPath = path.join(bmadCoreDir, "data");
606
- if (!fs.existsSync(techPrefsPath)) {
607
- fs.mkdirSync(techPrefsPath, { recursive: true });
608
- }
609
- fs.writeFileSync(
610
- path.join(techPrefsPath, "technical-preferences.md"),
611
- this.generateTechnicalPreferences()
612
- );
613
-
614
- console.log(chalk.green("✅ BMAD Core Configuration bereit!\n"));
615
- }
616
-
617
- async setupDocumentTemplates() {
618
- console.log(chalk.yellow("📄 Document Templates & Struktur einrichten..."));
619
-
620
- // Create docs directory structure
621
- const docsDir = path.join(this.projectRoot, "docs");
622
- const archDir = path.join(docsDir, "architecture");
623
- const storiesDir = path.join(docsDir, "stories");
624
-
625
- [docsDir, archDir, storiesDir].forEach((dir) => {
626
- if (!fs.existsSync(dir)) {
627
- fs.mkdirSync(dir, { recursive: true });
628
- }
629
- });
630
-
631
- // Create templates
632
- const templatesDir = path.join(this.appiqPath, "templates");
633
- if (!fs.existsSync(templatesDir)) {
634
- fs.mkdirSync(templatesDir, { recursive: true });
635
- }
636
-
637
- // PRD Template
638
- fs.writeFileSync(
639
- path.join(templatesDir, "prd-template.md"),
640
- this.generatePRDTemplate()
641
- );
642
-
643
- // Architecture Template
644
- fs.writeFileSync(
645
- path.join(templatesDir, "architecture-template.md"),
646
- this.generateArchitectureTemplate()
647
- );
648
-
649
- // Story Template
650
- fs.writeFileSync(
651
- path.join(templatesDir, "story-template.md"),
652
- this.generateStoryTemplate()
653
- );
654
-
655
- // Create initial PRD if planning is complete
656
- if (this.config.planApproved) {
657
- fs.writeFileSync(path.join(docsDir, "prd.md"), this.generateInitialPRD());
658
- }
659
-
660
- console.log(chalk.green("✅ Document Templates created!\n"));
661
- }
662
-
663
- async setupAgentDependencies() {
664
- console.log(chalk.yellow("🔗 Setting up Agent Dependencies System..."));
665
-
666
- const agentsDir = path.join(this.appiqPath, "agents");
667
- const tasksDir = path.join(this.appiqPath, "tasks");
668
- const dataDir = path.join(this.appiqPath, "data");
669
-
670
- // Create directories
671
- [tasksDir, dataDir].forEach((dir) => {
672
- if (!fs.existsSync(dir)) {
673
- fs.mkdirSync(dir, { recursive: true });
674
- }
675
- });
676
-
677
- // Create BMAD Knowledge Base
678
- fs.writeFileSync(
679
- path.join(dataDir, "bmad-kb.md"),
680
- this.generateBMADKnowledgeBase()
681
- );
682
-
683
- // Create essential tasks
684
- fs.writeFileSync(
685
- path.join(tasksDir, "create-doc.md"),
686
- this.generateCreateDocTask()
687
- );
688
- fs.writeFileSync(
689
- path.join(tasksDir, "shard-doc.md"),
690
- this.generateShardDocTask()
691
- );
692
- fs.writeFileSync(
693
- path.join(tasksDir, "validate-story.md"),
694
- this.generateValidateStoryTask()
695
- );
696
-
697
- // Add Flutter-specific agents if Flutter project
698
- if (this.config.techStack.isFlutter) {
699
- await this.addFlutterAgents();
700
- }
701
-
702
- // Update agents with proper dependencies
703
- await this.updateAgentsWithDependencies();
704
-
705
- console.log(chalk.green("✅ Agent Dependencies System bereit!\n"));
706
- }
707
-
708
- async setupBMADOrchestration() {
709
- console.log(chalk.yellow("🎭 BMAD Full Orchestration einrichten..."));
710
-
711
- // Create orchestration config based on BMAD Flow
712
- const orchestrationConfig = {
713
- planningPhase: {
714
- agents: ["analyst", "pm", "ux-expert", "architect", "po"],
715
- workflow:
716
- this.config.projectType === "greenfield"
717
- ? "greenfield-planning"
718
- : "brownfield-planning",
719
- },
720
- developmentPhase: {
721
- agents: ["sm", "po", "dev", "qa"],
722
- workflow: "core-development-cycle",
723
- },
724
- transitions: {
725
- planningToIDE: "document-sharding",
726
- criticalCommitPoints: ["before-next-story", "after-qa-approval"],
727
- },
728
- };
729
-
730
- // Generate BMAD Orchestration
731
- const orchestrationPath = path.join(
732
- this.appiqPath,
733
- "bmad-orchestration.yaml"
734
- );
735
- fs.writeFileSync(
736
- orchestrationPath,
737
- this.generateBMADOrchestration(orchestrationConfig)
738
- );
739
-
740
- // Create workflow guides
741
- const workflowsDir = path.join(this.appiqPath, "workflows");
742
- if (!fs.existsSync(workflowsDir)) {
743
- fs.mkdirSync(workflowsDir, { recursive: true });
744
- }
745
-
746
- fs.writeFileSync(
747
- path.join(workflowsDir, "planning-workflow.md"),
748
- this.generatePlanningWorkflow()
749
- );
750
- fs.writeFileSync(
751
- path.join(workflowsDir, "development-cycle.md"),
752
- this.generateDevelopmentCycle()
753
- );
754
- fs.writeFileSync(
755
- path.join(workflowsDir, "document-sharding.md"),
756
- this.generateDocumentSharding()
757
- );
758
-
759
- console.log(chalk.green("✅ BMAD Full Orchestration bereit!\n"));
760
- }
761
-
762
- generateCoreConfig() {
763
- return `# BMAD Core Configuration
764
- # Built with ❤️ based on Bmad-Method
765
-
766
- project:
767
- name: ${this.config.projectName || "Unbenanntes Projekt"}
768
- type: ${this.config.projectType}
769
- created: ${new Date().toISOString()}
770
-
771
- # Files that dev agent should ALWAYS load into context
772
- devLoadAlwaysFiles:
773
- - docs/architecture/coding-standards.md
774
- - docs/architecture/tech-stack.md
775
- - docs/architecture/project-structure.md
776
-
777
- # Document paths configuration
778
- documentPaths:
779
- prd: "docs/prd.md"
780
- architecture: "docs/architecture.md"
781
- stories: "docs/stories/"
782
- templates: "appiq-solution/templates/"
783
-
784
- # Agent dependencies configuration
785
- dependencies:
786
- templates:
787
- - prd-template.md
788
- - architecture-template.md
789
- - story-template.md
790
- tasks:
791
- - create-doc.md
792
- - shard-doc.md
793
- - validate-story.md
794
- data:
795
- - bmad-kb.md
796
- - technical-preferences.md
797
- `;
798
- }
799
-
800
- generateTechnicalPreferences() {
801
- return `# Technical Preferences
802
-
803
- *Diese Datei hilft PM und Architect dabei, Ihre bevorzugten Design-Patterns und Technologien zu berücksichtigen.*
804
-
805
- ## Projekt: ${this.config.projectName || "Unbenanntes Projekt"}
806
- **Platform:** ${this.config.techStack.platform || "nicht definiert"}
807
-
808
- ### Bevorzugte Technologien
809
-
810
- ${
811
- this.config.techStack.isFlutter
812
- ? `
813
- **📱 Flutter Mobile Development:**
814
- - **Framework:** Flutter 3.35+ (beta), Dart 3.9+
815
- - **Architecture:** Clean Architecture with Feature-based structure
816
- - **State Management:** Cubit/BLoC pattern (preferred), Riverpod (alternative)
817
- - **Dependency Injection:** GetIt + Injectable
818
- - **Code Generation:** Freezed, Build Runner
819
- - **Backend Integration:** Firebase, Supabase, REST APIs, GraphQL
820
- - **Testing:** Unit Testing, Widget Testing, Integration Testing, Golden Tests
821
-
822
- **🔌 Flutter MCP Integration:**
823
- - **Dart MCP Server:** Automatisch konfiguriert für AI-Assistenten
824
- - **Hot Reload:** Via MCP für Live-Development
825
- - **Package Management:** pub.dev Integration via MCP
826
- - **Error Analysis:** Automatische Fehlererkennung via MCP
827
-
828
- **📦 Recommended Packages:**
829
- - **UI:** Material 3, Cupertino (iOS-style)
830
- - **Navigation:** go_router
831
- - **HTTP:** dio
832
- - **Local Storage:** shared_preferences, hive
833
- - **Image:** cached_network_image
834
- `
835
- : ""
836
- }
837
-
838
- ${
839
- this.config.techStack.platform === "web" ||
840
- this.config.techStack.platform === "fullstack"
841
- ? `
842
- **🌐 Web Development:**
843
- - **Framework:** React/Next.js, Vue/Nuxt, Angular
844
- - **UI Library:** shadcn/ui (preferred), v0.dev components, Material-UI, Chakra UI
845
- - **Styling:** Tailwind CSS, CSS-in-JS, SCSS
846
- - **AI Design:** v0.dev für Rapid Prototyping
847
-
848
- **🎨 shadcn/ui + v0.dev Integration:**
849
- - **Design System:** shadcn/ui als Basis-Komponenten
850
- - **AI-Generated Components:** v0.dev für schnelle UI-Erstellung
851
- - **Customization:** Tailwind CSS für individuelle Anpassungen
852
- - **Accessibility:** Radix-UI Primitives als Basis
853
- `
854
- : ""
855
- }
856
-
857
- ${
858
- this.config.projectType === "greenfield" && !this.config.techStack.isFlutter
859
- ? `
860
- **Backend:**
861
- - Runtime: Node.js, Python, Go
862
- - Framework: Express, FastAPI, Gin
863
- - Database: PostgreSQL, MongoDB, Redis
864
-
865
- **DevOps:**
866
- - Deployment: Vercel, Railway, AWS
867
- - CI/CD: GitHub Actions, GitLab CI
868
- - Monitoring: Sentry, LogRocket
869
- `
870
- : ""
871
- }
872
-
873
- ${
874
- this.config.projectType === "brownfield"
875
- ? `
876
- **Bestehende Technologien erweitern:**
877
- - Kompatibilität mit bestehender Code-Basis beachten
878
- - Minimale neue Dependencies
879
- - Schrittweise Migration wenn nötig
880
- `
881
- : ""
882
- }
883
-
884
- ### Design Patterns
885
- ${
886
- this.config.techStack.isFlutter
887
- ? `
888
- - **Clean Architecture** (Presentation → Domain → Data)
889
- - **Feature-based Structure** (/features/auth, /features/dashboard)
890
- - **Repository Pattern** für Datenaccess
891
- - **Cubit Pattern** für State Management
892
- - **SOLID Principles** anwenden
893
- `
894
- : `
895
- - **Architektur:** Clean Architecture, Hexagonal, MVC
896
- - **Code Style:** DRY, SOLID Principles, KISS
897
- ${
898
- this.config.techStack.hasUI
899
- ? "- **Design System:** shadcn/ui für konsistente UI"
900
- : ""
901
- }
902
- `
903
- }
904
-
905
- ### Testing & Quality
906
- ${
907
- this.config.techStack.isFlutter
908
- ? `
909
- - **Dart Analysis:** Very strict linting rules
910
- - **Flutter Lints:** Official Flutter linting package
911
- - **Testing:** Minimum 80% code coverage
912
- - **Golden Tests:** UI consistency tests
913
- - **Integration Tests:** End-to-end testing
914
- `
915
- : `
916
- - **Testing:** TDD/BDD, Unit + Integration Tests
917
- - **Documentation:** README-driven, Inline Comments
918
- - **Code Quality:** ESLint + Prettier (wenn applicable)
919
- ${
920
- this.config.techStack.hasUI
921
- ? "- **Component Testing:** Storybook für Component Documentation"
922
- : ""
923
- }
924
- `
925
- }
926
-
927
- ### AI-Integration & MCP
928
- ${
929
- this.config.techStack.isFlutter
930
- ? `
931
- - **Dart MCP Server:** Für direkten AI-Zugriff auf Flutter Tools
932
- - **Flutter DevTools:** MCP-basierte AI-Assistenz
933
- - **Package Discovery:** AI-gestützte pub.dev Suche
934
- - **Code Analysis:** Automatische Fehlererkennung und -behebung
935
- `
936
- : ""
937
- }
938
- ${
939
- this.config.techStack.hasUI && !this.config.techStack.isFlutter
940
- ? `
941
- - **v0.dev Integration:** AI-generierte UI-Komponenten
942
- - **shadcn/ui Library:** KI-optimierte Component Library
943
- - **Design Tokens:** Konsistente AI-generierte Designs
944
- `
945
- : ""
946
- }
947
-
948
- ### Coding Standards
949
- - **Naming:** ${
950
- this.config.techStack.isFlutter
951
- ? "lowerCamelCase für Variablen, PascalCase für Classes"
952
- : "camelCase für Variablen, PascalCase für Components"
953
- }
954
- - **Files:** ${
955
- this.config.techStack.isFlutter
956
- ? "snake_case für Dart Dateien"
957
- : "kebab-case für Dateien, PascalCase für Components"
958
- }
959
- - **Functions:** Kleine, fokussierte Funktionen (<50 Zeilen)
960
- - **Comments:** Erkläre WARUM, nicht WAS
961
-
962
- ### Präferenzen
963
- - **Performance:** Optimierung vor Abstraktion
964
- - **Security:** Security-by-Design
965
- - **Accessibility:** ${
966
- this.config.techStack.isFlutter
967
- ? "Flutter Accessibility Widget support"
968
- : "WCAG 2.1 AA Standard"
969
- }
970
- - **Mobile:** Mobile-First Approach
971
-
972
- ---
973
- *Platform: ${this.config.techStack.platform}*
974
- *MCP Configured: ${
975
- this.config.techStack.isFlutter ? "Dart MCP ✅" : "Standard"
976
- }*
977
- *Aktualisiert: ${new Date().toLocaleDateString("de-DE")}*
978
- `;
979
- }
980
-
981
- generatePRDTemplate() {
982
- return `# Product Requirements Document (PRD)
983
-
984
- ## Projekt: [PROJECT_NAME]
985
-
986
- ### 1. Problem Statement
987
- *Welches Problem lösen wir?*
988
-
989
- ### 2. Solution Overview
990
- *Wie lösen wir das Problem?*
991
-
992
- ### 3. Target Users
993
- *Wer sind unsere Zielgruppen?*
994
-
995
- ### 4. Functional Requirements (FRs)
996
- *Was muss das System können?*
997
-
998
- #### 4.1 Core Features
999
- - [ ] Feature 1
1000
- - [ ] Feature 2
1001
-
1002
- #### 4.2 Advanced Features
1003
- - [ ] Advanced Feature 1
1004
- - [ ] Advanced Feature 2
1005
-
1006
- ### 5. Non-Functional Requirements (NFRs)
1007
- *Wie gut muss das System funktionieren?*
1008
-
1009
- #### 5.1 Performance
1010
- - Response Time: < 200ms
1011
- - Throughput: [SPECIFY]
1012
-
1013
- #### 5.2 Security
1014
- - Authentication: [METHOD]
1015
- - Authorization: [RBAC/ABAC]
1016
-
1017
- #### 5.3 Scalability
1018
- - Users: [NUMBER]
1019
- - Data: [VOLUME]
1020
-
1021
- ### 6. User Stories & Epics
1022
-
1023
- #### Epic 1: [EPIC_NAME]
1024
- - **Story 1.1:** Als [USER] möchte ich [ACTION] um [BENEFIT]
1025
- - **Story 1.2:** Als [USER] möchte ich [ACTION] um [BENEFIT]
1026
-
1027
- #### Epic 2: [EPIC_NAME]
1028
- - **Story 2.1:** Als [USER] möchte ich [ACTION] um [BENEFIT]
1029
- - **Story 2.2:** Als [USER] möchte ich [ACTION] um [BENEFIT]
1030
-
1031
- ### 7. Success Metrics
1032
- *Wie messen wir Erfolg?*
1033
-
1034
- - Metric 1: [DEFINITION]
1035
- - Metric 2: [DEFINITION]
1036
-
1037
- ---
1038
- *Erstellt mit Appiq Solution - Built with ❤️ based on Bmad-Method*
1039
- `;
1040
- }
1041
-
1042
- generateArchitectureTemplate() {
1043
- return `# System Architecture
1044
-
1045
- ## Projekt: [PROJECT_NAME]
1046
-
1047
- ### 1. Architecture Overview
1048
- *High-level Systemübersicht*
1049
-
1050
- ### 2. Technology Stack
1051
-
1052
- #### Frontend
1053
- - Framework: [FRAMEWORK]
1054
- - State Management: [STATE_MANAGEMENT]
1055
- - Styling: [STYLING_SOLUTION]
1056
-
1057
- #### Backend
1058
- - Runtime: [RUNTIME]
1059
- - Framework: [FRAMEWORK]
1060
- - Database: [DATABASE]
1061
-
1062
- #### Infrastructure
1063
- - Hosting: [HOSTING_PLATFORM]
1064
- - CI/CD: [CI_CD_SOLUTION]
1065
-
1066
- ### 3. System Components
1067
-
1068
- #### 3.1 Frontend Components
1069
- - Component Library
1070
- - State Management
1071
- - Routing
1072
- - API Layer
1073
-
1074
- #### 3.2 Backend Services
1075
- - API Layer
1076
- - Business Logic
1077
- - Data Access Layer
1078
- - External Integrations
1079
-
1080
- ### 4. Data Models
1081
-
1082
- #### User Model
1083
- \`\`\`
1084
- {
1085
- id: string
1086
- email: string
1087
- name: string
1088
- createdAt: Date
1089
- }
1090
- \`\`\`
1091
-
1092
- ### 5. API Design
1093
-
1094
- #### Authentication
1095
- - POST /api/auth/login
1096
- - POST /api/auth/register
1097
- - POST /api/auth/logout
1098
-
1099
- #### Core Resources
1100
- - GET /api/[resource]
1101
- - POST /api/[resource]
1102
- - PUT /api/[resource]/:id
1103
- - DELETE /api/[resource]/:id
1104
-
1105
- ### 6. Security Considerations
1106
- - Authentication Strategy
1107
- - Authorization Model
1108
- - Data Validation
1109
- - Rate Limiting
1110
-
1111
- ### 7. Performance Considerations
1112
- - Caching Strategy
1113
- - Database Optimization
1114
- - CDN Usage
1115
- - Lazy Loading
1116
-
1117
- ### 8. Deployment Architecture
1118
- - Development Environment
1119
- - Staging Environment
1120
- - Production Environment
1121
-
1122
- ---
1123
- *Erstellt mit Appiq Solution - Built with ❤️ based on Bmad-Method*
1124
- `;
1125
- }
1126
-
1127
- generateStoryTemplate() {
1128
- return `# User Story: [STORY_TITLE]
1129
-
1130
- ## Story Details
1131
- **Als** [USER_TYPE]
1132
- **möchte ich** [ACTION]
1133
- **um** [BENEFIT]
1134
-
1135
- ## Acceptance Criteria
1136
- - [ ] Criterion 1
1137
- - [ ] Criterion 2
1138
- - [ ] Criterion 3
1139
-
1140
- ## Technical Tasks
1141
- - [ ] Task 1: [DESCRIPTION]
1142
- - [ ] Task 2: [DESCRIPTION]
1143
- - [ ] Task 3: [DESCRIPTION]
1144
-
1145
- ## Definition of Done
1146
- - [ ] Code implemented and tested
1147
- - [ ] Unit tests written and passing
1148
- - [ ] Integration tests passing
1149
- - [ ] Code reviewed and approved
1150
- - [ ] Documentation updated
1151
- - [ ] Deployed to staging
1152
- - [ ] User acceptance testing completed
1153
-
1154
- ## Dependencies
1155
- - [ ] Dependency 1
1156
- - [ ] Dependency 2
1157
-
1158
- ## Estimation
1159
- **Story Points:** [POINTS]
1160
- **Estimated Hours:** [HOURS]
1161
-
1162
- ## Notes
1163
- *Zusätzliche Notizen und Überlegungen*
1164
-
1165
- ---
1166
- **Sprint:** [SPRINT_NUMBER]
1167
- **Assigned to:** [DEVELOPER]
1168
- **Status:** [TODO/IN_PROGRESS/REVIEW/DONE]
1169
-
1170
- ---
1171
- *Erstellt mit Appiq Solution - Built with ❤️ based on Bmad-Method*
1172
- `;
1173
- }
1174
-
1175
- generateInitialPRD() {
1176
- const { projectName, projectIdea, targetUsers, projectType } = this.config;
1177
-
1178
- return `# Product Requirements Document (PRD)
1179
-
1180
- ## Projekt: ${projectName}
1181
-
1182
- ### 1. Problem Statement
1183
- ${projectIdea}
1184
-
1185
- ### 2. Target Users
1186
- ${targetUsers}
1187
-
1188
- ### 3. Project Type
1189
- ${
1190
- projectType === "greenfield"
1191
- ? "✨ Greenfield (Neues Projekt)"
1192
- : "🔧 Brownfield (Bestehendes Projekt)"
1193
- }
1194
-
1195
- ### 4. Functional Requirements (FRs)
1196
- *Diese Sektion wird durch den PM Agent vervollständigt*
1197
-
1198
- #### 4.1 Core Features
1199
- - [ ] Feature wird durch PM definiert
1200
-
1201
- ### 5. Non-Functional Requirements (NFRs)
1202
- *Diese Sektion wird durch den Architect Agent vervollständigt*
1203
-
1204
- ### 6. User Stories & Epics
1205
- *Diese Sektion wird durch den Story Master Agent vervollständigt*
1206
-
1207
- ---
1208
- **Status:** 📋 Planning Phase Complete - Ready for PM Agent
1209
- **Nächster Schritt:** PM Agent für detaillierte Requirements
1210
- **Created:** ${new Date().toLocaleDateString("de-DE")}
1211
-
1212
- ---
1213
- *Erstellt mit Appiq Solution - Built with ❤️ based on Bmad-Method*
1214
- `;
1215
- }
1216
-
1217
- generateBMADKnowledgeBase() {
1218
- return `# BMAD Knowledge Base
1219
-
1220
- ## The BMad Planning + Execution Workflow
1221
-
1222
- ### Planning Workflow (Web UI or Powerful IDE Agents)
1223
- 1. **Analyst** (Optional): Market Research, Competitor Analysis, Project Brief
1224
- 2. **PM**: Create PRD from Brief with FRs, NFRs, Epics & Stories
1225
- 3. **UX Expert** (Optional): Create Front End Spec, Generate UI Prompts
1226
- 4. **Architect**: Create Architecture from PRD + UX Spec
1227
- 5. **PO**: Run Master Checklist, validate document alignment
1228
-
1229
- ### Critical Transition: Web UI → IDE
1230
- - Copy documents to project (docs/prd.md, docs/architecture.md)
1231
- - Switch to IDE
1232
- - **PO**: Shard Documents (CRITICAL STEP)
1233
- - Begin Development Cycle
1234
-
1235
- ### Core Development Cycle (IDE)
1236
- 1. **SM**: Review previous story dev/QA notes
1237
- 2. **SM**: Draft next story from sharded epic + architecture
1238
- 3. **PO**: Validate story draft (optional)
1239
- 4. **User Approval** of story
1240
- 5. **Dev**: Sequential task execution, implement tasks + tests
1241
- 6. **Dev**: Run all validations, mark ready for review
1242
- 7. **User Verification**: Request QA or approve
1243
- 8. **QA**: Senior dev review + active refactoring (if requested)
1244
- 9. **IMPORTANT**: Verify all regression tests and linting pass
1245
- 10. **IMPORTANT**: COMMIT CHANGES BEFORE PROCEEDING
1246
- 11. Mark story as done, loop back to SM
1247
-
1248
- ### Key Principles
1249
- - **Document Sharding**: Critical step after planning phase
1250
- - **Context Management**: Keep files lean and focused
1251
- - **Commit Regularly**: Save work frequently, especially after QA
1252
- - **Agent Selection**: Use appropriate agent for each task
1253
- - **Dependencies**: Each agent loads only what it needs
1254
-
1255
- ### Special Agents
1256
- - **BMad-Master**: Can do any task except story implementation
1257
- - **BMad-Orchestrator**: Heavy-weight agent for web bundles only
1258
-
1259
- ### Technical Configuration
1260
- - **core-config.yaml**: devLoadAlwaysFiles configuration
1261
- - **technical-preferences.md**: Bias PM/Architect recommendations
1262
- - **Dependencies**: templates, tasks, data for each agent
1263
-
1264
- ---
1265
- *Built with ❤️ based on Bmad-Method*
1266
- `;
1267
- }
1268
-
1269
- generateCreateDocTask() {
1270
- return `# Create Document Task
1271
-
1272
- ## Purpose
1273
- Create structured documents following BMAD templates and standards.
1274
-
1275
- ## Usage
1276
- This task helps agents create consistent, well-structured documents.
1277
-
1278
- ## Process
1279
- 1. **Identify Document Type**: PRD, Architecture, Story, etc.
1280
- 2. **Load Template**: Use appropriate template from templates/
1281
- 3. **Gather Requirements**: Collect all necessary information
1282
- 4. **Fill Template**: Replace placeholders with actual content
1283
- 5. **Validate Structure**: Ensure all sections are complete
1284
- 6. **Save Document**: Store in correct location (docs/)
1285
-
1286
- ## Templates Available
1287
- - prd-template.md
1288
- - architecture-template.md
1289
- - story-template.md
1290
-
1291
- ## Best Practices
1292
- - Follow template structure exactly
1293
- - Replace ALL placeholders
1294
- - Include creation date and status
1295
- - Link to related documents
1296
- - Use consistent formatting
1297
-
1298
- ## Output Location
1299
- - PRD: docs/prd.md
1300
- - Architecture: docs/architecture.md
1301
- - Stories: docs/stories/[story-name].md
1302
-
1303
- ---
1304
- *Built with ❤️ based on Bmad-Method*
1305
- `;
1306
- }
1307
-
1308
- generateShardDocTask() {
1309
- return `# Document Sharding Task
1310
-
1311
- ## Purpose
1312
- **CRITICAL STEP**: Break down large documents into focused, manageable pieces for agents.
1313
-
1314
- ## When to Use
1315
- - After planning phase completion
1316
- - Before beginning development cycle
1317
- - When switching from Web UI to IDE
1318
-
1319
- ## Process
1320
- 1. **Identify Source Document**: Usually PRD or Architecture
1321
- 2. **Analyze Structure**: Find natural breaking points
1322
- 3. **Create Focused Files**: Each file serves one purpose
1323
- 4. **Maintain References**: Link shards together
1324
- 5. **Update devLoadAlwaysFiles**: Configure core-config.yaml
1325
-
1326
- ## Sharding Strategy
1327
-
1328
- ### PRD Sharding
1329
- - **Core Requirements**: docs/requirements/core.md
1330
- - **User Stories**: docs/stories/ (individual files)
1331
- - **Success Metrics**: docs/metrics.md
1332
-
1333
- ### Architecture Sharding
1334
- - **Tech Stack**: docs/architecture/tech-stack.md
1335
- - **Coding Standards**: docs/architecture/coding-standards.md
1336
- - **Project Structure**: docs/architecture/project-structure.md
1337
- - **API Design**: docs/architecture/api-design.md
1338
- - **Data Models**: docs/architecture/data-models.md
1339
-
1340
- ## Critical Points
1341
- - **Lean Files**: Each shard should be focused and minimal
1342
- - **Dev Context**: Sharded files go into devLoadAlwaysFiles
1343
- - **Agent Performance**: Smaller context = better performance
1344
- - **Maintainability**: Easier to update specific aspects
1345
-
1346
- ## Post-Sharding
1347
- 1. Update core-config.yaml devLoadAlwaysFiles
1348
- 2. Verify all shards are accessible
1349
- 3. Test agent context loading
1350
- 4. Begin development cycle
1351
-
1352
- ---
1353
- *Built with ❤️ based on Bmad-Method*
1354
- `;
1355
- }
1356
-
1357
- generateValidateStoryTask() {
1358
- return `# Validate Story Task
1359
-
1360
- ## Purpose
1361
- Ensure user stories align with PRD, architecture, and project goals.
1362
-
1363
- ## When to Use
1364
- - Before story implementation begins
1365
- - When SM drafts new stories
1366
- - When stories are modified
1367
-
1368
- ## Validation Checklist
1369
-
1370
- ### Story Structure
1371
- - [ ] Clear user role defined
1372
- - [ ] Specific action described
1373
- - [ ] Business value stated
1374
- - [ ] Acceptance criteria present
1375
-
1376
- ### Technical Alignment
1377
- - [ ] Aligns with architecture decisions
1378
- - [ ] Fits within tech stack constraints
1379
- - [ ] Dependencies identified
1380
- - [ ] Implementation feasible
1381
-
1382
- ### Business Alignment
1383
- - [ ] Supports PRD objectives
1384
- - [ ] Addresses user needs
1385
- - [ ] Measurable outcomes
1386
- - [ ] Priority justified
1387
-
1388
- ### Quality Gates
1389
- - [ ] Testable acceptance criteria
1390
- - [ ] Definition of done complete
1391
- - [ ] Effort estimation reasonable
1392
- - [ ] Risk assessment done
1393
-
1394
- ## Process
1395
- 1. **Load References**: PRD, Architecture, related stories
1396
- 2. **Check Structure**: Verify story template compliance
1397
- 3. **Validate Alignment**: Against PRD and architecture
1398
- 4. **Assess Dependencies**: Identify blockers or prerequisites
1399
- 5. **Review Quality**: Ensure story is ready for development
1400
- 6. **Provide Feedback**: Clear recommendations for improvements
1401
-
1402
- ## Common Issues
1403
- - Vague acceptance criteria
1404
- - Missing technical dependencies
1405
- - Misalignment with architecture
1406
- - Unrealistic scope or effort
1407
-
1408
- ## Output
1409
- - **Validation Status**: Pass/Fail with reasons
1410
- - **Recommendations**: Specific improvements needed
1411
- - **Dependencies**: List of prerequisites
1412
- - **Risk Assessment**: Potential implementation challenges
1413
-
1414
- ---
1415
- *Built with ❤️ based on Bmad-Method*
1416
- `;
1417
- }
1418
-
1419
- async addFlutterAgents() {
1420
- console.log(chalk.cyan(" 📱 Adding Flutter-specific agents..."));
1421
-
1422
- const agentsDir = path.join(this.appiqPath, "agents");
1423
- const flutterExpansionPath = path.join(
1424
- __dirname,
1425
- "..",
1426
- "expansion-packs",
1427
- "bmad-flutter-mobile-dev",
1428
- "agents"
1429
- );
1430
-
1431
- // Check if Flutter expansion pack exists
1432
- if (!fs.existsSync(flutterExpansionPath)) {
1433
- console.log(
1434
- chalk.yellow(
1435
- " ⚠️ Flutter expansion pack not found - creating basic Flutter agents"
1436
- )
1437
- );
1438
- await this.createBasicFlutterAgents();
1439
- return;
1440
- }
1441
-
1442
- // Copy Flutter agents from expansion pack
1443
- const flutterAgents = [
1444
- "flutter-ui-agent.md",
1445
- "flutter-cubit-agent.md",
1446
- "flutter-data-agent.md",
1447
- "flutter-domain-agent.md",
1448
- "shared-components-agent.md",
1449
- ];
1450
-
1451
- for (const agentFile of flutterAgents) {
1452
- const sourcePath = path.join(flutterExpansionPath, agentFile);
1453
- const targetPath = path.join(agentsDir, agentFile);
1454
-
1455
- if (fs.existsSync(sourcePath)) {
1456
- fs.copyFileSync(sourcePath, targetPath);
1457
- console.log(chalk.green(` ✅ ${agentFile} hinzugefügt`));
1458
- }
1459
- }
1460
-
1461
- // Create Flutter-specific data files
1462
- const dataDir = path.join(this.appiqPath, "data");
1463
- const flutterDataPath = path.join(
1464
- __dirname,
1465
- "..",
1466
- "expansion-packs",
1467
- "bmad-flutter-mobile-dev",
1468
- "data"
1469
- );
1470
-
1471
- if (
1472
- fs.existsSync(
1473
- path.join(flutterDataPath, "flutter-development-guidelines.md")
1474
- )
1475
- ) {
1476
- fs.copyFileSync(
1477
- path.join(flutterDataPath, "flutter-development-guidelines.md"),
1478
- path.join(dataDir, "flutter-development-guidelines.md")
1479
- );
1480
- console.log(
1481
- chalk.green(" ✅ Flutter development guidelines hinzugefügt")
1482
- );
1483
- }
1484
- }
1485
-
1486
- async createBasicFlutterAgents() {
1487
- console.log(chalk.gray(" 🔨 Creating basic Flutter agents..."));
1488
-
1489
- const agentsDir = path.join(this.appiqPath, "agents");
1490
-
1491
- // Basic Flutter UI Agent
1492
- const flutterUIAgent = this.generateBasicFlutterUIAgent();
1493
- fs.writeFileSync(
1494
- path.join(agentsDir, "flutter-ui-agent.md"),
1495
- flutterUIAgent
1496
- );
1497
-
1498
- // Basic Flutter State Management Agent
1499
- const flutterStateAgent = this.generateBasicFlutterStateAgent();
1500
- fs.writeFileSync(
1501
- path.join(agentsDir, "flutter-cubit-agent.md"),
1502
- flutterStateAgent
1503
- );
1504
-
1505
- console.log(chalk.green(" ✅ Basic Flutter agents created"));
1506
- }
1507
-
1508
- generateBasicFlutterUIAgent() {
1509
- return `# Flutter UI Agent
1510
-
1511
- Du bist ein spezialisierter Flutter UI Agent, der sich auf die Erstellung von benutzerfreundlichen und responsive Mobile UI-Komponenten fokussiert.
1512
-
1513
- ## Rolle & Verantwortung
1514
-
1515
- - **UI Design & Implementation:** Erstelle schöne, Material 3 konforme Flutter UIs
1516
- - **Widget Composition:** Verwende effiziente Widget-Hierarchien
1517
- - **Responsive Design:** Sichere Kompatibilität für verschiedene Bildschirmgrößen
1518
- - **Accessibility:** Implementiere barrierefreie UI-Komponenten
1519
-
1520
- ## Expertise
1521
-
1522
- ### Flutter UI Frameworks
1523
- - **Material 3:** Modernes Material Design
1524
- - **Cupertino:** iOS-native Looks
1525
- - **Custom Widgets:** Individuelle UI-Komponenten
1526
-
1527
- ### Best Practices
1528
- - **Widget Keys:** Für Testability und Performance
1529
- - **Const Constructors:** Memory-Optimierung
1530
- - **Build Method Optimization:** Verhindere unnecessary rebuilds
1531
- - **Theme Integration:** Konsistente Design Systems
1532
-
1533
- ## Tech Stack Integration
1534
-
1535
- **Platform:** ${this.config.techStack.platform}
1536
- **MCP:** ${this.config.techStack.isFlutter ? "Dart MCP Server ✅" : "Standard"}
1537
-
1538
- ### Dart MCP Tools
1539
- - Hot Reload via MCP
1540
- - Widget Inspection via AI
1541
- - pub.dev Package Discovery
1542
- - Runtime Error Analysis
1543
-
1544
- ## Workflow Integration
1545
-
1546
- **Planning Phase:** Arbeite mit UX Expert an UI Specs
1547
- **Development Phase:** Implementiere UI basierend auf Cubit State
1548
- **Testing Phase:** Golden Tests für UI Consistency
1549
-
1550
- ---
1551
- *Built with ❤️ based on Bmad-Method*
1552
- *Flutter Clean Architecture + Dart MCP Integration*
1553
- `;
1554
- }
1555
-
1556
- generateBasicFlutterStateAgent() {
1557
- return `# Flutter Cubit State Management Agent
1558
-
1559
- Du bist ein spezialisierter Flutter State Management Agent mit Fokus auf Cubit/BLoC Pattern und Clean Architecture.
1560
-
1561
- ## Rolle & Verantwortung
1562
-
1563
- - **State Management:** Implementiere Cubit/BLoC Pattern
1564
- - **Clean Architecture:** Separation of Concerns (Presentation → Domain → Data)
1565
- - **Dependency Injection:** GetIt + Injectable Setup
1566
- - **Event Handling:** User Interactions und API Calls
1567
-
1568
- ## Expertise
1569
-
1570
- ### State Management
1571
- - **Cubit:** Simple State Management für UI
1572
- - **BLoC:** Complex Business Logic mit Events
1573
- - **Riverpod:** Alternative State Management (if needed)
1574
-
1575
- ### Architecture Patterns
1576
- - **Clean Architecture:** Feature-based Structure
1577
- - **Repository Pattern:** Data Access Layer
1578
- - **Use Cases:** Business Logic Layer
1579
- - **Dependency Injection:** Loose Coupling
1580
-
1581
- ## Tech Stack Integration
1582
-
1583
- **Platform:** ${this.config.techStack.platform}
1584
- **MCP:** ${this.config.techStack.isFlutter ? "Dart MCP Server ✅" : "Standard"}
1585
-
1586
- ### Code Generation
1587
- - **Freezed:** Immutable Data Classes
1588
- - **Injectable:** Dependency Injection Setup
1589
- - **Build Runner:** Code Generation Pipeline
1590
-
1591
- ## Workflow Integration
1592
-
1593
- **Planning Phase:** Definiere State Structure mit Domain Agent
1594
- **Development Phase:** Implementiere Business Logic
1595
- **Testing Phase:** Unit Tests für Cubits und Use Cases
1596
-
1597
- ---
1598
- *Built with ❤️ based on Bmad-Method*
1599
- *Flutter Clean Architecture + Dart MCP Integration*
1600
- `;
1601
- }
1602
-
1603
- async updateAgentsWithDependencies() {
1604
- console.log(chalk.gray(" 🔗 Updating agents with BMAD dependencies..."));
1605
-
1606
- const agentsDir = path.join(this.appiqPath, "agents");
1607
- const agents = fs.readdirSync(agentsDir);
1608
-
1609
- for (const agentFile of agents) {
1610
- const agentPath = path.join(agentsDir, agentFile);
1611
- let content = fs.readFileSync(agentPath, "utf8");
1612
-
1613
- // Add BMAD dependencies section to each agent
1614
- const dependenciesSection = `
1615
-
1616
- ## 🔗 BMAD Dependencies
1617
-
1618
- ### Templates
1619
- - prd-template.md
1620
- - architecture-template.md
1621
- - story-template.md
1622
-
1623
- ### Tasks
1624
- - create-doc.md
1625
- - shard-doc.md
1626
- - validate-story.md
1627
-
1628
- ### Data
1629
- - bmad-kb.md
1630
- - technical-preferences.md
1631
-
1632
- ### Configuration
1633
- - core-config.yaml (devLoadAlwaysFiles)
1634
-
1635
- ## 🎯 BMAD Workflow Integration
1636
-
1637
- **Planning Phase:** Web UI → IDE Transition → Document Sharding
1638
- **Development Phase:** SM → PO → Dev → QA → Loop
1639
- **Critical Points:** Commit before proceeding, verify tests passing
1640
-
1641
- `;
1642
-
1643
- // Add MCP integration section
1644
- const mcpSection = this.generateMCPAgentSection(agentFile);
1645
-
1646
- // Add dependencies and MCP section before the final line
1647
- const lines = content.split("\n");
1648
- const lastLine = lines.pop(); // Remove last line
1649
- lines.push(dependenciesSection);
1650
- lines.push(mcpSection);
1651
- lines.push(lastLine); // Add last line back
1652
-
1653
- fs.writeFileSync(agentPath, lines.join("\n"));
1654
- }
1655
- }
1656
-
1657
- generateMCPAgentSection(agentFile) {
1658
- // Bestimme Agent-Typ basierend auf Dateiname
1659
- const agentName = agentFile.replace('.md', '').toLowerCase();
1660
-
1661
- // Bestimme welche MCPs für diesen Agent relevant sind
1662
- const relevantMCPs = Object.keys(MCP_SERVERS).filter(mcpKey => {
1663
- const server = MCP_SERVERS[mcpKey];
1664
- return server.tags.includes('all') ||
1665
- server.tags.some(tag => agentName.includes(tag)) ||
1666
- (agentName.includes('architect') && server.tags.includes('architect')) ||
1667
- (agentName.includes('pm') && server.tags.includes('pm')) ||
1668
- (agentName.includes('qa') && server.tags.includes('qa')) ||
1669
- (agentName.includes('dev') && server.tags.includes('dev')) ||
1670
- (agentName.includes('ux') && server.tags.includes('ux-expert')) ||
1671
- (agentName.includes('flutter') && server.tags.includes('flutter')) ||
1672
- ((agentName.includes('web') || agentName.includes('ui')) && server.tags.includes('ui'));
1673
- });
1674
-
1675
- if (relevantMCPs.length === 0) {
1676
- return '';
1677
- }
1678
-
1679
- let section = `\n## 🔌 MCP Server Integration\n\nDu hast Zugriff auf folgende MCP Server, um deine Fähigkeiten zu erweitern:\n\n`;
1680
-
1681
- relevantMCPs.forEach(mcpKey => {
1682
- const server = MCP_SERVERS[mcpKey];
1683
- section += `- **${server.name}:** ${server.description}\n`;
1684
- });
1685
-
1686
- section += `\n**Beispiel-Anwendung:**\n`;
1687
-
1688
- // Spezifische Beispiele basierend auf Agent-Typ
1689
- if (agentName.includes('flutter')) {
1690
- section += `- "Nutze den Dart MCP, um mein Flutter Widget zu analysieren."\n`;
1691
- section += `- "Verwende den 21st.dev Magic MCP, um eine neue UI-Komponente zu erstellen."\n`;
1692
- } else if (agentName.includes('architect')) {
1693
- section += `- "Nutze den Context7 MCP, um die neueste Dokumentation für React Hooks zu finden."\n`;
1694
- section += `- "Verwende Sequential Thinking MCP für die komplexe Architektur-Planung."\n`;
1695
- } else if (agentName.includes('qa')) {
1696
- section += `- "Nutze den Puppeteer MCP, um automatisierte Browser-Tests zu erstellen."\n`;
1697
- } else if (agentName.includes('dev')) {
1698
- section += `- "Verwende den Firebase MCP, um Firestore-Daten abzurufen."\n`;
1699
- section += `- "Nutze den Supabase MCP für Datenbankoperationen."\n`;
1700
- } else {
1701
- section += `- "Nutze den Context7 MCP für aktuelle Dokumentation."\n`;
1702
- section += `- "Verwende Sequential Thinking MCP für komplexe Problemlösungen."\n`;
1703
- }
1704
-
1705
- section += `\n**Wichtig:** Die MCPs müssen in deiner IDE konfiguriert sein. Siehe mcp-setup-instructions.md für Details.\n`;
1706
-
1707
- return section;
1708
- }
1709
-
1710
- generateBMADOrchestration(config) {
1711
- return `# BMAD Full Orchestration
1712
- # Built with ❤️ based on Bmad-Method
1713
-
1714
- project:
1715
- name: ${this.config.projectName}
1716
- type: ${this.config.projectType}
1717
- plan_approved: ${this.config.planApproved}
1718
- created: ${new Date().toISOString()}
1719
-
1720
- # BMAD Planning Phase (Web UI/Powerful IDE)
1721
- planning_phase:
1722
- workflow: ${config.planningPhase.workflow}
1723
- agents:
1724
- ${config.planningPhase.agents.map((agent) => ` - ${agent}`).join("\n")}
1725
-
1726
- flow:
1727
- 1: "analyst → research & project brief (optional)"
1728
- 2: "pm → create PRD from brief"
1729
- 3: "ux-expert → create frontend spec (optional)"
1730
- 4: "architect → create architecture from PRD + UX"
1731
- 5: "po → run master checklist & validate alignment"
1732
-
1733
- # Critical Transition: Web UI → IDE
1734
- transition:
1735
- type: ${config.transitions.planningToIDE}
1736
- requirements:
1737
- - "Copy docs/prd.md and docs/architecture.md to project"
1738
- - "Switch to IDE"
1739
- - "PO: Shard documents (CRITICAL)"
1740
- - "Update core-config.yaml devLoadAlwaysFiles"
1741
-
1742
- # BMAD Development Phase (IDE Only)
1743
- development_phase:
1744
- workflow: ${config.developmentPhase.workflow}
1745
- agents:
1746
- ${config.developmentPhase.agents.map((agent) => ` - ${agent}`).join("\n")}
1747
-
1748
- cycle:
1749
- 1: "sm → review previous story dev/QA notes"
1750
- 2: "sm → draft next story from sharded epic + architecture"
1751
- 3: "po → validate story draft (optional)"
1752
- 4: "user → approve story"
1753
- 5: "dev → sequential task execution + implementation"
1754
- 6: "dev → run all validations, mark ready for review"
1755
- 7: "user → verify (request QA or approve)"
1756
- 8: "qa → senior dev review + active refactoring (if requested)"
1757
- 9: "CRITICAL → verify regression tests + linting pass"
1758
- 10: "CRITICAL → COMMIT CHANGES BEFORE PROCEEDING"
1759
- 11: "mark story done → loop back to sm"
1760
-
1761
- # Critical Commit Points
1762
- commit_points:
1763
- ${config.transitions.criticalCommitPoints
1764
- .map((point) => ` - ${point}`)
1765
- .join("\n")}
1766
-
1767
- # IDE Integration
1768
- ides:
1769
- ${this.config.selectedIDEs
1770
- .map(
1771
- (ide) => ` - name: ${this.getIDEName(ide)}
1772
- config_path: ${this.getIDEConfig(ide).dir}
1773
- file_format: ${this.getIDEConfig(ide).suffix}`
1774
- )
1775
- .join("\n")}
1776
-
1777
- # Context Management
1778
- context:
1779
- dev_always_files:
1780
- - docs/architecture/coding-standards.md
1781
- - docs/architecture/tech-stack.md
1782
- - docs/architecture/project-structure.md
1783
-
1784
- agent_dependencies:
1785
- templates: ["prd-template.md", "architecture-template.md", "story-template.md"]
1786
- tasks: ["create-doc.md", "shard-doc.md", "validate-story.md"]
1787
- data: ["bmad-kb.md", "technical-preferences.md"]
1788
-
1789
- ---
1790
- *Powered by Appiq Solution - Built with ❤️ based on Bmad-Method*
1791
- `;
1792
- }
1793
-
1794
- generatePlanningWorkflow() {
1795
- return `# BMAD Planning Workflow
1796
-
1797
- ## Übersicht
1798
- Die Planungsphase folgt einem strukturierten Workflow, idealerweise in Web UI für Kosteneffizienz.
1799
-
1800
- ## Planning Flow
1801
-
1802
- ### 1. Start: Projektidee
1803
- - Grundlegendes Konzept definiert
1804
- - Problem identifiziert
1805
-
1806
- ### 2. Analyst (Optional)
1807
- **Brainstorming:**
1808
- - Marktforschung
1809
- - Konkurrenzanalyse
1810
- - Projekt Brief erstellen
1811
-
1812
- ### 3. Project Manager (PM)
1813
- **PRD Erstellung:**
1814
- - PRD aus Brief erstellen (Fast Track)
1815
- - ODER interaktive PRD Erstellung (mehr Fragen)
1816
- - Functional Requirements (FRs)
1817
- - Non-Functional Requirements (NFRs)
1818
- - Epics & Stories definieren
1819
-
1820
- ### 4. UX Expert (Optional)
1821
- **Frontend Specification:**
1822
- - Frontend Spec erstellen
1823
- - UI Prompts für Lovable/V0 generieren (optional)
1824
-
1825
- ### 5. System Architect
1826
- **Architektur Design:**
1827
- - Architektur aus PRD erstellen
1828
- - ODER aus PRD + UX Spec erstellen
1829
- - Tech Stack definieren
1830
- - System Components planen
1831
-
1832
- ### 6. Product Owner (PO)
1833
- **Master Checklist:**
1834
- - Dokumenten-Alignment prüfen
1835
- - Epics & Stories aktualisieren (falls nötig)
1836
- - PRD/Architektur anpassen (falls nötig)
1837
-
1838
- ## Kritischer Übergang: Web UI → IDE
1839
-
1840
- ### ⚠️ WICHTIG: Transition Point
1841
- Sobald PO Dokumenten-Alignment bestätigt:
1842
-
1843
- 1. **Dokumente kopieren**: docs/prd.md und docs/architecture.md
1844
- 2. **IDE wechseln**: Projekt in bevorzugter Agentic IDE öffnen
1845
- 3. **Document Sharding**: PO Agent zum Shard der Dokumente verwenden
1846
- 4. **Development beginnen**: Core Development Cycle starten
1847
-
1848
- ## Qualitäts-Gates
1849
-
1850
- ### Planning Complete Criteria
1851
- - [ ] PRD vollständig und genehmigt
1852
- - [ ] Architektur vollständig und genehmigt
1853
- - [ ] UX Spec (falls erforderlich) genehmigt
1854
- - [ ] Alle Dokumente sind aligned
1855
- - [ ] Epics und Stories definiert
1856
- - [ ] Übergang zu IDE vorbereitet
1857
-
1858
- ## Nächste Schritte
1859
- Nach Planning Complete → **Document Sharding** → **Development Cycle**
1860
-
1861
- ---
1862
- *Built with ❤️ based on Bmad-Method*
1863
- `;
1864
- }
1865
-
1866
- generateDevelopmentCycle() {
1867
- return `# BMAD Core Development Cycle
1868
-
1869
- ## Übersicht
1870
- Strukturierter Entwicklungsworkflow in der IDE nach abgeschlossener Planungsphase.
1871
-
1872
- ## Voraussetzungen
1873
- - ✅ Planning Phase abgeschlossen
1874
- - ✅ Dokumente in Projekt kopiert (docs/prd.md, docs/architecture.md)
1875
- - ✅ **Document Sharding** durch PO Agent durchgeführt
1876
- - ✅ IDE-Setup komplett
1877
-
1878
- ## Development Cycle Flow
1879
-
1880
- ### 1. Scrum Master (SM)
1881
- **Story Vorbereitung:**
1882
- - Review previous story dev/QA notes
1883
- - Draft next story from sharded epic + architecture
1884
- - Berücksichtigt technical dependencies
1885
- - Erstellt realistische task breakdown
1886
-
1887
- ### 2. Product Owner (PO) - Optional
1888
- **Story Validation:**
1889
- - Validate story draft against artifacts
1890
- - Überprüft alignment mit PRD
1891
- - Bestätigt business value
1892
- - Kann übersprungen werden bei erfahrenen Teams
1893
-
1894
- ### 3. User Approval
1895
- **Story Freigabe:**
1896
- - ✅ **Approved**: Weiter zu Development
1897
- - ❌ **Needs Changes**: Zurück zu SM für Anpassungen
1898
-
1899
- ### 4. Developer (Dev)
1900
- **Implementation:**
1901
- - Sequential task execution
1902
- - Implement tasks + tests
1903
- - Run all validations
1904
- - Mark ready for review + add notes
1905
- - Dokumentiert implementation decisions
1906
-
1907
- ### 5. User Verification
1908
- **Review Decision:**
1909
- - 🔍 **Request QA Review**: Weiter zu QA Agent
1910
- - ✅ **Approve Without QA**: Direkt zu Final Checks
1911
- - ❌ **Needs Fixes**: Zurück zu Dev
1912
-
1913
- ### 6. QA Agent (Optional)
1914
- **Quality Assurance:**
1915
- - Senior dev review + active refactoring
1916
- - Review code, refactor, add tests
1917
- - Document notes and improvements
1918
- - **Decision**: Needs Dev Work OR Approved
1919
-
1920
- ### 7. Final Checks - ⚠️ CRITICAL
1921
- **Vor dem Abschluss:**
1922
- - ✅ Verify ALL regression tests passing
1923
- - ✅ Verify ALL linting passing
1924
- - ✅ Code review completed (if QA was used)
1925
- - ✅ Documentation updated
1926
-
1927
- ### 8. Commit - ⚠️ SUPER CRITICAL
1928
- **WICHTIG: COMMIT YOUR CHANGES BEFORE PROCEEDING!**
1929
- - Git add & commit all changes
1930
- - Include meaningful commit message
1931
- - Push to repository
1932
-
1933
- ### 9. Story Complete
1934
- **Mark als Done:**
1935
- - Story status → DONE
1936
- - Loop back to SM for next story
1937
-
1938
- ## Critical Points
1939
-
1940
- ### ⚠️ Commit Points
1941
- - **After QA Approval**: Always commit before marking done
1942
- - **Before Next Story**: Clean state for next iteration
1943
-
1944
- ### 🎯 Quality Gates
1945
- - All tests passing
1946
- - Linting clean
1947
- - Code reviewed (if QA used)
1948
- - Documentation current
1949
-
1950
- ### 📊 Context Management
1951
- - Keep relevant files only in context
1952
- - Use sharded documents
1953
- - Maintain lean, focused files
1954
-
1955
- ## Best Practices
1956
- - **Small Stories**: Keep stories manageable (< 1 week)
1957
- - **Regular Commits**: Commit frequently during development
1958
- - **Test First**: Write tests before or with implementation
1959
- - **Document Decisions**: Record architectural decisions
1960
-
1961
- ---
1962
- *Built with ❤️ based on Bmad-Method*
1963
- `;
1964
- }
1965
-
1966
- generateDocumentSharding() {
1967
- return `# Document Sharding Guide
1968
-
1969
- ## ⚠️ CRITICAL STEP
1970
- Document Sharding ist ein **essentieller Schritt** im BMAD Flow nach der Planungsphase.
1971
-
1972
- ## Wann Document Sharding durchführen?
1973
- - ✅ Nach Planning Phase Completion
1974
- - ✅ Beim Übergang von Web UI zu IDE
1975
- - ✅ Vor Beginn des Development Cycles
1976
- - ✅ Wenn Dokumente zu groß für Agent-Context werden
1977
-
1978
- ## Warum Document Sharding?
1979
- - **Performance**: Kleinere Context = bessere Agent-Performance
1980
- - **Focus**: Jede Datei dient einem spezifischen Zweck
1981
- - **Maintainability**: Einfacher zu aktualisieren und zu verwalten
1982
- - **Agent Efficiency**: Agents laden nur was sie brauchen
1983
-
1984
- ## Sharding Process
1985
-
1986
- ### 1. PRD Sharding
1987
- **Source**: docs/prd.md
1988
- **Target Structure**:
1989
- \`\`\`
1990
- docs/
1991
- ├── requirements/
1992
- │ ├── core.md # Core functional requirements
1993
- │ ├── non-functional.md # NFRs (performance, security)
1994
- │ └── success-metrics.md # KPIs and success criteria
1995
- ├── stories/
1996
- │ ├── epic-1-auth/
1997
- │ │ ├── story-1-1-login.md
1998
- │ │ └── story-1-2-register.md
1999
- │ └── epic-2-dashboard/
2000
- │ └── story-2-1-overview.md
2001
- \`\`\`
2002
-
2003
- ### 2. Architecture Sharding
2004
- **Source**: docs/architecture.md
2005
- **Target Structure**:
2006
- \`\`\`
2007
- docs/architecture/
2008
- ├── tech-stack.md # Technology decisions
2009
- ├── coding-standards.md # Code style and patterns
2010
- ├── project-structure.md # File/folder organization
2011
- ├── api-design.md # REST/GraphQL API specs
2012
- ├── data-models.md # Database schema
2013
- ├── security.md # Security considerations
2014
- └── deployment.md # Deployment architecture
2015
- \`\`\`
2016
-
2017
- ## Sharding Guidelines
2018
-
2019
- ### File Size
2020
- - **Target**: < 50 lines per sharded file
2021
- - **Maximum**: < 100 lines per sharded file
2022
- - **Focus**: One concern per file
2023
-
2024
- ### Naming Convention
2025
- - **kebab-case**: tech-stack.md, coding-standards.md
2026
- - **Descriptive**: Clear purpose from filename
2027
- - **Consistent**: Follow project conventions
2028
-
2029
- ### Content Rules
2030
- - **Atomic**: Each file covers one topic completely
2031
- - **Self-contained**: Can be understood independently
2032
- - **Linked**: Reference related files when needed
2033
- - **Lean**: Remove fluff, keep essentials
2034
-
2035
- ## Post-Sharding Configuration
2036
-
2037
- ### 1. Update core-config.yaml
2038
- \`\`\`yaml
2039
- devLoadAlwaysFiles:
2040
- - docs/architecture/coding-standards.md
2041
- - docs/architecture/tech-stack.md
2042
- - docs/architecture/project-structure.md
2043
- \`\`\`
2044
-
2045
- ### 2. Verify Agent Access
2046
- - Test that agents can load sharded files
2047
- - Ensure all references are correct
2048
- - Validate file paths in configuration
2049
-
2050
- ### 3. Update Templates
2051
- - Modify templates to reference sharded structure
2052
- - Update agent prompts to use sharded files
2053
- - Test template generation
2054
-
2055
- ## Quality Checks
2056
-
2057
- ### ✅ Sharding Complete Criteria
2058
- - [ ] All large documents sharded
2059
- - [ ] Each shard < 100 lines
2060
- - [ ] devLoadAlwaysFiles updated
2061
- - [ ] Agent dependencies resolved
2062
- - [ ] File references working
2063
- - [ ] Templates updated
2064
-
2065
- ### 🚨 Common Mistakes
2066
- - **Too Large**: Shards still too big (>100 lines)
2067
- - **Too Small**: Over-sharding (many 5-line files)
2068
- - **Broken Links**: References to old unified files
2069
- - **Missing Config**: devLoadAlwaysFiles not updated
2070
-
2071
- ## After Sharding
2072
- 1. **Test Agent Loading**: Verify agents can access all needed files
2073
- 2. **Begin Development**: Start Core Development Cycle
2074
- 3. **Monitor Performance**: Watch for context issues
2075
- 4. **Refine as Needed**: Adjust sharding based on usage
2076
-
2077
- ---
2078
- *Built with ❤️ based on Bmad-Method*
2079
- `;
2080
- }
2081
-
2082
-
2083
-
2084
-
2085
-
2086
- async performInstallation() {
2087
- console.log(chalk.yellow("📦 Installation läuft..."));
2088
-
2089
- // Create appiq-solution directory
2090
- if (!fs.existsSync(this.appiqPath)) {
2091
- fs.mkdirSync(this.appiqPath, { recursive: true });
2092
- }
2093
-
2094
- // Install optimized agents
2095
- await this.installOptimizedAgents();
2096
-
2097
- // Install project-specific configs
2098
- await this.installProjectConfig();
2099
-
2100
- // Setup IDE integration
2101
- await this.setupIDEIntegration();
2102
-
2103
- console.log(chalk.green("✅ Installation abgeschlossen!\n"));
2104
- }
2105
-
2106
- async installOptimizedAgents() {
2107
- console.log(chalk.gray(" 📄 Optimierte Agents installieren..."));
2108
-
2109
- const agentsDir = path.join(this.appiqPath, "agents");
2110
- if (!fs.existsSync(agentsDir)) {
2111
- fs.mkdirSync(agentsDir, { recursive: true });
2112
- }
2113
-
2114
- // Core optimized agents
2115
- const agents = ["init-flow-po", "architect", "pm", "sm", "dev", "qa"];
2116
-
2117
- for (const agent of agents) {
2118
- await this.createOptimizedAgent(agent);
2119
- }
2120
- }
2121
-
2122
- async createOptimizedAgent(agentName) {
2123
- const agentContent = this.generateOptimizedAgentContent(agentName);
2124
- const filePath = path.join(this.appiqPath, "agents", `${agentName}.md`);
2125
- fs.writeFileSync(filePath, agentContent);
2126
- }
2127
-
2128
- generateOptimizedAgentContent(agentName) {
2129
- const agentConfigs = {
2130
- "init-flow-po": {
2131
- name: "Product Owner & Workflow Initiator",
2132
- role: "Intelligent Project Starter & Business Requirements",
2133
- commands: [
2134
- "/init-flow",
2135
- "/analyze-project",
2136
- "/create-epic",
2137
- "/start-story",
2138
- ],
2139
- description:
2140
- "Initiates optimal workflow based on project type and handles business requirements",
2141
- },
2142
- architect: {
2143
- name: "System Architect",
2144
- role: "Technical Architecture",
2145
- commands: ["/architecture", "/tech-stack", "/design"],
2146
- description: "Develops system architecture and tech stack",
2147
- },
2148
- pm: {
2149
- name: "Product Manager",
2150
- role: "PRD & Project Planning",
2151
- commands: ["/prd", "/plan", "/epic"],
2152
- description: "Creates PRD and project documentation",
2153
- },
2154
- sm: {
2155
- name: "Scrum Master",
2156
- role: "User Stories & Sprint Planning",
2157
- commands: ["/story", "/sprint", "/tasks"],
2158
- description: "Creates user stories and sprint planning",
2159
- },
2160
- dev: {
2161
- name: "Senior Developer",
2162
- role: "Code Implementation",
2163
- commands: ["/code", "/implement", "/fix"],
2164
- description: "Implements features and fixes bugs",
2165
- },
2166
- qa: {
2167
- name: "QA Expert",
2168
- role: "Testing & Quality",
2169
- commands: ["/test", "/review", "/validate"],
2170
- description: "Performs tests and validates code quality",
2171
- },
2172
- };
2173
-
2174
- const config = agentConfigs[agentName];
2175
-
2176
- return `# ${config.name}
2177
-
2178
- ## 🎯 Rolle
2179
- ${config.role}
2180
-
2181
- ## 📋 Verfügbare Kommandos
2182
- ${config.commands
2183
- .map((cmd) => `- **${cmd}** - ${config.description}`)
2184
- .join("\n")}
2185
-
2186
- ## 🚀 One-Click Workflows
2187
-
2188
- ### Für ${
2189
- this.config.projectType === "greenfield" ? "NEUE" : "BESTEHENDE"
2190
- } Projekte:
2191
-
2192
- ${
2193
- this.config.projectType === "greenfield"
2194
- ? this.generateGreenfieldWorkflow(config)
2195
- : this.generateBrownfieldWorkflow(config)
2196
- }
2197
-
2198
- ## 🎮 Einfache Nutzung
2199
-
2200
- 1. **Laden Sie diesen Agent in Ihre IDE**
2201
- 2. **Sagen Sie:** "Agiere als ${config.name}"
2202
- 3. **Verwenden Sie:** ${config.commands[0]} für Quick-Start
2203
-
2204
- ---
2205
- *Automatisch optimiert für ${this.config.selectedIDEs
2206
- .map((ide) => this.getIDEName(ide))
2207
- .join(", ")}*
2208
- *Powered by Appiq - Based on Bmad-Method*
2209
- `;
2210
- }
2211
-
2212
- generateGreenfieldWorkflow(config) {
2213
- const workflows = {
2214
- "Appiq Launcher": `
2215
- **🚀 Schnell-Start für neues Projekt:**
2216
- 1. \`/start\` - Automatische Projekt-Analyse
2217
- 2. Erstellt automatisch: PRD-Vorlage, Architektur-Basis, erste Stories
2218
- 3. **Wo alles hingehört:** Alle Dateien werden automatisch in \`docs/\` erstellt`,
2219
-
2220
- "Project Manager": `
2221
- **📋 PRD Erstellung:**
2222
- 1. \`/prd\` - Startet PRD-Assistent
2223
- 2. **Datei wird erstellt:** \`docs/prd.md\`
2224
- 3. **Nächster Schritt:** Architect für Architektur`,
2225
-
2226
- "System Architect": `
2227
- **🏗️ Architektur erstellen:**
2228
- 1. \`/architecture\` - Basierend auf PRD
2229
- 2. **Datei wird erstellt:** \`docs/architecture.md\`
2230
- 3. **Nächster Schritt:** Story Master für erste Stories`,
2231
-
2232
- "Story Master": `
2233
- **📝 Erste Stories:**
2234
- 1. \`/story\` - Erstellt erste User Story
2235
- 2. **Datei wird erstellt:** \`docs/stories/story-001.md\`
2236
- 3. **Nächster Schritt:** Developer für Implementation`,
2237
-
2238
- "Senior Developer": `
2239
- **💻 Implementation:**
2240
- 1. \`/implement\` - Implementiert aktuelle Story
2241
- 2. **Erstellt/bearbeitet:** Entsprechende Code-Dateien
2242
- 3. **Nächster Schritt:** QA Expert für Review`,
2243
-
2244
- "QA Expert": `
2245
- **✅ Testing & Review:**
2246
- 1. \`/review\` - Reviewed aktuellen Code
2247
- 2. **Erstellt:** Test-Dateien und Reports
2248
- 3. **Nächster Schritt:** Zurück zu Story Master für nächste Story`,
2249
- };
2250
-
2251
- return workflows[config.name] || "Standard Greenfield Workflow";
2252
- }
2253
-
2254
- generateBrownfieldWorkflow(config) {
2255
- const workflows = {
2256
- "Appiq Launcher": `
2257
- **🔧 Quick Start for Existing Project:**
2258
- 1. \`/analyze\` - Analyzes existing project
2259
- 2. **Finds:** Existing docs, code structure, tech stack
2260
- 3. **Creates:** Customized workflows for your project`,
2261
-
2262
- "Project Manager": `
2263
- **📋 Automatic PRD Creation:**
2264
- 1. **Creates automatically:** \`docs/prd.md\` (if not present)
2265
- 2. **For Flutter Projects:** Uses flutter-mobile-prd-tmpl.yaml
2266
- 3. **No project name prompt** - Uses directory name
2267
- 4. **Next Step:** Architect for architecture review`,
2268
-
2269
- "System Architect": `
2270
- **🏗️ Architecture Review:**
2271
- 1. \`/review-architecture\` - Analyzes existing structure
2272
- 2. **Creates/updates:** \`docs/architecture.md\`
2273
- 3. **Next Step:** Story Master for new features`,
2274
-
2275
- "Story Master": `
2276
- **📝 Feature Stories:**
2277
- 1. \`/new-feature\` - New story for existing project
2278
- 2. **File created:** \`docs/stories/feature-XXX.md\`
2279
- 3. **Considers:** Existing code base`,
2280
-
2281
- "Senior Developer": `
2282
- **💻 Feature Implementation:**
2283
- 1. \`/add-feature\` - Implements in existing code
2284
- 2. **Edits:** Existing files safely
2285
- 3. **Creates:** New files where needed`,
2286
-
2287
- "QA Expert": `
2288
- **✅ Regression Testing:**
2289
- 1. \`/regression-test\` - Tests new features
2290
- 2. **Validates:** No breaking changes
2291
- 3. **Creates:** Test reports for existing + new features`,
2292
- };
2293
-
2294
- return workflows[config.name] || "Standard Brownfield Workflow";
2295
- }
2296
-
2297
- async setupOneClickWorkflows() {
2298
- console.log(chalk.yellow("⚡ Setting up One-Click Workflows..."));
2299
-
2300
- // Create quick commands
2301
- const commandsDir = path.join(this.appiqPath, "commands");
2302
- if (!fs.existsSync(commandsDir)) {
2303
- fs.mkdirSync(commandsDir, { recursive: true });
2304
- }
2305
-
2306
- // Project-type specific quick starts
2307
- const quickStartContent = this.generateQuickStartScript();
2308
- fs.writeFileSync(
2309
- path.join(commandsDir, "quick-start.md"),
2310
- quickStartContent
2311
- );
2312
-
2313
- console.log(chalk.green("✅ One-Click Workflows bereit!\n"));
2314
- }
2315
-
2316
- generateQuickStartScript() {
2317
- return `# 🚀 Appiq Solution - BMAD Workflow Guide
2318
-
2319
- ## Projekt: ${this.config.projectName || "Unbenanntes Projekt"}
2320
- **Typ:** ${
2321
- this.config.projectType === "greenfield"
2322
- ? "✨ Greenfield (Neues Projekt)"
2323
- : "🔧 Brownfield (Bestehendes Projekt)"
2324
- }
2325
-
2326
- ## 📋 BMAD Planning Workflow (Phase 1)
2327
-
2328
- ### Option A: Web UI Planning (Kosteneffizient)
2329
- 1. Claude/Gemini/GPT mit team-fullstack Bundle verwenden
2330
- 2. **Flow:** Analyst → PM → UX Expert → Architect → PO
2331
- 3. **Output:** docs/prd.md, docs/architecture.md
2332
-
2333
- ### Option B: IDE Planning (Leistungsstark)
2334
- \`\`\`
2335
- @analyst → Market Research & Project Brief
2336
- @pm → PRD mit FRs, NFRs, Epics & Stories erstellen
2337
- @ux-expert → Frontend Spec (optional)
2338
- @architect → System Architecture design
2339
- @po → Master Checklist & Document Alignment
2340
- \`\`\`
2341
-
2342
- ## ⚠️ KRITISCHER ÜBERGANG: Document Sharding
2343
-
2344
- **ESSENTIAL STEP:**
2345
- \`\`\`
2346
- @po bitte shard die PRD und Architecture Dokumente in fokussierte Dateien
2347
- \`\`\`
2348
-
2349
- **Das erstellt:**
2350
- - docs/architecture/tech-stack.md ← Dev lädt immer
2351
- - docs/architecture/coding-standards.md ← Dev lädt immer
2352
- - docs/architecture/project-structure.md ← Dev lädt immer
2353
- - docs/requirements/core.md
2354
- - docs/stories/ (individual story files)
2355
-
2356
- ## 🚀 BMAD Development Cycle (Phase 2)
2357
-
2358
- ### Core Development Loop:
2359
- \`\`\`
2360
- 1. @sm → Review previous notes, draft next story from sharded epic
2361
- 2. @po → Validate story draft (optional)
2362
- 3. User → Approve story
2363
- 4. @dev → Sequential tasks, implement + tests, mark ready
2364
- 5. User → Verify (request QA or approve)
2365
- 6. @qa → Senior dev review + refactoring (optional)
2366
- 7. ⚠️ CRITICAL: Verify tests + linting pass
2367
- 8. ⚠️ SUPER CRITICAL: COMMIT CHANGES BEFORE PROCEEDING!
2368
- 9. Mark story done → Loop back to @sm
2369
- \`\`\`
2370
-
2371
- ## 🎯 One-Click Commands
2372
-
2373
- ### Planning:
2374
- - \`/plan\` → Start planning workflow
2375
- - \`/prd\` → Generate PRD
2376
- - \`/arch\` → Design architecture
2377
-
2378
- ### Critical Transition:
2379
- - \`/shard\` → Document sharding (ESSENTIAL!)
2380
-
2381
- ### Development:
2382
- - \`/story\` → Draft next story
2383
- - \`/dev\` → Start development
2384
- - \`/test\` → Run tests
2385
- - \`/qa\` → Request review
2386
- - \`/commit\` → Commit changes
2387
-
2388
- ### ${
2389
- this.config.projectType === "greenfield" ? "Greenfield" : "Brownfield"
2390
- } Specific:
2391
- ${
2392
- this.config.projectType === "greenfield"
2393
- ? `
2394
- - \`/start\` → Fresh project setup
2395
- - \`/design\` → Create from scratch
2396
- - \`/build\` → Build step by step
2397
- `
2398
- : `
2399
- - \`/analyze\` → Analyze existing code
2400
- - \`/document\` → Document current state
2401
- - \`/improve\` → Plan improvements
2402
- `
2403
- }
2404
-
2405
- ## 📊 File Structure
2406
-
2407
- \`\`\`
2408
- your-project/
2409
- ├── docs/
2410
- │ ├── prd.md ← Initial PRD
2411
- │ ├── architecture.md ← Initial Architecture
2412
- │ ├── architecture/ ← Sharded files
2413
- │ │ ├── tech-stack.md
2414
- │ │ ├── coding-standards.md
2415
- │ │ └── project-structure.md
2416
- │ ├── requirements/
2417
- │ │ └── core.md
2418
- │ └── stories/
2419
- │ ├── epic-1-auth/
2420
- │ └── epic-2-features/
2421
- ├── appiq-solution/
2422
- │ ├── agents/ ← AI-Agents
2423
- │ ├── templates/ ← Document templates
2424
- │ ├── workflows/ ← Workflow guides
2425
- │ └── .bmad-core/ ← BMAD configuration
2426
- └── .cursor/rules/ ← IDE integration
2427
- \`\`\`
2428
-
2429
- ## ⚠️ Critical Success Factors
2430
-
2431
- ### Document Sharding (ESSENTIAL):
2432
- - **MUST DO** after planning phase
2433
- - Creates focused, lean files for agents
2434
- - Improves agent performance dramatically
2435
-
2436
- ### Commit Points:
2437
- - After QA approval (always!)
2438
- - Before next story (clean state)
2439
- - Regular commits during development
2440
-
2441
- ### Quality Gates:
2442
- - All tests passing ✅
2443
- - Linting clean ✅
2444
- - Code reviewed (if QA used) ✅
2445
- - Documentation updated ✅
2446
-
2447
- ## 🆘 Help & Support
2448
-
2449
- - \`/help\` → Show all commands
2450
- - \`/workflow\` → Current workflow step
2451
- - \`/agents\` → Available agents
2452
- - \`/docs\` → Documentation
2453
-
2454
- ### Workflow Files:
2455
- - appiq-solution/workflows/planning-workflow.md
2456
- - appiq-solution/workflows/development-cycle.md
2457
- - appiq-solution/workflows/document-sharding.md
2458
-
2459
- ---
2460
- **IDEs:** ${this.config.selectedIDEs
2461
- .map((ide) => this.getIDEName(ide))
2462
- .join(", ")}
2463
- **Created:** ${new Date().toLocaleDateString("de-DE")}
2464
- **Powered by Appiq Solution - Built with ❤️ based on Bmad-Method**
2465
- `;
2466
- }
2467
-
2468
- async setupIDEIntegration() {
2469
- if (
2470
- this.config.selectedIDEs.includes("manual") &&
2471
- this.config.selectedIDEs.length === 1
2472
- )
2473
- return;
2474
-
2475
- console.log(chalk.gray(" 🔧 Mehrere IDE-Integrationen..."));
2476
-
2477
- for (const ide of this.config.selectedIDEs) {
2478
- if (ide === "manual") continue;
2479
-
2480
- console.log(
2481
- chalk.gray(` 📝 ${this.getIDEName(ide)} wird konfiguriert...`)
2482
- );
2483
-
2484
- const ideConfig = this.getIDEConfig(ide);
2485
- const ideDir = path.join(this.projectRoot, ideConfig.dir);
2486
-
2487
- if (!fs.existsSync(ideDir)) {
2488
- fs.mkdirSync(ideDir, { recursive: true });
2489
- }
2490
-
2491
- // Copy agents to IDE-specific format
2492
- const agentsPath = path.join(this.appiqPath, "agents");
2493
- const agents = fs.readdirSync(agentsPath);
2494
-
2495
- for (const agent of agents) {
2496
- const sourcePath = path.join(agentsPath, agent);
2497
- const targetPath = path.join(
2498
- ideDir,
2499
- agent.replace(".md", ideConfig.suffix)
2500
- );
2501
- fs.copyFileSync(sourcePath, targetPath);
2502
- }
2503
-
2504
- console.log(chalk.green(` ✅ ${this.getIDEName(ide)} konfiguriert`));
2505
- }
2506
-
2507
- console.log(chalk.green(" ✅ Alle IDE-Integrationen abgeschlossen!"));
2508
- }
2509
-
2510
- getIDEConfig(ide) {
2511
- const configs = {
2512
- cursor: { dir: ".cursor/rules", suffix: ".mdc" },
2513
- "claude-code": { dir: ".claude/commands/Appiq", suffix: ".md" },
2514
- windsurf: { dir: ".windsurf/rules", suffix: ".md" },
2515
- cline: { dir: ".clinerules", suffix: ".md" },
2516
- trae: { dir: ".trae/rules", suffix: ".md" },
2517
- roo: { dir: ".roo/agents", suffix: ".md" },
2518
- gemini: { dir: ".gemini/commands", suffix: ".md" },
2519
- "github-copilot": { dir: ".github/copilot", suffix: ".md" },
2520
- };
2521
- return configs[ide] || { dir: ".appiq-solution", suffix: ".md" };
2522
- }
2523
-
2524
- getIDEName(ide) {
2525
- const names = {
2526
- cursor: "Cursor",
2527
- "claude-code": "Claude Code CLI",
2528
- windsurf: "Windsurf",
2529
- cline: "VS Code + Cline",
2530
- trae: "Trae",
2531
- roo: "Roo Code",
2532
- gemini: "Gemini CLI",
2533
- "github-copilot": "GitHub Copilot",
2534
- manual: "Manuell",
2535
- };
2536
- return names[ide] || ide;
2537
- }
2538
-
2539
- async showSimpleInstructions() {
2540
- console.log(chalk.bold.green("🎉 Appiq Installation Erfolgreich!\n"));
2541
- console.log(chalk.dim("Built with ❤️ based on the amazing Bmad-Method"));
2542
- console.log(chalk.dim("https://github.com/Viktor-Hermann/APPIQ-METHOD\n"));
2543
-
2544
- console.log(chalk.cyan("📋 Nächste Schritte (Super einfach):"));
2545
- console.log(chalk.white("════════════════════════════════════\n"));
2546
-
2547
- if (
2548
- this.config.selectedIDEs.length > 0 &&
2549
- !this.config.selectedIDEs.includes("manual")
2550
- ) {
2551
- console.log(
2552
- chalk.yellow(
2553
- `1. Ihre IDEs öffnen: ${this.config.selectedIDEs
2554
- .map((ide) => this.getIDEName(ide))
2555
- .join(", ")}`
2556
- )
2557
- );
2558
- console.log(
2559
- chalk.gray(` → Agents sind bereits in allen IDEs installiert!\n`)
2560
- );
2561
- }
2562
-
2563
- console.log(chalk.yellow("2. 📋 BMAD Planning Workflow:"));
2564
- if (this.config.planApproved) {
2565
- console.log(
2566
- chalk.green(` ✅ Planning Complete - Ready for Development!`)
2567
- );
2568
- console.log(chalk.cyan(` → Ihre initial PRD: docs/prd.md`));
2569
- } else {
2570
- console.log(chalk.cyan(` Option A: Web UI (kosteneffizient)`));
2571
- console.log(chalk.gray(` → Claude/Gemini/GPT mit Agents verwenden`));
2572
- console.log(chalk.cyan(` Option B: Direkt in IDE`));
2573
- console.log(chalk.gray(` → @pm für PRD, @architect für Architecture`));
2574
- }
2575
- console.log("");
2576
-
2577
- console.log(chalk.yellow("3. ⚠️ KRITISCHER ÜBERGANG: Document Sharding"));
2578
- console.log(
2579
- chalk.red(
2580
- ` → Sagen Sie Ihrer IDE: ${chalk.bold(
2581
- '"@po bitte shard die PRD und Architecture Dokumente"'
2582
- )}`
2583
- )
2584
- );
2585
- console.log(
2586
- chalk.gray(` → Dokumente werden in fokussierte Teile aufgeteilt\n`)
2587
- );
2588
-
2589
- console.log(chalk.yellow("4. 🚀 BMAD Development Cycle:"));
2590
- console.log(chalk.cyan(` 1. @sm → Story Draft von Sharded Epic`));
2591
- console.log(chalk.cyan(` 2. @po → Story Validation (optional)`));
2592
- console.log(chalk.cyan(` 3. User → Story Approval`));
2593
- console.log(chalk.cyan(` 4. @dev → Implementation + Tests`));
2594
- console.log(chalk.cyan(` 5. @qa → Code Review (optional)`));
2595
- console.log(chalk.red(` 6. ⚠️ COMMIT CHANGES BEFORE PROCEEDING!`));
2596
- console.log(chalk.gray(` → Loop zurück zu @sm für nächste Story\n`));
2597
-
2598
- console.log(chalk.yellow("5. 🎯 Quick Commands (in quick-start.md):"));
2599
- console.log(chalk.cyan(` /plan → Planning starten`));
2600
- console.log(chalk.cyan(` /shard → Document Sharding`));
2601
- console.log(chalk.cyan(` /story → Nächste Story`));
2602
- console.log(chalk.cyan(` /dev → Development`));
2603
- console.log(chalk.cyan(` /qa → Quality Review`));
2604
- console.log(chalk.gray(` → Alle Details in appiq-solution/workflows/\n`));
2605
-
2606
- console.log(chalk.cyan("🎯 Das war's! Kein komplizierter Setup mehr."));
2607
- console.log(chalk.green("🚀 Viel Erfolg mit Appiq!\n"));
2608
-
2609
- // Quick reference
2610
- console.log(chalk.dim("━".repeat(50)));
2611
- console.log(chalk.dim("📁 Quick Reference:"));
2612
- console.log(chalk.dim(` • Agents: appiq-solution/agents/`));
2613
- console.log(
2614
- chalk.dim(` • Quick Start: appiq-solution/commands/quick-start.md`)
2615
- );
2616
- console.log(chalk.dim(` • Projekt-Typ: ${this.config.projectType}`));
2617
- console.log(
2618
- chalk.dim(
2619
- ` • IDEs: ${this.config.selectedIDEs
2620
- .map((ide) => this.getIDEName(ide))
2621
- .join(", ")}`
2622
- )
2623
- );
2624
- }
2625
-
2626
- // Helper methods
2627
- hasExistingSourceCode() {
2628
- const sourceDirs = ["src", "lib", "app", "components", "pages"];
2629
- return sourceDirs.some(
2630
- (dir) =>
2631
- fs.existsSync(path.join(this.projectRoot, dir)) &&
2632
- fs.readdirSync(path.join(this.projectRoot, dir)).length > 0
2633
- );
2634
- }
2635
-
2636
- hasExistingDocumentation() {
2637
- const docFiles = ["README.md", "docs", "documentation"];
2638
- return docFiles.some((file) =>
2639
- fs.existsSync(path.join(this.projectRoot, file))
2640
- );
2641
- }
2642
-
2643
- async installProjectConfig() {
2644
- const configContent = this.generateProjectConfig();
2645
- fs.writeFileSync(
2646
- path.join(this.appiqPath, "project-config.yaml"),
2647
- configContent
2648
- );
2649
- }
2650
-
2651
- generateProjectConfig() {
2652
- return `# Appiq Solution Project Configuration
2653
- # Built with ❤️ based on Bmad-Method
2654
- version: "1.0.0"
2655
- project:
2656
- type: ${this.config.projectType}
2657
- created: ${new Date().toISOString()}
2658
- name: ${this.config.projectName || path.basename(this.projectRoot)}
2659
- plan_approved: ${this.config.planApproved}
2660
-
2661
- # Wo die wichtigen Dateien liegen
2662
- paths:
2663
- prd: "docs/prd.md"
2664
- architecture: "docs/architecture.md"
2665
- stories: "docs/stories/"
2666
- agents: "appiq-solution/agents/"
2667
- orchestration: "appiq-solution/orchestration.yaml"
2668
-
2669
- # One-Click Workflows
2670
- workflows:
2671
- ${this.config.projectType === "greenfield" ? "greenfield" : "brownfield"}:
2672
- start_command: "${
2673
- this.config.projectType === "greenfield" ? "/start" : "/analyze"
2674
- }"
2675
- agents_sequence:
2676
- - init-flow-po
2677
- - architect
2678
- - pm
2679
- - dev
2680
- - qa
2681
-
2682
- # IDE Integration (Mehrere IDEs)
2683
- ides:
2684
- ${this.config.selectedIDEs
2685
- .map(
2686
- (ide) => ` - name: ${this.getIDEName(ide)}
2687
- config_path: ${this.getIDEConfig(ide).dir}
2688
- file_format: ${this.getIDEConfig(ide).suffix}`
2689
- )
2690
- .join("\n")}
2691
- `;
2692
- }
2693
- }
2694
-
2695
- // Run installer if called directly
2696
- if (require.main === module) {
2697
- // Check if 'install' command is provided
2698
- const args = process.argv.slice(2);
2699
-
2700
- if (args.length === 0 || args[0] === "install") {
2701
- const installer = new AppiqSolutionInstaller();
2702
- installer.install().catch(console.error);
2703
- } else {
2704
- console.log(
2705
- chalk.red("❌ Unknown command. Use: npx appiq-solution install")
2706
- );
2707
- process.exit(1);
2708
- }
2709
- }
2710
-
2711
- module.exports = AppiqSolutionInstaller;