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,254 +0,0 @@
1
- # Effective Dart Rules
2
-
3
- ### Naming Conventions
4
- 1. Use terms consistently throughout your code.
5
- 2. Follow existing mnemonic conventions when naming type parameters (e.g., `E` for element, `K`/`V` for key/value, `T`/`S`/`U` for generic types).
6
- 3. Name types using `UpperCamelCase` (classes, enums, typedefs, type parameters).
7
- 4. Name extensions using `UpperCamelCase`.
8
- 5. Name packages, directories, and source files using `lowercase_with_underscores`.
9
- 6. Name import prefixes using `lowercase_with_underscores`.
10
- 7. Name other identifiers using `lowerCamelCase` (variables, parameters, named parameters).
11
- 8. Capitalize acronyms and abbreviations longer than two letters like words.
12
- 9. Avoid abbreviations unless the abbreviation is more common than the unabbreviated term.
13
- 10. Prefer putting the most descriptive noun last in names.
14
- 11. Consider making code read like a sentence when designing APIs.
15
- 12. Prefer a noun phrase for non-boolean properties or variables.
16
- 13. Prefer a non-imperative verb phrase for boolean properties or variables.
17
- 14. Prefer the positive form for boolean property and variable names.
18
- 15. Consider omitting the verb for named boolean parameters.
19
- 16. Use camelCase for variable and function names.
20
- 17. Use PascalCase for class names.
21
- 18. Use snake_case for file names.
22
-
23
- ### Types and Functions
24
- 1. Use class modifiers to control if your class can be extended or used as an interface.
25
- 2. Type annotate variables without initializers.
26
- 3. Type annotate fields and top-level variables if the type isn't obvious.
27
- 4. Annotate return types on function declarations.
28
- 5. Annotate parameter types on function declarations.
29
- 6. Write type arguments on generic invocations that aren't inferred.
30
- 7. Annotate with `dynamic` instead of letting inference fail.
31
- 8. Use `Future<void>` as the return type of asynchronous members that do not produce values.
32
- 9. Use getters for operations that conceptually access properties.
33
- 10. Use setters for operations that conceptually change properties.
34
- 11. Use a function declaration to bind a function to a name.
35
- 12. Use inclusive start and exclusive end parameters to accept a range.
36
-
37
- ### Style
38
- 1. Format your code using `dart format`.
39
- 2. Use curly braces for all flow control statements.
40
- 3. Prefer `final` over `var` when variable values won't change.
41
- 4. Use `const` for compile-time constants.
42
-
43
- ### Imports & Files
44
- 1. Don't import libraries inside the `src` directory of another package.
45
- 2. Don't allow import paths to reach into or out of `lib`.
46
- 3. Prefer relative import paths within a package.
47
- 4. Don't use `/lib/` or `../` in import paths.
48
- 5. Consider writing a library-level doc comment for library files.
49
-
50
- ### Structure
51
- 1. Keep files focused on a single responsibility.
52
- 2. Limit file length to maintain readability.
53
- 3. Group related functionality together.
54
- 4. Prefer making fields and top-level variables `final`.
55
- 5. Consider making your constructor `const` if the class supports it.
56
- 6. Prefer making declarations private.
57
-
58
- ### Usage
59
- 1. Use strings in `part of` directives.
60
- 2. Use adjacent strings to concatenate string literals.
61
- 3. Use collection literals when possible.
62
- 4. Use `whereType()` to filter a collection by type.
63
- 5. Test for `Future<T>` when disambiguating a `FutureOr<T>` whose type argument could be `Object`.
64
- 6. Follow a consistent rule for `var` and `final` on local variables.
65
- 7. Initialize fields at their declaration when possible.
66
- 8. Use initializing formals when possible.
67
- 9. Use `;` instead of `{}` for empty constructor bodies.
68
- 10. Use `rethrow` to rethrow a caught exception.
69
- 11. Override `hashCode` if you override `==`.
70
- 12. Make your `==` operator obey the mathematical rules of equality.
71
-
72
- ### Documentation
73
- 1. Format comments like sentences.
74
- 2. Use `///` doc comments to document members and types; don't use block comments for documentation.
75
- 3. Prefer writing doc comments for public APIs.
76
- 4. Consider writing doc comments for private APIs.
77
- 5. Consider including explanations of terminology, links, and references in library-level docs.
78
- 6. Start doc comments with a single-sentence summary.
79
- 7. Separate the first sentence of a doc comment into its own paragraph.
80
- 8. Use square brackets in doc comments to refer to in-scope identifiers.
81
- 9. Use prose to explain parameters, return values, and exceptions.
82
- 10. Put doc comments before metadata annotations.
83
- 11. Document why code exists or how it should be used, not just what it does.
84
-
85
- ### Testing
86
- 1. Write unit tests for business logic.
87
- 2. Write widget tests for UI components.
88
- 3. Aim for good test coverage.
89
-
90
- ### Widgets
91
- 1. Extract reusable widgets into separate components.
92
- 2. Use `StatelessWidget` when possible.
93
- 3. Keep build methods simple and focused.
94
-
95
- ### State Management
96
- 1. Choose appropriate state management based on complexity.
97
- 2. Avoid unnecessary `StatefulWidget`s.
98
- 3. Keep state as local as possible.
99
-
100
- ### Performance
101
- 1. Use `const` constructors when possible.
102
- 2. Avoid expensive operations in build methods.
103
- 3. Implement pagination for large lists.
104
-
105
- # Dart 3 Updates
106
-
107
- ### Branches
108
- 1. Use `if` statements for conditional branching. The condition must evaluate to a boolean.
109
- 2. `if` statements support optional `else` and `else if` clauses for multiple branches.
110
- 3. Use `if-case` statements to match and destructure a value against a single pattern. Example: `if (pair case [int x, int y]) { ... }`
111
- 4. If the pattern in an `if-case` matches, variables defined in the pattern are in scope for that branch.
112
- 5. If the pattern does not match in an `if-case`, control flows to the `else` branch if present.
113
- 6. Use `switch` statements to match a value against multiple patterns (cases). Each `case` can use any kind of pattern.
114
- 7. When a value matches a `case` pattern in a `switch` statement, the case body executes and control jumps to the end of the switch. `break` is not required.
115
- 8. You can end a non-empty `case` clause with `continue`, `throw`, or `return`.
116
- 9. Use `default` or `_` in a `switch` statement to handle unmatched values.
117
- 10. Empty `case` clauses fall through to the next case. Use `break` to prevent fallthrough.
118
- 11. Use `continue` with a label for non-sequential fallthrough between cases.
119
- 12. Use logical-or patterns (e.g., `case a || b`) to share a body or guard between cases.
120
- 13. Use `switch` expressions to produce a value based on matching cases. Syntax differs from statements: omit `case`, use `=>` for bodies, and separate cases with commas.
121
- 14. In `switch` expressions, the default case must use `_` (not `default`).
122
- 15. Dart checks for exhaustiveness in `switch` statements and expressions, reporting a compile-time error if not all possible values are handled.
123
- 16. To ensure exhaustiveness, use a default (`default` or `_`) case, or switch over enums or sealed types.
124
- 17. Use the `sealed` modifier on a class to enable exhaustiveness checking when switching over its subtypes.
125
- 18. Add a guard clause to a `case` using `when` to further constrain when a case matches. Example: `case pattern when condition:`
126
- 19. Guard clauses can be used in `if-case`, `switch` statements, and `switch` expressions. The guard is evaluated after pattern matching.
127
- 20. If a guard clause evaluates to false, execution proceeds to the next case (does not exit the switch).
128
-
129
- ### Patterns
130
- 1. Patterns are a syntactic category that represent the shape of values for matching and destructuring.
131
- 2. Pattern matching checks if a value has a certain shape, constant, equality, or type.
132
- 3. Pattern destructuring allows extracting parts of a matched value and binding them to variables.
133
- 4. Patterns can be nested, using subpatterns (outer/inner patterns) for recursive matching and destructuring.
134
- 5. Use wildcard patterns (`_`) to ignore parts of a matched value; use rest elements in list patterns to ignore remaining elements.
135
- 6. Patterns can be used in:
136
- - Local variable declarations and assignments
137
- - For and for-in loops
138
- - If-case and switch-case statements
139
- - Control flow in collection literals
140
- 7. Pattern variable declarations start with `var` or `final` and bind new variables from the matched value. Example: `var (a, [b, c]) = ('str', [1, 2]);`
141
- 8. Pattern variable assignments destructure a value and assign to existing variables. Example: `(b, a) = (a, b); // swap values`
142
- 9. Every case clause in `switch` and `if-case` contains a pattern. Any kind of pattern can be used in a case.
143
- 10. Case patterns are refutable; if the pattern doesn't match, execution continues to the next case.
144
- 11. Destructured values in a case become local variables scoped to the case body.
145
- 12. Use logical-or patterns (e.g., `case a || b`) to match multiple alternatives in a single case.
146
- 13. Use logical-or patterns with guards (`when`) to share a body or guard between cases.
147
- 14. Guard clauses (`when`) evaluate a condition after matching; if false, execution proceeds to the next case.
148
- 15. Patterns can be used in for and for-in loops to destructure collection elements (e.g., destructuring `MapEntry` in map iteration).
149
- 16. Object patterns match named object types and destructure their data using getters. Example: `var Foo(:one, :two) = myFoo;`
150
- 8. Constant patterns match if the value is equal to a constant (number, string, bool, named constant, const constructor, const collection, etc.). Use parentheses and `const` for complex expressions.
151
- 9. Variable patterns (`var name`, `final Type name`) bind new variables to matched/destructured values. Typed variable patterns only match if the value has the declared type.
152
- 10. Identifier patterns (`foo`, `_`) act as variable or constant patterns depending on context. `_` always acts as a wildcard and matches/discards any value.
153
- 11. Parenthesized patterns (`(subpattern)`) control pattern precedence and grouping, similar to expressions.
154
- 12. List patterns (`[subpattern1, subpattern2]`) match lists and destructure elements by position. The pattern length must match the list unless a rest element is used.
155
- 13. Rest elements (`...`, `...rest`) in list patterns match arbitrary-length lists or collect unmatched elements into a new list.
156
- 14. Map patterns (`{"key": subpattern}`) match maps and destructure by key. Only specified keys are matched; missing keys throw a `StateError`.
157
- 15. Record patterns (`(subpattern1, subpattern2)`, `(x: subpattern1, y: subpattern2)`) match records by shape and destructure positional/named fields. Field names can be omitted if inferred from variable or identifier patterns.
158
- 16. Object patterns (`ClassName(field1: subpattern1, field2: subpattern2)`) match objects by type and destructure using getters. Extra fields in the object are ignored.
159
- 17. Wildcard patterns (`_`, `Type _`) match any value without binding. Useful for ignoring values or type-checking without binding.
160
- 18. All pattern types can be nested and combined for expressive and precise matching and destructuring.
161
-
162
- ### Records
163
- 1. Records are anonymous, immutable, aggregate types that bundle multiple objects into a single value.
164
- 2. Records are fixed-sized, heterogeneous, and strongly typed. Each field can have a different type.
165
- 3. Records are real values: store them in variables, nest them, pass to/from functions, and use in lists, maps, and sets.
166
- 4. Record expressions use parentheses with comma-delimited positional and/or named fields, e.g. `('first', a: 2, b: true, 'last')`.
167
- 5. Record type annotations use parentheses with comma-delimited types. Named fields use curly braces: `({int a, bool b})`.
168
- 6. The names of named fields are part of the record's type (shape). Records with different named field names have different types.
169
- 7. Positional field names in type annotations are for documentation only and do not affect the record's type.
170
- 8. Record fields are accessed via built-in getters: positional fields as `$1`, `$2`, etc., and named fields by their name (e.g., `.a`).
171
- 9. Records are immutable: fields do not have setters.
172
- 10. Records are structurally typed: the set, types, and names of fields define the record's type (shape).
173
- 11. Two records are equal if they have the same shape and all corresponding field values are equal. Named field order does not affect equality.
174
- 12. Records automatically define `hashCode` and `==` based on structure and field values.
175
- 13. Use records for functions that return multiple values; destructure with pattern matching: `var (name, age) = userInfo(json);`
176
- 14. Destructure named fields with the colon syntax: `final (:name, :age) = userInfo(json);`
177
- 15. Using records for multiple returns is more concise and type-safe than using classes, lists, or maps.
178
- 16. Use lists of records for simple data tuples with the same shape.
179
- 17. Use type aliases (`typedef`) for record types to improve readability and maintainability.
180
- 18. Changing a record type alias does not guarantee all code using it is still type-safe; only classes provide full abstraction/encapsulation.
181
- 19. Extension types can wrap records but do not provide full abstraction or protection.
182
- 20. Records are best for simple, immutable data aggregation; use classes for abstraction, encapsulation, and behavior.
183
-
184
- # Common Flutter Errors
185
-
186
- 1. If you get a "RenderFlex overflowed" error, check if a `Row` or `Column` contains unconstrained widgets. Fix by wrapping children in `Flexible`, `Expanded`, or by setting constraints.
187
- 2. If you get "Vertical viewport was given unbounded height", ensure `ListView` or similar scrollable widgets inside a `Column` have a bounded height (e.g., wrap with `Expanded` or `SizedBox`).
188
- 3. If you get "An InputDecorator...cannot have an unbounded width", constrain the width of widgets like `TextField` using `Expanded`, `SizedBox`, or by placing them in a parent with width constraints.
189
- 4. If you get a "setState called during build" error, do not call `setState` or `showDialog` directly inside the build method. Trigger dialogs or state changes in response to user actions or after the build completes (e.g., using `addPostFrameCallback`).
190
- 5. If you get "The ScrollController is attached to multiple scroll views", make sure each `ScrollController` is only attached to a single scrollable widget at a time.
191
- 6. If you get a "RenderBox was not laid out" error, check for missing or unbounded constraints in your widget tree. This is often caused by using widgets like `ListView` or `Column` without proper size constraints.
192
- 7. Use the Flutter Inspector and review widget constraints to debug layout issues. Refer to the official documentation on constraints if needed.
193
- ### Flutter ChangeNotifier State Management Rules
194
-
195
- 1. Place shared state above the widgets that use it in the widget tree to enable proper rebuilds and avoid imperative UI updates.
196
- 2. Avoid directly mutating widgets or calling methods on them to change state; instead, rebuild widgets with new data.
197
- 3. Use a model class that extends `ChangeNotifier` to manage and notify listeners of state changes.
198
- ```dart
199
- class CartModel extends ChangeNotifier {
200
- final List<Item> _items = [];
201
- UnmodifiableListView<Item> get items => UnmodifiableListView(_items);
202
-
203
- void add(Item item) {
204
- _items.add(item);
205
- notifyListeners();
206
- }
207
- }
208
- ```
209
- 4. Keep internal state private within the model and expose unmodifiable views to the UI.
210
- 5. Call `notifyListeners()` in your model whenever the state changes to trigger UI rebuilds.
211
- 6. Use `ChangeNotifierProvider` to provide your model to the widget subtree that needs access to it.
212
- ```dart
213
- ChangeNotifierProvider(
214
- create: (context) => CartModel(),
215
- child: MyApp(),
216
- )
217
- ```
218
- 7. Wrap widgets that depend on the model’s state in a `Consumer<T>` widget to rebuild only when relevant data changes.
219
- ```dart
220
- return Consumer<CartModel>(
221
- builder: (context, cart, child) => Stack(
222
- children: [
223
- if (child != null) child,
224
- Text('Total price: \${cart.totalPrice}'),
225
- ],
226
- ),
227
- child: const SomeExpensiveWidget(),
228
- );
229
- ```
230
- 8. Always specify the generic type `<T>` for `Consumer<T>` and `Provider.of<T>` to ensure type safety and correct behavior.
231
- 9. Use the `child` parameter of `Consumer` to optimize performance by preventing unnecessary rebuilds of widgets that do not depend on the model.
232
- 10. Place `Consumer` widgets as deep in the widget tree as possible to minimize the scope of rebuilds.
233
- ```dart
234
- return HumongousWidget(
235
- child: AnotherMonstrousWidget(
236
- child: Consumer<CartModel>(
237
- builder: (context, cart, child) {
238
- return Text('Total price: \${cart.totalPrice}');
239
- },
240
- ),
241
- ),
242
- );
243
- ```
244
- 11. Do not wrap large widget subtrees in a `Consumer` if only a small part depends on the model; instead, wrap only the part that needs to rebuild.
245
- 12. Use `Provider.of<T>(context, listen: false)` when you need to access the model for actions (such as calling methods) but do not want the widget to rebuild on state changes.
246
- ```dart
247
- Provider.of<CartModel>(context, listen: false).removeAll();
248
- ```
249
- 13. `ChangeNotifierProvider` automatically disposes of the model when it is no longer needed.
250
- 14. Use `MultiProvider` when you need to provide multiple models to the widget tree.
251
- 15. Write unit tests for your `ChangeNotifier` models to verify state changes and notifications.
252
- 16. Avoid rebuilding widgets unnecessarily; optimize rebuilds by structuring your widget tree and provider usage carefully.
253
-
254
-
@@ -1,98 +0,0 @@
1
- # Flutter with ChangeNotifier Rules
2
-
3
- ## Core Dart Principles
4
- 1. Use class modifiers to control if your class can be extended or used as an interface.
5
- 2. Make your `==` operator obey the mathematical rules of equality and override `hashCode` if you override `==`.
6
- 3. Type annotate fields, variables, and parameters when the type isn't obvious.
7
- 4. Use `Future<void>` as the return type of asynchronous members that do not produce values.
8
- 5. Use getters for operations that conceptually access properties and setters for operations that conceptually change properties.
9
- 6. Use collection literals when possible.
10
- 7. Use `whereType()` to filter a collection by type.
11
- 8. Initialize fields at their declaration when possible.
12
- 9. Use initializing formals when possible.
13
- 10. Use `rethrow` to rethrow a caught exception.
14
-
15
- ## Flutter Best Practices
16
- 1. Extract reusable widgets into separate components.
17
- 2. Use `StatelessWidget` when possible.
18
- 3. Keep build methods simple and focused.
19
- 4. Avoid unnecessary `StatefulWidget`s.
20
- 5. Keep state as local as possible.
21
- 6. Use `const` constructors when possible.
22
- 7. Avoid expensive operations in build methods.
23
- 8. Implement pagination for large lists.
24
-
25
- ## ChangeNotifier State Management
26
- 1. Place shared state above the widgets that use it in the widget tree to enable proper rebuilds and avoid imperative UI updates.
27
- 2. Avoid directly mutating widgets or calling methods on them to change state; instead, rebuild widgets with new data.
28
- 3. Use a model class that extends `ChangeNotifier` to manage and notify listeners of state changes.
29
- ```dart
30
- class CartModel extends ChangeNotifier {
31
- final List<Item> _items = [];
32
- UnmodifiableListView<Item> get items => UnmodifiableListView(_items);
33
-
34
- void add(Item item) {
35
- _items.add(item);
36
- notifyListeners();
37
- }
38
- }
39
- ```
40
- 4. Keep internal state private within the model and expose unmodifiable views to the UI.
41
- 5. Call `notifyListeners()` in your model whenever the state changes to trigger UI rebuilds.
42
- 6. Use `ChangeNotifierProvider` to provide your model to the widget subtree that needs access to it.
43
- ```dart
44
- ChangeNotifierProvider(
45
- create: (context) => CartModel(),
46
- child: MyApp(),
47
- )
48
- ```
49
- 7. Wrap widgets that depend on the model's state in a `Consumer<T>` widget to rebuild only when relevant data changes.
50
- ```dart
51
- return Consumer<CartModel>(
52
- builder: (context, cart, child) => Stack(
53
- children: [
54
- if (child != null) child,
55
- Text('Total price: \${cart.totalPrice}'),
56
- ],
57
- ),
58
- child: const SomeExpensiveWidget(),
59
- );
60
- ```
61
- 8. Always specify the generic type `<T>` for `Consumer<T>` and `Provider.of<T>` to ensure type safety and correct behavior.
62
- 9. Use the `child` parameter of `Consumer` to optimize performance by preventing unnecessary rebuilds of widgets that do not depend on the model.
63
- 10. Place `Consumer` widgets as deep in the widget tree as possible to minimize the scope of rebuilds.
64
- ```dart
65
- return HumongousWidget(
66
- child: AnotherMonstrousWidget(
67
- child: Consumer<CartModel>(
68
- builder: (context, cart, child) {
69
- return Text('Total price: \${cart.totalPrice}');
70
- },
71
- ),
72
- ),
73
- );
74
- ```
75
- 11. Do not wrap large widget subtrees in a `Consumer` if only a small part depends on the model; instead, wrap only the part that needs to rebuild.
76
- 12. Use `Provider.of<T>(context, listen: false)` when you need to access the model for actions (such as calling methods) but do not want the widget to rebuild on state changes.
77
- ```dart
78
- Provider.of<CartModel>(context, listen: false).removeAll();
79
- ```
80
- 13. `ChangeNotifierProvider` automatically disposes of the model when it is no longer needed.
81
- 14. Use `MultiProvider` when you need to provide multiple models to the widget tree.
82
- 15. Write unit tests for your `ChangeNotifier` models to verify state changes and notifications.
83
- 16. Avoid rebuilding widgets unnecessarily; optimize rebuilds by structuring your widget tree and provider usage carefully.
84
-
85
- ## Dart 3 Modern Features
86
- 1. Use records for grouping values: `var user = ('John', age: 30)`.
87
- 2. Access record fields by position (`$1`) or name (`.age`).
88
- 3. Use patterns to destructure records, lists, and objects: `var (name, age) = user;`
89
- 4. Use switch expressions and pattern matching for concise, exhaustive control flow.
90
- 5. Use sealed classes for exhaustive `switch` and type safety.
91
-
92
- ## Common Flutter Errors
93
- 1. If you get a "RenderFlex overflowed" error, check if a `Row` or `Column` contains unconstrained widgets. Fix by wrapping children in `Flexible`, `Expanded`, or by setting constraints.
94
- 2. If you get "Vertical viewport was given unbounded height", ensure `ListView` or similar scrollable widgets inside a `Column` have a bounded height (e.g., wrap with `Expanded` or `SizedBox`).
95
- 3. If you get "An InputDecorator...cannot have an unbounded width", constrain the width of widgets like `TextField` using `Expanded`, `SizedBox`, or by placing them in a parent with width constraints.
96
- 4. If you get a "setState called during build" error, do not call `setState` or `showDialog` directly inside the build method. Trigger dialogs or state changes in response to user actions or after the build completes (e.g., using `addPostFrameCallback`).
97
- 5. If you get "The ScrollController is attached to multiple scroll views", make sure each `ScrollController` is only attached to a single scrollable widget at a time.
98
- 6. If you get a "RenderBox was not laid out" error, check for missing or unbounded constraints in your widget tree. This is often caused by using widgets like `ListView` or `Column` without proper size constraints.
@@ -1,261 +0,0 @@
1
- # Effective Dart Rules
2
-
3
- ### Naming Conventions
4
- 1. Use terms consistently throughout your code.
5
- 2. Follow existing mnemonic conventions when naming type parameters (e.g., `E` for element, `K`/`V` for key/value, `T`/`S`/`U` for generic types).
6
- 3. Name types using `UpperCamelCase` (classes, enums, typedefs, type parameters).
7
- 4. Name extensions using `UpperCamelCase`.
8
- 5. Name packages, directories, and source files using `lowercase_with_underscores`.
9
- 6. Name import prefixes using `lowercase_with_underscores`.
10
- 7. Name other identifiers using `lowerCamelCase` (variables, parameters, named parameters).
11
- 8. Capitalize acronyms and abbreviations longer than two letters like words.
12
- 9. Avoid abbreviations unless the abbreviation is more common than the unabbreviated term.
13
- 10. Prefer putting the most descriptive noun last in names.
14
- 11. Consider making code read like a sentence when designing APIs.
15
- 12. Prefer a noun phrase for non-boolean properties or variables.
16
- 13. Prefer a non-imperative verb phrase for boolean properties or variables.
17
- 14. Prefer the positive form for boolean property and variable names.
18
- 15. Consider omitting the verb for named boolean parameters.
19
- 16. Use camelCase for variable and function names.
20
- 17. Use PascalCase for class names.
21
- 18. Use snake_case for file names.
22
-
23
- ### Types and Functions
24
- 1. Use class modifiers to control if your class can be extended or used as an interface.
25
- 2. Type annotate variables without initializers.
26
- 3. Type annotate fields and top-level variables if the type isn't obvious.
27
- 4. Annotate return types on function declarations.
28
- 5. Annotate parameter types on function declarations.
29
- 6. Write type arguments on generic invocations that aren't inferred.
30
- 7. Annotate with `dynamic` instead of letting inference fail.
31
- 8. Use `Future<void>` as the return type of asynchronous members that do not produce values.
32
- 9. Use getters for operations that conceptually access properties.
33
- 10. Use setters for operations that conceptually change properties.
34
- 11. Use a function declaration to bind a function to a name.
35
- 12. Use inclusive start and exclusive end parameters to accept a range.
36
-
37
- ### Style
38
- 1. Format your code using `dart format`.
39
- 2. Use curly braces for all flow control statements.
40
- 3. Prefer `final` over `var` when variable values won't change.
41
- 4. Use `const` for compile-time constants.
42
-
43
- ### Imports & Files
44
- 1. Don't import libraries inside the `src` directory of another package.
45
- 2. Don't allow import paths to reach into or out of `lib`.
46
- 3. Prefer relative import paths within a package.
47
- 4. Don't use `/lib/` or `../` in import paths.
48
- 5. Consider writing a library-level doc comment for library files.
49
-
50
- ### Structure
51
- 1. Keep files focused on a single responsibility.
52
- 2. Limit file length to maintain readability.
53
- 3. Group related functionality together.
54
- 4. Prefer making fields and top-level variables `final`.
55
- 5. Consider making your constructor `const` if the class supports it.
56
- 6. Prefer making declarations private.
57
-
58
- ### Usage
59
- 1. Use strings in `part of` directives.
60
- 2. Use adjacent strings to concatenate string literals.
61
- 3. Use collection literals when possible.
62
- 4. Use `whereType()` to filter a collection by type.
63
- 5. Test for `Future<T>` when disambiguating a `FutureOr<T>` whose type argument could be `Object`.
64
- 6. Follow a consistent rule for `var` and `final` on local variables.
65
- 7. Initialize fields at their declaration when possible.
66
- 8. Use initializing formals when possible.
67
- 9. Use `;` instead of `{}` for empty constructor bodies.
68
- 10. Use `rethrow` to rethrow a caught exception.
69
- 11. Override `hashCode` if you override `==`.
70
- 12. Make your `==` operator obey the mathematical rules of equality.
71
-
72
- ### Documentation
73
- 1. Format comments like sentences.
74
- 2. Use `///` doc comments to document members and types; don't use block comments for documentation.
75
- 3. Prefer writing doc comments for public APIs.
76
- 4. Consider writing doc comments for private APIs.
77
- 5. Consider including explanations of terminology, links, and references in library-level docs.
78
- 6. Start doc comments with a single-sentence summary.
79
- 7. Separate the first sentence of a doc comment into its own paragraph.
80
- 8. Use square brackets in doc comments to refer to in-scope identifiers.
81
- 9. Use prose to explain parameters, return values, and exceptions.
82
- 10. Put doc comments before metadata annotations.
83
- 11. Document why code exists or how it should be used, not just what it does.
84
-
85
- ### Testing
86
- 1. Write unit tests for business logic.
87
- 2. Write widget tests for UI components.
88
- 3. Aim for good test coverage.
89
-
90
- ### Widgets
91
- 1. Extract reusable widgets into separate components.
92
- 2. Use `StatelessWidget` when possible.
93
- 3. Keep build methods simple and focused.
94
-
95
- ### State Management
96
- 1. Choose appropriate state management based on complexity.
97
- 2. Avoid unnecessary `StatefulWidget`s.
98
- 3. Keep state as local as possible.
99
-
100
- ### Performance
101
- 1. Use `const` constructors when possible.
102
- 2. Avoid expensive operations in build methods.
103
- 3. Implement pagination for large lists.
104
-
105
- # Dart 3 Updates
106
-
107
- ### Branches
108
- 1. Use `if` statements for conditional branching. The condition must evaluate to a boolean.
109
- 2. `if` statements support optional `else` and `else if` clauses for multiple branches.
110
- 3. Use `if-case` statements to match and destructure a value against a single pattern. Example: `if (pair case [int x, int y]) { ... }`
111
- 4. If the pattern in an `if-case` matches, variables defined in the pattern are in scope for that branch.
112
- 5. If the pattern does not match in an `if-case`, control flows to the `else` branch if present.
113
- 6. Use `switch` statements to match a value against multiple patterns (cases). Each `case` can use any kind of pattern.
114
- 7. When a value matches a `case` pattern in a `switch` statement, the case body executes and control jumps to the end of the switch. `break` is not required.
115
- 8. You can end a non-empty `case` clause with `continue`, `throw`, or `return`.
116
- 9. Use `default` or `_` in a `switch` statement to handle unmatched values.
117
- 10. Empty `case` clauses fall through to the next case. Use `break` to prevent fallthrough.
118
- 11. Use `continue` with a label for non-sequential fallthrough between cases.
119
- 12. Use logical-or patterns (e.g., `case a || b`) to share a body or guard between cases.
120
- 13. Use `switch` expressions to produce a value based on matching cases. Syntax differs from statements: omit `case`, use `=>` for bodies, and separate cases with commas.
121
- 14. In `switch` expressions, the default case must use `_` (not `default`).
122
- 15. Dart checks for exhaustiveness in `switch` statements and expressions, reporting a compile-time error if not all possible values are handled.
123
- 16. To ensure exhaustiveness, use a default (`default` or `_`) case, or switch over enums or sealed types.
124
- 17. Use the `sealed` modifier on a class to enable exhaustiveness checking when switching over its subtypes.
125
- 18. Add a guard clause to a `case` using `when` to further constrain when a case matches. Example: `case pattern when condition:`
126
- 19. Guard clauses can be used in `if-case`, `switch` statements, and `switch` expressions. The guard is evaluated after pattern matching.
127
- 20. If a guard clause evaluates to false, execution proceeds to the next case (does not exit the switch).
128
-
129
- ### Patterns
130
- 1. Patterns are a syntactic category that represent the shape of values for matching and destructuring.
131
- 2. Pattern matching checks if a value has a certain shape, constant, equality, or type.
132
- 3. Pattern destructuring allows extracting parts of a matched value and binding them to variables.
133
- 4. Patterns can be nested, using subpatterns (outer/inner patterns) for recursive matching and destructuring.
134
- 5. Use wildcard patterns (`_`) to ignore parts of a matched value; use rest elements in list patterns to ignore remaining elements.
135
- 6. Patterns can be used in:
136
- - Local variable declarations and assignments
137
- - For and for-in loops
138
- - If-case and switch-case statements
139
- - Control flow in collection literals
140
- 7. Pattern variable declarations start with `var` or `final` and bind new variables from the matched value. Example: `var (a, [b, c]) = ('str', [1, 2]);`
141
- 8. Pattern variable assignments destructure a value and assign to existing variables. Example: `(b, a) = (a, b); // swap values`
142
- 9. Every case clause in `switch` and `if-case` contains a pattern. Any kind of pattern can be used in a case.
143
- 10. Case patterns are refutable; if the pattern doesn't match, execution continues to the next case.
144
- 11. Destructured values in a case become local variables scoped to the case body.
145
- 12. Use logical-or patterns (e.g., `case a || b`) to match multiple alternatives in a single case.
146
- 13. Use logical-or patterns with guards (`when`) to share a body or guard between cases.
147
- 14. Guard clauses (`when`) evaluate a condition after matching; if false, execution proceeds to the next case.
148
- 15. Patterns can be used in for and for-in loops to destructure collection elements (e.g., destructuring `MapEntry` in map iteration).
149
- 16. Object patterns match named object types and destructure their data using getters. Example: `var Foo(:one, :two) = myFoo;`
150
- 8. Constant patterns match if the value is equal to a constant (number, string, bool, named constant, const constructor, const collection, etc.). Use parentheses and `const` for complex expressions.
151
- 9. Variable patterns (`var name`, `final Type name`) bind new variables to matched/destructured values. Typed variable patterns only match if the value has the declared type.
152
- 10. Identifier patterns (`foo`, `_`) act as variable or constant patterns depending on context. `_` always acts as a wildcard and matches/discards any value.
153
- 11. Parenthesized patterns (`(subpattern)`) control pattern precedence and grouping, similar to expressions.
154
- 12. List patterns (`[subpattern1, subpattern2]`) match lists and destructure elements by position. The pattern length must match the list unless a rest element is used.
155
- 13. Rest elements (`...`, `...rest`) in list patterns match arbitrary-length lists or collect unmatched elements into a new list.
156
- 14. Map patterns (`{"key": subpattern}`) match maps and destructure by key. Only specified keys are matched; missing keys throw a `StateError`.
157
- 15. Record patterns (`(subpattern1, subpattern2)`, `(x: subpattern1, y: subpattern2)`) match records by shape and destructure positional/named fields. Field names can be omitted if inferred from variable or identifier patterns.
158
- 16. Object patterns (`ClassName(field1: subpattern1, field2: subpattern2)`) match objects by type and destructure using getters. Extra fields in the object are ignored.
159
- 17. Wildcard patterns (`_`, `Type _`) match any value without binding. Useful for ignoring values or type-checking without binding.
160
- 18. All pattern types can be nested and combined for expressive and precise matching and destructuring.
161
-
162
- ### Records
163
- 1. Records are anonymous, immutable, aggregate types that bundle multiple objects into a single value.
164
- 2. Records are fixed-sized, heterogeneous, and strongly typed. Each field can have a different type.
165
- 3. Records are real values: store them in variables, nest them, pass to/from functions, and use in lists, maps, and sets.
166
- 4. Record expressions use parentheses with comma-delimited positional and/or named fields, e.g. `('first', a: 2, b: true, 'last')`.
167
- 5. Record type annotations use parentheses with comma-delimited types. Named fields use curly braces: `({int a, bool b})`.
168
- 6. The names of named fields are part of the record's type (shape). Records with different named field names have different types.
169
- 7. Positional field names in type annotations are for documentation only and do not affect the record's type.
170
- 8. Record fields are accessed via built-in getters: positional fields as `$1`, `$2`, etc., and named fields by their name (e.g., `.a`).
171
- 9. Records are immutable: fields do not have setters.
172
- 10. Records are structurally typed: the set, types, and names of fields define the record's type (shape).
173
- 11. Two records are equal if they have the same shape and all corresponding field values are equal. Named field order does not affect equality.
174
- 12. Records automatically define `hashCode` and `==` based on structure and field values.
175
- 13. Use records for functions that return multiple values; destructure with pattern matching: `var (name, age) = userInfo(json);`
176
- 14. Destructure named fields with the colon syntax: `final (:name, :age) = userInfo(json);`
177
- 15. Using records for multiple returns is more concise and type-safe than using classes, lists, or maps.
178
- 16. Use lists of records for simple data tuples with the same shape.
179
- 17. Use type aliases (`typedef`) for record types to improve readability and maintainability.
180
- 18. Changing a record type alias does not guarantee all code using it is still type-safe; only classes provide full abstraction/encapsulation.
181
- 19. Extension types can wrap records but do not provide full abstraction or protection.
182
- 20. Records are best for simple, immutable data aggregation; use classes for abstraction, encapsulation, and behavior.
183
-
184
- # Common Flutter Errors
185
-
186
- 1. If you get a "RenderFlex overflowed" error, check if a `Row` or `Column` contains unconstrained widgets. Fix by wrapping children in `Flexible`, `Expanded`, or by setting constraints.
187
- 2. If you get "Vertical viewport was given unbounded height", ensure `ListView` or similar scrollable widgets inside a `Column` have a bounded height (e.g., wrap with `Expanded` or `SizedBox`).
188
- 3. If you get "An InputDecorator...cannot have an unbounded width", constrain the width of widgets like `TextField` using `Expanded`, `SizedBox`, or by placing them in a parent with width constraints.
189
- 4. If you get a "setState called during build" error, do not call `setState` or `showDialog` directly inside the build method. Trigger dialogs or state changes in response to user actions or after the build completes (e.g., using `addPostFrameCallback`).
190
- 5. If you get "The ScrollController is attached to multiple scroll views", make sure each `ScrollController` is only attached to a single scrollable widget at a time.
191
- 6. If you get a "RenderBox was not laid out" error, check for missing or unbounded constraints in your widget tree. This is often caused by using widgets like `ListView` or `Column` without proper size constraints.
192
- 7. Use the Flutter Inspector and review widget constraints to debug layout issues. Refer to the official documentation on constraints if needed.
193
- ### Provider Rules
194
-
195
- 1. Use `Provider`, `ChangeNotifierProvider`, `FutureProvider`, and `StreamProvider` to expose values and manage state in the widget tree.
196
- 2. Always specify the generic type when using `Provider`, `Consumer`, `context.watch`, `context.read`, or `context.select` for type safety.
197
- ```dart
198
- final value = context.watch<int>();
199
- ```
200
- 3. Use `ChangeNotifierProvider` to automatically dispose of the model when it is no longer needed.
201
- ```dart
202
- ChangeNotifierProvider(
203
- create: (_) => MyNotifier(),
204
- child: MyApp(),
205
- )
206
- ```
207
- 4. For objects that depend on other providers or values that may change, use `ProxyProvider` or `ChangeNotifierProxyProvider` instead of creating the object from variables that can change over time.
208
- ```dart
209
- ProxyProvider0(
210
- update: (_, __) => MyModel(count),
211
- child: ...
212
- )
213
- ```
214
- 5. Use `MultiProvider` to group multiple providers and avoid deeply nested provider trees.
215
- ```dart
216
- MultiProvider(
217
- providers: [
218
- Provider<Something>(create: (_) => Something()),
219
- Provider<SomethingElse>(create: (_) => SomethingElse()),
220
- ],
221
- child: someWidget,
222
- )
223
- ```
224
- 6. Use `context.watch<T>()` to listen to changes and rebuild the widget when `T` changes.
225
- 7. Use `context.read<T>()` to access a provider without listening for changes (e.g., in callbacks).
226
- 8. Use `context.select<T, R>(R selector(T value))` to listen to only a small part of `T` and optimize rebuilds.
227
- ```dart
228
- final selected = context.select<MyModel, int>((model) => model.count);
229
- ```
230
- 9. Use `Consumer<T>` or `Selector<T, R>` widgets for fine-grained rebuilds when you cannot access a descendant `BuildContext`.
231
- ```dart
232
- Consumer<MyModel>(
233
- builder: (context, value, child) => Text('$value'),
234
- )
235
- ```
236
- 10. To migrate from `ValueListenableProvider`, use `Provider` with `ValueListenableBuilder`.
237
- ```dart
238
- ValueListenableBuilder<int>(
239
- valueListenable: myValueListenable,
240
- builder: (context, value, _) {
241
- return Provider<int>.value(
242
- value: value,
243
- child: MyApp(),
244
- );
245
- }
246
- )
247
- ```
248
- 11. Do not create your provider’s object from variables that can change over time; otherwise, the object will not update when the value changes.
249
- 12. For debugging, implement `toString` or use `DiagnosticableTreeMixin` to improve how your objects appear in Flutter DevTools.
250
- ```dart
251
- class MyClass with DiagnosticableTreeMixin {
252
- // ...
253
- @override
254
- String toString() => '$runtimeType(a: $a, b: $b)';
255
- }
256
- ```
257
- 13. Do not attempt to obtain providers inside `initState` or `constructor`; use them in `build`, callbacks, or lifecycle methods where the widget is fully mounted.
258
- 14. You can use any object as state, not just `ChangeNotifier`; use `Provider.value()` with a `StatefulWidget` if needed.
259
- 15. If you have a very large number of providers (e.g., 150+), consider mounting them over time (e.g., during splash screen animation) or avoid `MultiProvider` to prevent StackOverflowError.
260
-
261
-