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,1096 +0,0 @@
1
- const path = require("path");
2
- const fs = require("fs-extra");
3
- const yaml = require("js-yaml");
4
- const chalk = require("chalk");
5
- const inquirer = require("inquirer");
6
- const fileManager = require("./file-manager");
7
- const configLoader = require("./config-loader");
8
- const { extractYamlFromAgent } = require("../../lib/yaml-utils");
9
- const BaseIdeSetup = require("./ide-base-setup");
10
- const resourceLocator = require("./resource-locator");
11
-
12
- class IdeSetup extends BaseIdeSetup {
13
- constructor() {
14
- super();
15
- this.ideAgentConfig = null;
16
- }
17
-
18
- async loadIdeAgentConfig() {
19
- if (this.ideAgentConfig) return this.ideAgentConfig;
20
-
21
- try {
22
- const configPath = path.join(__dirname, '..', 'config', 'ide-agent-config.yaml');
23
- const configContent = await fs.readFile(configPath, 'utf8');
24
- this.ideAgentConfig = yaml.load(configContent);
25
- return this.ideAgentConfig;
26
- } catch (error) {
27
- console.warn('Failed to load IDE agent configuration, using defaults');
28
- return {
29
- 'roo-permissions': {},
30
- 'cline-order': {}
31
- };
32
- }
33
- }
34
-
35
- async setup(ide, installDir, selectedAgent = null, spinner = null, preConfiguredSettings = null) {
36
- const ideConfig = await configLoader.getIdeConfiguration(ide);
37
-
38
- if (!ideConfig) {
39
- console.log(chalk.yellow(`\nNo configuration available for ${ide}`));
40
- return false;
41
- }
42
-
43
- switch (ide) {
44
- case "cursor":
45
- return this.setupCursor(installDir, selectedAgent);
46
- case "claude-code":
47
- return this.setupClaudeCode(installDir, selectedAgent);
48
- case "windsurf":
49
- return this.setupWindsurf(installDir, selectedAgent);
50
- case "trae":
51
- return this.setupTrae(installDir, selectedAgent);
52
- case "roo":
53
- return this.setupRoo(installDir, selectedAgent);
54
- case "cline":
55
- return this.setupCline(installDir, selectedAgent);
56
- case "gemini":
57
- return this.setupGeminiCli(installDir, selectedAgent);
58
- case "github-copilot":
59
- return this.setupGitHubCopilot(installDir, selectedAgent, spinner, preConfiguredSettings);
60
- default:
61
- console.log(chalk.yellow(`\nIDE ${ide} not yet supported`));
62
- return false;
63
- }
64
- }
65
-
66
- async setupCursor(installDir, selectedAgent) {
67
- const cursorRulesDir = path.join(installDir, ".cursor", "rules");
68
- const agents = selectedAgent ? [selectedAgent] : await this.getAllAgentIds(installDir);
69
-
70
- await fileManager.ensureDirectory(cursorRulesDir);
71
-
72
- for (const agentId of agents) {
73
- const agentPath = await this.findAgentPath(agentId, installDir);
74
-
75
- if (agentPath) {
76
- const mdcContent = await this.createAgentRuleContent(agentId, agentPath, installDir, 'mdc');
77
- const mdcPath = path.join(cursorRulesDir, `${agentId}.mdc`);
78
- await fileManager.writeFile(mdcPath, mdcContent);
79
- console.log(chalk.green(`āœ“ Created rule: ${agentId}.mdc`));
80
- }
81
- }
82
-
83
- console.log(chalk.green(`\nāœ“ Created Cursor rules in ${cursorRulesDir}`));
84
- return true;
85
- }
86
-
87
- async setupClaudeCode(installDir, selectedAgent) {
88
- // Setup bmad-core commands
89
- const coreSlashPrefix = await this.getCoreSlashPrefix(installDir);
90
- const coreAgents = selectedAgent ? [selectedAgent] : await this.getCoreAgentIds(installDir);
91
- const coreTasks = await this.getCoreTaskIds(installDir);
92
- await this.setupClaudeCodeForPackage(installDir, "core", coreSlashPrefix, coreAgents, coreTasks, ".bmad-core");
93
-
94
- // Setup expansion pack commands
95
- const expansionPacks = await this.getInstalledExpansionPacks(installDir);
96
- for (const packInfo of expansionPacks) {
97
- const packSlashPrefix = await this.getExpansionPackSlashPrefix(packInfo.path);
98
- const packAgents = await this.getExpansionPackAgents(packInfo.path);
99
- const packTasks = await this.getExpansionPackTasks(packInfo.path);
100
-
101
- if (packAgents.length > 0 || packTasks.length > 0) {
102
- // Use the actual directory name where the expansion pack is installed
103
- const rootPath = path.relative(installDir, packInfo.path);
104
- await this.setupClaudeCodeForPackage(installDir, packInfo.name, packSlashPrefix, packAgents, packTasks, rootPath);
105
- }
106
- }
107
-
108
- return true;
109
- }
110
-
111
- async setupClaudeCodeForPackage(installDir, packageName, slashPrefix, agentIds, taskIds, rootPath) {
112
- const commandsBaseDir = path.join(installDir, ".claude", "commands", slashPrefix);
113
- const agentsDir = path.join(commandsBaseDir, "agents");
114
- const tasksDir = path.join(commandsBaseDir, "tasks");
115
-
116
- // Ensure directories exist
117
- await fileManager.ensureDirectory(agentsDir);
118
- await fileManager.ensureDirectory(tasksDir);
119
-
120
- // Setup agents
121
- for (const agentId of agentIds) {
122
- // Find the agent file - for expansion packs, prefer the expansion pack version
123
- let agentPath;
124
- if (packageName !== "core") {
125
- // For expansion packs, first try to find the agent in the expansion pack directory
126
- const expansionPackPath = path.join(installDir, rootPath, "agents", `${agentId}.md`);
127
- if (await fileManager.pathExists(expansionPackPath)) {
128
- agentPath = expansionPackPath;
129
- } else {
130
- // Fall back to core if not found in expansion pack
131
- agentPath = await this.findAgentPath(agentId, installDir);
132
- }
133
- } else {
134
- // For core, use the normal search
135
- agentPath = await this.findAgentPath(agentId, installDir);
136
- }
137
-
138
- const commandPath = path.join(agentsDir, `${agentId}.md`);
139
-
140
- if (agentPath) {
141
- // Create command file with agent content
142
- let agentContent = await fileManager.readFile(agentPath);
143
-
144
- // Replace {root} placeholder with the appropriate root path for this context
145
- agentContent = agentContent.replace(/{root}/g, rootPath);
146
-
147
- // Add command header
148
- let commandContent = `# /${agentId} Command\n\n`;
149
- commandContent += `When this command is used, adopt the following agent persona:\n\n`;
150
- commandContent += agentContent;
151
-
152
- await fileManager.writeFile(commandPath, commandContent);
153
- console.log(chalk.green(`āœ“ Created agent command: /${agentId}`));
154
- }
155
- }
156
-
157
- // Setup tasks
158
- for (const taskId of taskIds) {
159
- // Find the task file - for expansion packs, prefer the expansion pack version
160
- let taskPath;
161
- if (packageName !== "core") {
162
- // For expansion packs, first try to find the task in the expansion pack directory
163
- const expansionPackPath = path.join(installDir, rootPath, "tasks", `${taskId}.md`);
164
- if (await fileManager.pathExists(expansionPackPath)) {
165
- taskPath = expansionPackPath;
166
- } else {
167
- // Fall back to core if not found in expansion pack
168
- taskPath = await this.findTaskPath(taskId, installDir);
169
- }
170
- } else {
171
- // For core, use the normal search
172
- taskPath = await this.findTaskPath(taskId, installDir);
173
- }
174
-
175
- const commandPath = path.join(tasksDir, `${taskId}.md`);
176
-
177
- if (taskPath) {
178
- // Create command file with task content
179
- let taskContent = await fileManager.readFile(taskPath);
180
-
181
- // Replace {root} placeholder with the appropriate root path for this context
182
- taskContent = taskContent.replace(/{root}/g, rootPath);
183
-
184
- // Add command header
185
- let commandContent = `# /${taskId} Task\n\n`;
186
- commandContent += `When this command is used, execute the following task:\n\n`;
187
- commandContent += taskContent;
188
-
189
- await fileManager.writeFile(commandPath, commandContent);
190
- console.log(chalk.green(`āœ“ Created task command: /${taskId}`));
191
- }
192
- }
193
-
194
- console.log(chalk.green(`\nāœ“ Created Claude Code commands for ${packageName} in ${commandsBaseDir}`));
195
- console.log(chalk.dim(` - Agents in: ${agentsDir}`));
196
- console.log(chalk.dim(` - Tasks in: ${tasksDir}`));
197
- }
198
-
199
- async setupWindsurf(installDir, selectedAgent) {
200
- const windsurfRulesDir = path.join(installDir, ".windsurf", "rules");
201
- const agents = selectedAgent ? [selectedAgent] : await this.getAllAgentIds(installDir);
202
-
203
- await fileManager.ensureDirectory(windsurfRulesDir);
204
-
205
- for (const agentId of agents) {
206
- // Find the agent file
207
- const agentPath = await this.findAgentPath(agentId, installDir);
208
-
209
- if (agentPath) {
210
- const agentContent = await fileManager.readFile(agentPath);
211
- const mdPath = path.join(windsurfRulesDir, `${agentId}.md`);
212
-
213
- // Create MD content (similar to Cursor but without frontmatter)
214
- let mdContent = `# ${agentId.toUpperCase()} Agent Rule\n\n`;
215
- mdContent += `This rule is triggered when the user types \`@${agentId}\` and activates the ${await this.getAgentTitle(
216
- agentId,
217
- installDir
218
- )} agent persona.\n\n`;
219
- mdContent += "## Agent Activation\n\n";
220
- mdContent +=
221
- "CRITICAL: Read the full YAML, start activation to alter your state of being, follow startup section instructions, stay in this being until told to exit this mode:\n\n";
222
- mdContent += "```yaml\n";
223
- // Extract just the YAML content from the agent file
224
- const yamlContent = extractYamlFromAgent(agentContent);
225
- if (yamlContent) {
226
- mdContent += yamlContent;
227
- } else {
228
- // If no YAML found, include the whole content minus the header
229
- mdContent += agentContent.replace(/^#.*$/m, "").trim();
230
- }
231
- mdContent += "\n```\n\n";
232
- mdContent += "## File Reference\n\n";
233
- const relativePath = path.relative(installDir, agentPath).replace(/\\/g, '/');
234
- mdContent += `The complete agent definition is available in [${relativePath}](${relativePath}).\n\n`;
235
- mdContent += "## Usage\n\n";
236
- mdContent += `When the user types \`@${agentId}\`, activate this ${await this.getAgentTitle(
237
- agentId,
238
- installDir
239
- )} persona and follow all instructions defined in the YAML configuration above.\n`;
240
-
241
- await fileManager.writeFile(mdPath, mdContent);
242
- console.log(chalk.green(`āœ“ Created rule: ${agentId}.md`));
243
- }
244
- }
245
-
246
- console.log(chalk.green(`\nāœ“ Created Windsurf rules in ${windsurfRulesDir}`));
247
-
248
- return true;
249
- }
250
-
251
- async setupTrae(installDir, selectedAgent) {
252
- const traeRulesDir = path.join(installDir, ".trae", "rules");
253
- const agents = selectedAgent? [selectedAgent] : await this.getAllAgentIds(installDir);
254
-
255
- await fileManager.ensureDirectory(traeRulesDir);
256
-
257
- for (const agentId of agents) {
258
- // Find the agent file
259
- const agentPath = await this.findAgentPath(agentId, installDir);
260
-
261
- if (agentPath) {
262
- const agentContent = await fileManager.readFile(agentPath);
263
- const mdPath = path.join(traeRulesDir, `${agentId}.md`);
264
-
265
- // Create MD content (similar to Cursor but without frontmatter)
266
- let mdContent = `# ${agentId.toUpperCase()} Agent Rule\n\n`;
267
- mdContent += `This rule is triggered when the user types \`@${agentId}\` and activates the ${await this.getAgentTitle(
268
- agentId,
269
- installDir
270
- )} agent persona.\n\n`;
271
- mdContent += "## Agent Activation\n\n";
272
- mdContent +=
273
- "CRITICAL: Read the full YAML, start activation to alter your state of being, follow startup section instructions, stay in this being until told to exit this mode:\n\n";
274
- mdContent += "```yaml\n";
275
- // Extract just the YAML content from the agent file
276
- const yamlContent = extractYamlFromAgent(agentContent);
277
- if (yamlContent) {
278
- mdContent += yamlContent;
279
- }
280
- else {
281
- // If no YAML found, include the whole content minus the header
282
- mdContent += agentContent.replace(/^#.*$/m, "").trim();
283
- }
284
- mdContent += "\n```\n\n";
285
- mdContent += "## File Reference\n\n";
286
- const relativePath = path.relative(installDir, agentPath).replace(/\\/g, '/');
287
- mdContent += `The complete agent definition is available in [${relativePath}](${relativePath}).\n\n`;
288
- mdContent += "## Usage\n\n";
289
- mdContent += `When the user types \`@${agentId}\`, activate this ${await this.getAgentTitle(
290
- agentId,
291
- installDir
292
- )} persona and follow all instructions defined in the YAML configuration above.\n`;
293
-
294
- await fileManager.writeFile(mdPath, mdContent);
295
- console.log(chalk.green(`āœ“ Created rule: ${agentId}.md`));
296
- }
297
- }
298
- }
299
-
300
- async findAgentPath(agentId, installDir) {
301
- // Try to find the agent file in various locations
302
- const possiblePaths = [
303
- path.join(installDir, ".bmad-core", "agents", `${agentId}.md`),
304
- path.join(installDir, "agents", `${agentId}.md`)
305
- ];
306
-
307
- // Also check expansion pack directories
308
- const glob = require("glob");
309
- const expansionDirs = glob.sync(".*/agents", { cwd: installDir });
310
- for (const expDir of expansionDirs) {
311
- possiblePaths.push(path.join(installDir, expDir, `${agentId}.md`));
312
- }
313
-
314
- for (const agentPath of possiblePaths) {
315
- if (await fileManager.pathExists(agentPath)) {
316
- return agentPath;
317
- }
318
- }
319
-
320
- return null;
321
- }
322
-
323
- async getAllAgentIds(installDir) {
324
- const glob = require("glob");
325
- const allAgentIds = [];
326
-
327
- // Check core agents in .bmad-core or root
328
- let agentsDir = path.join(installDir, ".bmad-core", "agents");
329
- if (!(await fileManager.pathExists(agentsDir))) {
330
- agentsDir = path.join(installDir, "agents");
331
- }
332
-
333
- if (await fileManager.pathExists(agentsDir)) {
334
- const agentFiles = glob.sync("*.md", { cwd: agentsDir });
335
- allAgentIds.push(...agentFiles.map((file) => path.basename(file, ".md")));
336
- }
337
-
338
- // Also check for expansion pack agents in dot folders
339
- const expansionDirs = glob.sync(".*/agents", { cwd: installDir });
340
- for (const expDir of expansionDirs) {
341
- const fullExpDir = path.join(installDir, expDir);
342
- const expAgentFiles = glob.sync("*.md", { cwd: fullExpDir });
343
- allAgentIds.push(...expAgentFiles.map((file) => path.basename(file, ".md")));
344
- }
345
-
346
- // Remove duplicates
347
- return [...new Set(allAgentIds)];
348
- }
349
-
350
- async getCoreAgentIds(installDir) {
351
- const allAgentIds = [];
352
-
353
- // Check core agents in .bmad-core or root only
354
- let agentsDir = path.join(installDir, ".bmad-core", "agents");
355
- if (!(await fileManager.pathExists(agentsDir))) {
356
- agentsDir = path.join(installDir, "bmad-core", "agents");
357
- }
358
-
359
- if (await fileManager.pathExists(agentsDir)) {
360
- const glob = require("glob");
361
- const agentFiles = glob.sync("*.md", { cwd: agentsDir });
362
- allAgentIds.push(...agentFiles.map((file) => path.basename(file, ".md")));
363
- }
364
-
365
- return [...new Set(allAgentIds)];
366
- }
367
-
368
- async getCoreTaskIds(installDir) {
369
- const allTaskIds = [];
370
-
371
- // Check core tasks in .bmad-core or root only
372
- let tasksDir = path.join(installDir, ".bmad-core", "tasks");
373
- if (!(await fileManager.pathExists(tasksDir))) {
374
- tasksDir = path.join(installDir, "bmad-core", "tasks");
375
- }
376
-
377
- if (await fileManager.pathExists(tasksDir)) {
378
- const glob = require("glob");
379
- const taskFiles = glob.sync("*.md", { cwd: tasksDir });
380
- allTaskIds.push(...taskFiles.map((file) => path.basename(file, ".md")));
381
- }
382
-
383
- // Check common tasks
384
- const commonTasksDir = path.join(installDir, "common", "tasks");
385
- if (await fileManager.pathExists(commonTasksDir)) {
386
- const commonTaskFiles = glob.sync("*.md", { cwd: commonTasksDir });
387
- allTaskIds.push(...commonTaskFiles.map((file) => path.basename(file, ".md")));
388
- }
389
-
390
- return [...new Set(allTaskIds)];
391
- }
392
-
393
- async getAgentTitle(agentId, installDir) {
394
- // Try to find the agent file in various locations
395
- const possiblePaths = [
396
- path.join(installDir, ".bmad-core", "agents", `${agentId}.md`),
397
- path.join(installDir, "agents", `${agentId}.md`)
398
- ];
399
-
400
- // Also check expansion pack directories
401
- const glob = require("glob");
402
- const expansionDirs = glob.sync(".*/agents", { cwd: installDir });
403
- for (const expDir of expansionDirs) {
404
- possiblePaths.push(path.join(installDir, expDir, `${agentId}.md`));
405
- }
406
-
407
- for (const agentPath of possiblePaths) {
408
- if (await fileManager.pathExists(agentPath)) {
409
- try {
410
- const agentContent = await fileManager.readFile(agentPath);
411
- const yamlMatch = agentContent.match(/```ya?ml\r?\n([\s\S]*?)```/);
412
-
413
- if (yamlMatch) {
414
- const yaml = yamlMatch[1];
415
- const titleMatch = yaml.match(/title:\s*(.+)/);
416
- if (titleMatch) {
417
- return titleMatch[1].trim();
418
- }
419
- }
420
- } catch (error) {
421
- console.warn(`Failed to read agent title for ${agentId}: ${error.message}`);
422
- }
423
- }
424
- }
425
-
426
- // Fallback to formatted agent ID
427
- return agentId.split('-').map(word =>
428
- word.charAt(0).toUpperCase() + word.slice(1)
429
- ).join(' ');
430
- }
431
-
432
- async getAllTaskIds(installDir) {
433
- const glob = require("glob");
434
- const allTaskIds = [];
435
-
436
- // Check core tasks in .bmad-core or root
437
- let tasksDir = path.join(installDir, ".bmad-core", "tasks");
438
- if (!(await fileManager.pathExists(tasksDir))) {
439
- tasksDir = path.join(installDir, "bmad-core", "tasks");
440
- }
441
-
442
- if (await fileManager.pathExists(tasksDir)) {
443
- const taskFiles = glob.sync("*.md", { cwd: tasksDir });
444
- allTaskIds.push(...taskFiles.map((file) => path.basename(file, ".md")));
445
- }
446
-
447
- // Check common tasks
448
- const commonTasksDir = path.join(installDir, "common", "tasks");
449
- if (await fileManager.pathExists(commonTasksDir)) {
450
- const commonTaskFiles = glob.sync("*.md", { cwd: commonTasksDir });
451
- allTaskIds.push(...commonTaskFiles.map((file) => path.basename(file, ".md")));
452
- }
453
-
454
- // Also check for expansion pack tasks in dot folders
455
- const expansionDirs = glob.sync(".*/tasks", { cwd: installDir });
456
- for (const expDir of expansionDirs) {
457
- const fullExpDir = path.join(installDir, expDir);
458
- const expTaskFiles = glob.sync("*.md", { cwd: fullExpDir });
459
- allTaskIds.push(...expTaskFiles.map((file) => path.basename(file, ".md")));
460
- }
461
-
462
- // Check expansion-packs folder tasks
463
- const expansionPacksDir = path.join(installDir, "expansion-packs");
464
- if (await fileManager.pathExists(expansionPacksDir)) {
465
- const expPackDirs = glob.sync("*/tasks", { cwd: expansionPacksDir });
466
- for (const expDir of expPackDirs) {
467
- const fullExpDir = path.join(expansionPacksDir, expDir);
468
- const expTaskFiles = glob.sync("*.md", { cwd: fullExpDir });
469
- allTaskIds.push(...expTaskFiles.map((file) => path.basename(file, ".md")));
470
- }
471
- }
472
-
473
- // Remove duplicates
474
- return [...new Set(allTaskIds)];
475
- }
476
-
477
- async findTaskPath(taskId, installDir) {
478
- // Try to find the task file in various locations
479
- const possiblePaths = [
480
- path.join(installDir, ".bmad-core", "tasks", `${taskId}.md`),
481
- path.join(installDir, "bmad-core", "tasks", `${taskId}.md`),
482
- path.join(installDir, "common", "tasks", `${taskId}.md`)
483
- ];
484
-
485
- // Also check expansion pack directories
486
- const glob = require("glob");
487
-
488
- // Check dot folder expansion packs
489
- const expansionDirs = glob.sync(".*/tasks", { cwd: installDir });
490
- for (const expDir of expansionDirs) {
491
- possiblePaths.push(path.join(installDir, expDir, `${taskId}.md`));
492
- }
493
-
494
- // Check expansion-packs folder
495
- const expansionPacksDir = path.join(installDir, "expansion-packs");
496
- if (await fileManager.pathExists(expansionPacksDir)) {
497
- const expPackDirs = glob.sync("*/tasks", { cwd: expansionPacksDir });
498
- for (const expDir of expPackDirs) {
499
- possiblePaths.push(path.join(expansionPacksDir, expDir, `${taskId}.md`));
500
- }
501
- }
502
-
503
- for (const taskPath of possiblePaths) {
504
- if (await fileManager.pathExists(taskPath)) {
505
- return taskPath;
506
- }
507
- }
508
-
509
- return null;
510
- }
511
-
512
- async getCoreSlashPrefix(installDir) {
513
- try {
514
- const coreConfigPath = path.join(installDir, ".bmad-core", "core-config.yaml");
515
- if (!(await fileManager.pathExists(coreConfigPath))) {
516
- // Try bmad-core directory
517
- const altConfigPath = path.join(installDir, "bmad-core", "core-config.yaml");
518
- if (await fileManager.pathExists(altConfigPath)) {
519
- const configContent = await fileManager.readFile(altConfigPath);
520
- const config = yaml.load(configContent);
521
- return config.slashPrefix || "BMad";
522
- }
523
- return "BMad"; // fallback
524
- }
525
-
526
- const configContent = await fileManager.readFile(coreConfigPath);
527
- const config = yaml.load(configContent);
528
- return config.slashPrefix || "BMad";
529
- } catch (error) {
530
- console.warn(`Failed to read core slashPrefix, using default 'BMad': ${error.message}`);
531
- return "BMad";
532
- }
533
- }
534
-
535
- async getInstalledExpansionPacks(installDir) {
536
- const expansionPacks = [];
537
-
538
- // Check for dot-prefixed expansion packs in install directory
539
- const glob = require("glob");
540
- const dotExpansions = glob.sync(".bmad-*", { cwd: installDir });
541
-
542
- for (const dotExpansion of dotExpansions) {
543
- if (dotExpansion !== ".bmad-core") {
544
- const packPath = path.join(installDir, dotExpansion);
545
- const packName = dotExpansion.substring(1); // remove the dot
546
- expansionPacks.push({
547
- name: packName,
548
- path: packPath
549
- });
550
- }
551
- }
552
-
553
- // Check for expansion-packs directory style
554
- const expansionPacksDir = path.join(installDir, "expansion-packs");
555
- if (await fileManager.pathExists(expansionPacksDir)) {
556
- const packDirs = glob.sync("*", { cwd: expansionPacksDir });
557
-
558
- for (const packDir of packDirs) {
559
- const packPath = path.join(expansionPacksDir, packDir);
560
- if ((await fileManager.pathExists(packPath)) &&
561
- (await fileManager.pathExists(path.join(packPath, "config.yaml")))) {
562
- expansionPacks.push({
563
- name: packDir,
564
- path: packPath
565
- });
566
- }
567
- }
568
- }
569
-
570
- return expansionPacks;
571
- }
572
-
573
- async getExpansionPackSlashPrefix(packPath) {
574
- try {
575
- const configPath = path.join(packPath, "config.yaml");
576
- if (await fileManager.pathExists(configPath)) {
577
- const configContent = await fileManager.readFile(configPath);
578
- const config = yaml.load(configContent);
579
- return config.slashPrefix || path.basename(packPath);
580
- }
581
- } catch (error) {
582
- console.warn(`Failed to read expansion pack slashPrefix from ${packPath}: ${error.message}`);
583
- }
584
-
585
- return path.basename(packPath); // fallback to directory name
586
- }
587
-
588
- async getExpansionPackAgents(packPath) {
589
- const agentsDir = path.join(packPath, "agents");
590
- if (!(await fileManager.pathExists(agentsDir))) {
591
- return [];
592
- }
593
-
594
- try {
595
- const glob = require("glob");
596
- const agentFiles = glob.sync("*.md", { cwd: agentsDir });
597
- return agentFiles.map(file => path.basename(file, ".md"));
598
- } catch (error) {
599
- console.warn(`Failed to read expansion pack agents from ${packPath}: ${error.message}`);
600
- return [];
601
- }
602
- }
603
-
604
- async getExpansionPackTasks(packPath) {
605
- const tasksDir = path.join(packPath, "tasks");
606
- if (!(await fileManager.pathExists(tasksDir))) {
607
- return [];
608
- }
609
-
610
- try {
611
- const glob = require("glob");
612
- const taskFiles = glob.sync("*.md", { cwd: tasksDir });
613
- return taskFiles.map(file => path.basename(file, ".md"));
614
- } catch (error) {
615
- console.warn(`Failed to read expansion pack tasks from ${packPath}: ${error.message}`);
616
- return [];
617
- }
618
- }
619
-
620
- async setupRoo(installDir, selectedAgent) {
621
- const agents = selectedAgent ? [selectedAgent] : await this.getAllAgentIds(installDir);
622
-
623
- // Check for existing .roomodes file in project root
624
- const roomodesPath = path.join(installDir, ".roomodes");
625
- let existingModes = [];
626
- let existingContent = "";
627
-
628
- if (await fileManager.pathExists(roomodesPath)) {
629
- existingContent = await fileManager.readFile(roomodesPath);
630
- // Parse existing modes to avoid duplicates
631
- const modeMatches = existingContent.matchAll(/- slug: ([\w-]+)/g);
632
- for (const match of modeMatches) {
633
- existingModes.push(match[1]);
634
- }
635
- console.log(chalk.yellow(`Found existing .roomodes file with ${existingModes.length} modes`));
636
- }
637
-
638
- // Create new modes content
639
- let newModesContent = "";
640
-
641
- // Load dynamic agent permissions from configuration
642
- const config = await this.loadIdeAgentConfig();
643
- const agentPermissions = config['roo-permissions'] || {};
644
-
645
- for (const agentId of agents) {
646
- // Skip if already exists
647
- // Check both with and without bmad- prefix to handle both cases
648
- const checkSlug = agentId.startsWith('bmad-') ? agentId : `bmad-${agentId}`;
649
- if (existingModes.includes(checkSlug)) {
650
- console.log(chalk.dim(`Skipping ${agentId} - already exists in .roomodes`));
651
- continue;
652
- }
653
-
654
- // Read agent file to extract all information
655
- const agentPath = await this.findAgentPath(agentId, installDir);
656
-
657
- if (agentPath) {
658
- const agentContent = await fileManager.readFile(agentPath);
659
-
660
- // Extract YAML content
661
- const yamlMatch = agentContent.match(/```ya?ml\r?\n([\s\S]*?)```/);
662
- if (yamlMatch) {
663
- const yaml = yamlMatch[1];
664
-
665
- // Extract agent info from YAML
666
- const titleMatch = yaml.match(/title:\s*(.+)/);
667
- const iconMatch = yaml.match(/icon:\s*(.+)/);
668
- const whenToUseMatch = yaml.match(/whenToUse:\s*"(.+)"/);
669
- const roleDefinitionMatch = yaml.match(/roleDefinition:\s*"(.+)"/);
670
-
671
- const title = titleMatch ? titleMatch[1].trim() : await this.getAgentTitle(agentId, installDir);
672
- const icon = iconMatch ? iconMatch[1].trim() : "šŸ¤–";
673
- const whenToUse = whenToUseMatch ? whenToUseMatch[1].trim() : `Use for ${title} tasks`;
674
- const roleDefinition = roleDefinitionMatch
675
- ? roleDefinitionMatch[1].trim()
676
- : `You are a ${title} specializing in ${title.toLowerCase()} tasks and responsibilities.`;
677
-
678
- // Build mode entry with proper formatting (matching exact indentation)
679
- // Avoid double "bmad-" prefix for agents that already have it
680
- const slug = agentId.startsWith('bmad-') ? agentId : `bmad-${agentId}`;
681
- newModesContent += ` - slug: ${slug}\n`;
682
- newModesContent += ` name: '${icon} ${title}'\n`;
683
- newModesContent += ` roleDefinition: ${roleDefinition}\n`;
684
- newModesContent += ` whenToUse: ${whenToUse}\n`;
685
- // Get relative path from installDir to agent file
686
- const relativePath = path.relative(installDir, agentPath).replace(/\\/g, '/');
687
- newModesContent += ` customInstructions: CRITICAL Read the full YAML from ${relativePath} start activation to alter your state of being follow startup section instructions stay in this being until told to exit this mode\n`;
688
- newModesContent += ` groups:\n`;
689
- newModesContent += ` - read\n`;
690
-
691
- // Add permissions based on agent type
692
- const permissions = agentPermissions[agentId];
693
- if (permissions) {
694
- newModesContent += ` - - edit\n`;
695
- newModesContent += ` - fileRegex: ${permissions.fileRegex}\n`;
696
- newModesContent += ` description: ${permissions.description}\n`;
697
- } else {
698
- newModesContent += ` - edit\n`;
699
- }
700
-
701
- console.log(chalk.green(`āœ“ Added mode: bmad-${agentId} (${icon} ${title})`));
702
- }
703
- }
704
- }
705
-
706
- // Build final roomodes content
707
- let roomodesContent = "";
708
- if (existingContent) {
709
- // If there's existing content, append new modes to it
710
- roomodesContent = existingContent.trim() + "\n" + newModesContent;
711
- } else {
712
- // Create new .roomodes file with proper YAML structure
713
- roomodesContent = "customModes:\n" + newModesContent;
714
- }
715
-
716
- // Write .roomodes file
717
- await fileManager.writeFile(roomodesPath, roomodesContent);
718
- console.log(chalk.green("āœ“ Created .roomodes file in project root"));
719
-
720
- console.log(chalk.green(`\nāœ“ Roo Code setup complete!`));
721
- console.log(chalk.dim("Custom modes will be available when you open this project in Roo Code"));
722
-
723
- return true;
724
- }
725
-
726
- async setupCline(installDir, selectedAgent) {
727
- const clineRulesDir = path.join(installDir, ".clinerules");
728
- const agents = selectedAgent ? [selectedAgent] : await this.getAllAgentIds(installDir);
729
-
730
- await fileManager.ensureDirectory(clineRulesDir);
731
-
732
- // Load dynamic agent ordering from configuration
733
- const config = await this.loadIdeAgentConfig();
734
- const agentOrder = config['cline-order'] || {};
735
-
736
- for (const agentId of agents) {
737
- // Find the agent file
738
- const agentPath = await this.findAgentPath(agentId, installDir);
739
-
740
- if (agentPath) {
741
- const agentContent = await fileManager.readFile(agentPath);
742
-
743
- // Get numeric prefix for ordering
744
- const order = agentOrder[agentId] || 99;
745
- const prefix = order.toString().padStart(2, '0');
746
- const mdPath = path.join(clineRulesDir, `${prefix}-${agentId}.md`);
747
-
748
- // Create MD content for Cline (focused on project standards and role)
749
- let mdContent = `# ${await this.getAgentTitle(agentId, installDir)} Agent\n\n`;
750
- mdContent += `This rule defines the ${await this.getAgentTitle(agentId, installDir)} persona and project standards.\n\n`;
751
- mdContent += "## Role Definition\n\n";
752
- mdContent +=
753
- "When the user types `@" + agentId + "`, adopt this persona and follow these guidelines:\n\n";
754
- mdContent += "```yaml\n";
755
- // Extract just the YAML content from the agent file
756
- const yamlContent = extractYamlFromAgent(agentContent);
757
- if (yamlContent) {
758
- mdContent += yamlContent;
759
- } else {
760
- // If no YAML found, include the whole content minus the header
761
- mdContent += agentContent.replace(/^#.*$/m, "").trim();
762
- }
763
- mdContent += "\n```\n\n";
764
- mdContent += "## Project Standards\n\n";
765
- mdContent += `- Always maintain consistency with project documentation in .bmad-core/\n`;
766
- mdContent += `- Follow the agent's specific guidelines and constraints\n`;
767
- mdContent += `- Update relevant project files when making changes\n`;
768
- const relativePath = path.relative(installDir, agentPath).replace(/\\/g, '/');
769
- mdContent += `- Reference the complete agent definition in [${relativePath}](${relativePath})\n\n`;
770
- mdContent += "## Usage\n\n";
771
- mdContent += `Type \`@${agentId}\` to activate this ${await this.getAgentTitle(agentId, installDir)} persona.\n`;
772
-
773
- await fileManager.writeFile(mdPath, mdContent);
774
- console.log(chalk.green(`āœ“ Created rule: ${prefix}-${agentId}.md`));
775
- }
776
- }
777
-
778
- console.log(chalk.green(`\nāœ“ Created Cline rules in ${clineRulesDir}`));
779
-
780
- return true;
781
- }
782
-
783
- async setupGeminiCli(installDir) {
784
- const geminiDir = path.join(installDir, ".gemini");
785
- const bmadMethodDir = path.join(geminiDir, "bmad-method");
786
- await fileManager.ensureDirectory(bmadMethodDir);
787
-
788
- // Update logic for existing settings.json
789
- const settingsPath = path.join(geminiDir, "settings.json");
790
- if (await fileManager.pathExists(settingsPath)) {
791
- try {
792
- const settingsContent = await fileManager.readFile(settingsPath);
793
- const settings = JSON.parse(settingsContent);
794
- let updated = false;
795
-
796
- // Handle contextFileName property
797
- if (settings.contextFileName && Array.isArray(settings.contextFileName)) {
798
- const originalLength = settings.contextFileName.length;
799
- settings.contextFileName = settings.contextFileName.filter(
800
- (fileName) => !fileName.startsWith("agents/")
801
- );
802
- if (settings.contextFileName.length !== originalLength) {
803
- updated = true;
804
- }
805
- }
806
-
807
- if (updated) {
808
- await fileManager.writeFile(
809
- settingsPath,
810
- JSON.stringify(settings, null, 2)
811
- );
812
- console.log(chalk.green("āœ“ Updated .gemini/settings.json - removed agent file references"));
813
- }
814
- } catch (error) {
815
- console.warn(
816
- chalk.yellow("Could not update .gemini/settings.json"),
817
- error
818
- );
819
- }
820
- }
821
-
822
- // Remove old agents directory
823
- const agentsDir = path.join(geminiDir, "agents");
824
- if (await fileManager.pathExists(agentsDir)) {
825
- await fileManager.removeDirectory(agentsDir);
826
- console.log(chalk.green("āœ“ Removed old .gemini/agents directory"));
827
- }
828
-
829
- // Get all available agents
830
- const agents = await this.getAllAgentIds(installDir);
831
- let concatenatedContent = "";
832
-
833
- for (const agentId of agents) {
834
- // Find the source agent file
835
- const agentPath = await this.findAgentPath(agentId, installDir);
836
-
837
- if (agentPath) {
838
- const agentContent = await fileManager.readFile(agentPath);
839
-
840
- // Create properly formatted agent rule content (similar to trae)
841
- let agentRuleContent = `# ${agentId.toUpperCase()} Agent Rule\n\n`;
842
- agentRuleContent += `This rule is triggered when the user types \`*${agentId}\` and activates the ${await this.getAgentTitle(
843
- agentId,
844
- installDir
845
- )} agent persona.\n\n`;
846
- agentRuleContent += "## Agent Activation\n\n";
847
- agentRuleContent +=
848
- "CRITICAL: Read the full YAML, start activation to alter your state of being, follow startup section instructions, stay in this being until told to exit this mode:\n\n";
849
- agentRuleContent += "```yaml\n";
850
- // Extract just the YAML content from the agent file
851
- const yamlContent = extractYamlFromAgent(agentContent);
852
- if (yamlContent) {
853
- agentRuleContent += yamlContent;
854
- }
855
- else {
856
- // If no YAML found, include the whole content minus the header
857
- agentRuleContent += agentContent.replace(/^#.*$/m, "").trim();
858
- }
859
- agentRuleContent += "\n```\n\n";
860
- agentRuleContent += "## File Reference\n\n";
861
- const relativePath = path.relative(installDir, agentPath).replace(/\\/g, '/');
862
- agentRuleContent += `The complete agent definition is available in [${relativePath}](${relativePath}).\n\n`;
863
- agentRuleContent += "## Usage\n\n";
864
- agentRuleContent += `When the user types \`*${agentId}\`, activate this ${await this.getAgentTitle(
865
- agentId,
866
- installDir
867
- )} persona and follow all instructions defined in the YAML configuration above.\n`;
868
-
869
- // Add to concatenated content with separator
870
- concatenatedContent += agentRuleContent + "\n\n---\n\n";
871
- console.log(chalk.green(`āœ“ Added context for @${agentId}`));
872
- }
873
- }
874
-
875
- // Write the concatenated content to GEMINI.md
876
- const geminiMdPath = path.join(bmadMethodDir, "GEMINI.md");
877
- await fileManager.writeFile(geminiMdPath, concatenatedContent);
878
- console.log(chalk.green(`\nāœ“ Created GEMINI.md in ${bmadMethodDir}`));
879
-
880
- return true;
881
- }
882
-
883
- async setupGitHubCopilot(installDir, selectedAgent, spinner = null, preConfiguredSettings = null) {
884
- // Configure VS Code workspace settings first to avoid UI conflicts with loading spinners
885
- await this.configureVsCodeSettings(installDir, spinner, preConfiguredSettings);
886
-
887
- const chatmodesDir = path.join(installDir, ".github", "chatmodes");
888
- const agents = selectedAgent ? [selectedAgent] : await this.getAllAgentIds(installDir);
889
-
890
- await fileManager.ensureDirectory(chatmodesDir);
891
-
892
- for (const agentId of agents) {
893
- // Find the agent file
894
- const agentPath = await this.findAgentPath(agentId, installDir);
895
- const chatmodePath = path.join(chatmodesDir, `${agentId}.chatmode.md`);
896
-
897
- if (agentPath) {
898
- // Create chat mode file with agent content
899
- const agentContent = await fileManager.readFile(agentPath);
900
- const agentTitle = await this.getAgentTitle(agentId, installDir);
901
-
902
- // Extract whenToUse for the description
903
- const yamlMatch = agentContent.match(/```ya?ml\r?\n([\s\S]*?)```/);
904
- let description = `Activates the ${agentTitle} agent persona.`;
905
- if (yamlMatch) {
906
- const whenToUseMatch = yamlMatch[1].match(/whenToUse:\s*"(.*?)"/);
907
- if (whenToUseMatch && whenToUseMatch[1]) {
908
- description = whenToUseMatch[1];
909
- }
910
- }
911
-
912
- let chatmodeContent = `---
913
- description: "${description.replace(/"/g, '\\"')}"
914
- tools: ['changes', 'codebase', 'fetch', 'findTestFiles', 'githubRepo', 'problems', 'usages', 'editFiles', 'runCommands', 'runTasks', 'runTests', 'search', 'searchResults', 'terminalLastCommand', 'terminalSelection', 'testFailure']
915
- ---
916
-
917
- `;
918
- chatmodeContent += agentContent;
919
-
920
- await fileManager.writeFile(chatmodePath, chatmodeContent);
921
- console.log(chalk.green(`āœ“ Created chat mode: ${agentId}.chatmode.md`));
922
- }
923
- }
924
-
925
- console.log(chalk.green(`\nāœ“ Github Copilot setup complete!`));
926
- console.log(chalk.dim(`You can now find the BMad agents in the Chat view's mode selector.`));
927
-
928
- return true;
929
- }
930
-
931
- async configureVsCodeSettings(installDir, spinner, preConfiguredSettings = null) {
932
- const vscodeDir = path.join(installDir, ".vscode");
933
- const settingsPath = path.join(vscodeDir, "settings.json");
934
-
935
- await fileManager.ensureDirectory(vscodeDir);
936
-
937
- // Read existing settings if they exist
938
- let existingSettings = {};
939
- if (await fileManager.pathExists(settingsPath)) {
940
- try {
941
- const existingContent = await fileManager.readFile(settingsPath);
942
- existingSettings = JSON.parse(existingContent);
943
- console.log(chalk.yellow("Found existing .vscode/settings.json. Merging BMad settings..."));
944
- } catch (error) {
945
- console.warn(chalk.yellow("Could not parse existing settings.json. Creating new one."));
946
- existingSettings = {};
947
- }
948
- }
949
-
950
- // Use pre-configured settings if provided, otherwise prompt
951
- let configChoice;
952
- if (preConfiguredSettings && preConfiguredSettings.configChoice) {
953
- configChoice = preConfiguredSettings.configChoice;
954
- console.log(chalk.dim(`Using pre-configured GitHub Copilot settings: ${configChoice}`));
955
- } else {
956
- // Clear any previous output and add spacing to avoid conflicts with loaders
957
- console.log('\n'.repeat(2));
958
- console.log(chalk.blue("šŸ”§ Github Copilot Agent Settings Configuration"));
959
- console.log(chalk.dim("BMad works best with specific VS Code settings for optimal agent experience."));
960
- console.log(''); // Add extra spacing
961
-
962
- const response = await inquirer.prompt([
963
- {
964
- type: 'list',
965
- name: 'configChoice',
966
- message: chalk.yellow('How would you like to configure GitHub Copilot settings?'),
967
- choices: [
968
- {
969
- name: 'Use recommended defaults (fastest setup)',
970
- value: 'defaults'
971
- },
972
- {
973
- name: 'Configure each setting manually (customize to your preferences)',
974
- value: 'manual'
975
- },
976
- {
977
- name: 'Skip settings configuration (I\'ll configure manually later)',
978
- value: 'skip'
979
- }
980
- ],
981
- default: 'defaults'
982
- }
983
- ]);
984
- configChoice = response.configChoice;
985
- }
986
-
987
- let bmadSettings = {};
988
-
989
- if (configChoice === 'skip') {
990
- console.log(chalk.yellow("āš ļø Skipping VS Code settings configuration."));
991
- console.log(chalk.dim("You can manually configure these settings in .vscode/settings.json:"));
992
- console.log(chalk.dim(" • chat.agent.enabled: true"));
993
- console.log(chalk.dim(" • chat.agent.maxRequests: 15"));
994
- console.log(chalk.dim(" • github.copilot.chat.agent.runTasks: true"));
995
- console.log(chalk.dim(" • chat.mcp.discovery.enabled: true"));
996
- console.log(chalk.dim(" • github.copilot.chat.agent.autoFix: true"));
997
- console.log(chalk.dim(" • chat.tools.autoApprove: false"));
998
- return true;
999
- }
1000
-
1001
- if (configChoice === 'defaults') {
1002
- // Use recommended defaults
1003
- bmadSettings = {
1004
- "chat.agent.enabled": true,
1005
- "chat.agent.maxRequests": 15,
1006
- "github.copilot.chat.agent.runTasks": true,
1007
- "chat.mcp.discovery.enabled": true,
1008
- "github.copilot.chat.agent.autoFix": true,
1009
- "chat.tools.autoApprove": false
1010
- };
1011
- console.log(chalk.green("āœ“ Using recommended BMad defaults for Github Copilot settings"));
1012
- } else {
1013
- // Manual configuration
1014
- console.log(chalk.blue("\nšŸ“‹ Let's configure each setting for your preferences:"));
1015
-
1016
- // Pause spinner during manual configuration prompts
1017
- let spinnerWasActive = false;
1018
- if (spinner && spinner.isSpinning) {
1019
- spinner.stop();
1020
- spinnerWasActive = true;
1021
- }
1022
-
1023
- const manualSettings = await inquirer.prompt([
1024
- {
1025
- type: 'input',
1026
- name: 'maxRequests',
1027
- message: 'Maximum requests per agent session (recommended: 15)?',
1028
- default: '15',
1029
- validate: (input) => {
1030
- const num = parseInt(input);
1031
- if (isNaN(num) || num < 1 || num > 50) {
1032
- return 'Please enter a number between 1 and 50';
1033
- }
1034
- return true;
1035
- }
1036
- },
1037
- {
1038
- type: 'confirm',
1039
- name: 'runTasks',
1040
- message: 'Allow agents to run workspace tasks (package.json scripts, etc.)?',
1041
- default: true
1042
- },
1043
- {
1044
- type: 'confirm',
1045
- name: 'mcpDiscovery',
1046
- message: 'Enable MCP (Model Context Protocol) server discovery?',
1047
- default: true
1048
- },
1049
- {
1050
- type: 'confirm',
1051
- name: 'autoFix',
1052
- message: 'Enable automatic error detection and fixing in generated code?',
1053
- default: true
1054
- },
1055
- {
1056
- type: 'confirm',
1057
- name: 'autoApprove',
1058
- message: 'Auto-approve ALL tools without confirmation? (āš ļø EXPERIMENTAL - less secure)',
1059
- default: false
1060
- }
1061
- ]);
1062
-
1063
- // Restart spinner if it was active before prompts
1064
- if (spinner && spinnerWasActive) {
1065
- spinner.start();
1066
- }
1067
-
1068
- bmadSettings = {
1069
- "chat.agent.enabled": true, // Always enabled - required for BMad agents
1070
- "chat.agent.maxRequests": parseInt(manualSettings.maxRequests),
1071
- "github.copilot.chat.agent.runTasks": manualSettings.runTasks,
1072
- "chat.mcp.discovery.enabled": manualSettings.mcpDiscovery,
1073
- "github.copilot.chat.agent.autoFix": manualSettings.autoFix,
1074
- "chat.tools.autoApprove": manualSettings.autoApprove
1075
- };
1076
-
1077
- console.log(chalk.green("āœ“ Custom settings configured"));
1078
- }
1079
-
1080
- // Merge settings (existing settings take precedence to avoid overriding user preferences)
1081
- const mergedSettings = { ...bmadSettings, ...existingSettings };
1082
-
1083
- // Write the updated settings
1084
- await fileManager.writeFile(settingsPath, JSON.stringify(mergedSettings, null, 2));
1085
-
1086
- console.log(chalk.green("āœ“ VS Code workspace settings configured successfully"));
1087
- console.log(chalk.dim(" Settings written to .vscode/settings.json:"));
1088
- Object.entries(bmadSettings).forEach(([key, value]) => {
1089
- console.log(chalk.dim(` • ${key}: ${value}`));
1090
- });
1091
- console.log(chalk.dim(""));
1092
- console.log(chalk.dim("You can modify these settings anytime in .vscode/settings.json"));
1093
- }
1094
- }
1095
-
1096
- module.exports = new IdeSetup();