appiq-solution 1.4.7 → 1.4.9
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.
- package/README.md +172 -48
- package/bmad-core/agent-teams/team-fullstack.yaml +1 -11
- package/bmad-core/agents/analyst.md +3 -7
- package/bmad-core/agents/architect.md +0 -6
- package/bmad-core/agents/dev.md +5 -24
- package/bmad-core/agents/pm.md +3 -7
- package/bmad-core/agents/qa.md +0 -17
- package/bmad-core/agents/sm.md +3 -8
- package/bmad-core/agents/ux-expert.md +3 -8
- package/bmad-core/data/technical-preferences.md +1 -147
- package/bmad-core/templates/fullstack-architecture-tmpl.yaml +5 -12
- package/bmad-core/workflows/brownfield-fullstack.yaml +1 -15
- package/bmad-core/workflows/greenfield-fullstack.yaml +5 -49
- package/bmad-core/working-in-the-brownfield.md +10 -19
- package/dist/agents/bmad-orchestrator.txt +0 -111
- package/dist/agents/pm.txt +2 -0
- package/dist/expansion-packs/bmad-2d-phaser-game-dev/teams/phaser-2d-nodejs-game-team.txt +0 -111
- package/dist/expansion-packs/bmad-2d-unity-game-dev/teams/unity-2d-game-team.txt +0 -111
- package/dist/teams/team-all.txt +2 -111
- package/dist/teams/team-fullstack.txt +2 -111
- package/dist/teams/team-ide-minimal.txt +0 -111
- package/dist/teams/team-no-ui.txt +2 -111
- package/package.json +60 -18
- package/tools/cli.js +3 -3
- package/tools/installer/package-lock.json +2 -2
- package/#NEW APP PROMPT/ARCHITECTURE.md +0 -279
- package/#NEW APP PROMPT/ARCHITECTURE_UNIFIED.md +0 -414
- package/#NEW APP PROMPT/accesibility_prompt.md +0 -103
- package/#NEW APP PROMPT/clean-code.mdc +0 -55
- package/#NEW APP PROMPT/codequality.mdc +0 -47
- package/#NEW APP PROMPT/flutter-ai-rules/LICENSE +0 -21
- package/#NEW APP PROMPT/flutter-ai-rules/README.md +0 -104
- package/#NEW APP PROMPT/flutter-ai-rules/combined/README.md +0 -25
- package/#NEW APP PROMPT/flutter-ai-rules/combined/flutter_dart.md +0 -192
- package/#NEW APP PROMPT/flutter-ai-rules/combined/flutter_dart__under_6K.md +0 -99
- package/#NEW APP PROMPT/flutter-ai-rules/combined/flutter_dart_bloc_mocktail.md +0 -308
- package/#NEW APP PROMPT/flutter-ai-rules/combined/flutter_dart_bloc_mocktail__under_6K.md +0 -87
- package/#NEW APP PROMPT/flutter-ai-rules/combined/flutter_dart_change_notifier.md +0 -254
- package/#NEW APP PROMPT/flutter-ai-rules/combined/flutter_dart_change_notifier__under_6K.md +0 -98
- package/#NEW APP PROMPT/flutter-ai-rules/combined/flutter_dart_provider.md +0 -261
- package/#NEW APP PROMPT/flutter-ai-rules/combined/flutter_dart_provider__under_6K.md +0 -105
- package/#NEW APP PROMPT/flutter-ai-rules/combined/flutter_dart_riverpod_mockito.md +0 -371
- package/#NEW APP PROMPT/flutter-ai-rules/combined/flutter_dart_riverpod_mockito__under_6K.md +0 -92
- package/#NEW APP PROMPT/flutter-ai-rules/combined/flutter_with_bloc.md +0 -287
- package/#NEW APP PROMPT/flutter-ai-rules/combined/flutter_with_bloc__under_6K.md +0 -68
- package/#NEW APP PROMPT/flutter-ai-rules/combined/flutter_with_riverpod.md +0 -375
- package/#NEW APP PROMPT/flutter-ai-rules/combined/flutter_with_riverpod__under_6K.md +0 -106
- package/#NEW APP PROMPT/flutter-ai-rules/media/flutter_ai_rules.png +0 -0
- package/#NEW APP PROMPT/flutter-ai-rules/media/mocktail_md_01.png +0 -0
- package/#NEW APP PROMPT/flutter-ai-rules/media/mocktail_md_02.png +0 -0
- package/#NEW APP PROMPT/flutter-ai-rules/rules/bloc.md +0 -94
- package/#NEW APP PROMPT/flutter-ai-rules/rules/dart_3_updates.md +0 -93
- package/#NEW APP PROMPT/flutter-ai-rules/rules/effective_dart.md +0 -105
- package/#NEW APP PROMPT/flutter-ai-rules/rules/flutter_app_architecture.md +0 -57
- package/#NEW APP PROMPT/flutter-ai-rules/rules/flutter_change_notifier.md +0 -62
- package/#NEW APP PROMPT/flutter-ai-rules/rules/flutter_errors.md +0 -11
- package/#NEW APP PROMPT/flutter-ai-rules/rules/mockito.md +0 -31
- package/#NEW APP PROMPT/flutter-ai-rules/rules/mocktail.md +0 -24
- package/#NEW APP PROMPT/flutter-ai-rules/rules/provider.md +0 -69
- package/#NEW APP PROMPT/flutter-ai-rules/rules/riverpod.md +0 -188
- package/#NEW APP PROMPT/generate ssh.md +0 -4
- package/#NEW APP PROMPT/project_ai_prompt.md +0 -544
- package/#Tools/APPIQ-METHOD/.bmad-config.json +0 -13
- package/#Tools/APPIQ-METHOD/.cursor/commands/analyze.md +0 -27
- package/#Tools/APPIQ-METHOD/.cursor/commands/appiq.md +0 -27
- package/#Tools/APPIQ-METHOD/.cursor/commands/help.md +0 -27
- package/#Tools/APPIQ-METHOD/.cursor/commands/story.md +0 -27
- package/#Tools/APPIQ-METHOD/DEVELOPMENT_GUIDE.md +0 -855
- package/#Tools/APPIQ-METHOD/NPM-README.md +0 -138
- package/#Tools/APPIQ-METHOD/README.md +0 -107
- package/#Tools/APPIQ-METHOD/SMART_WORKFLOW_GUIDE.md +0 -401
- package/#Tools/APPIQ-METHOD/activate-appiq.js +0 -81
- package/#Tools/APPIQ-METHOD/appiq-solution/README.md +0 -226
- package/#Tools/APPIQ-METHOD/bmad-core/agent-teams/team-all.yaml +0 -14
- package/#Tools/APPIQ-METHOD/bmad-core/agent-teams/team-flutter-mobile.yaml +0 -114
- package/#Tools/APPIQ-METHOD/bmad-core/agent-teams/team-fullstack.yaml +0 -28
- package/#Tools/APPIQ-METHOD/bmad-core/agent-teams/team-ide-minimal.yaml +0 -10
- package/#Tools/APPIQ-METHOD/bmad-core/agent-teams/team-no-ui.yaml +0 -13
- package/#Tools/APPIQ-METHOD/bmad-core/agents/analyst.md +0 -85
- package/#Tools/APPIQ-METHOD/bmad-core/agents/architect.md +0 -90
- package/#Tools/APPIQ-METHOD/bmad-core/agents/bmad-master.md +0 -108
- package/#Tools/APPIQ-METHOD/bmad-core/agents/bmad-orchestrator.md +0 -150
- package/#Tools/APPIQ-METHOD/bmad-core/agents/bmad-smart-launcher.md +0 -170
- package/#Tools/APPIQ-METHOD/bmad-core/agents/dev.md +0 -95
- package/#Tools/APPIQ-METHOD/bmad-core/agents/init-flow-po.md +0 -143
- package/#Tools/APPIQ-METHOD/bmad-core/agents/pm.md +0 -85
- package/#Tools/APPIQ-METHOD/bmad-core/agents/po.md +0 -76
- package/#Tools/APPIQ-METHOD/bmad-core/agents/qa.md +0 -86
- package/#Tools/APPIQ-METHOD/bmad-core/agents/sm.md +0 -67
- package/#Tools/APPIQ-METHOD/bmad-core/agents/ux-expert.md +0 -71
- package/#Tools/APPIQ-METHOD/bmad-core/bmad-core/user-guide.md +0 -0
- package/#Tools/APPIQ-METHOD/bmad-core/checklists/architect-checklist.md +0 -443
- package/#Tools/APPIQ-METHOD/bmad-core/checklists/change-checklist.md +0 -182
- package/#Tools/APPIQ-METHOD/bmad-core/checklists/pm-checklist.md +0 -375
- package/#Tools/APPIQ-METHOD/bmad-core/checklists/po-master-checklist.md +0 -441
- package/#Tools/APPIQ-METHOD/bmad-core/checklists/security-validation-checklist.md +0 -332
- package/#Tools/APPIQ-METHOD/bmad-core/checklists/story-dod-checklist.md +0 -101
- package/#Tools/APPIQ-METHOD/bmad-core/checklists/story-draft-checklist.md +0 -156
- package/#Tools/APPIQ-METHOD/bmad-core/core-config.yaml +0 -20
- package/#Tools/APPIQ-METHOD/bmad-core/core-config.yaml.bak +0 -20
- package/#Tools/APPIQ-METHOD/bmad-core/data/backend-services-integration.md +0 -686
- package/#Tools/APPIQ-METHOD/bmad-core/data/bmad-kb.md +0 -803
- package/#Tools/APPIQ-METHOD/bmad-core/data/brainstorming-techniques.md +0 -36
- package/#Tools/APPIQ-METHOD/bmad-core/data/elicitation-methods.md +0 -134
- package/#Tools/APPIQ-METHOD/bmad-core/data/shadcn-ui-integration.md +0 -388
- package/#Tools/APPIQ-METHOD/bmad-core/data/technical-preferences.md +0 -149
- package/#Tools/APPIQ-METHOD/bmad-core/enhanced-ide-development-workflow.md +0 -43
- package/#Tools/APPIQ-METHOD/bmad-core/tasks/advanced-elicitation.md +0 -117
- package/#Tools/APPIQ-METHOD/bmad-core/tasks/brownfield-create-epic.md +0 -160
- package/#Tools/APPIQ-METHOD/bmad-core/tasks/brownfield-create-story.md +0 -147
- package/#Tools/APPIQ-METHOD/bmad-core/tasks/correct-course.md +0 -70
- package/#Tools/APPIQ-METHOD/bmad-core/tasks/create-brownfield-story.md +0 -304
- package/#Tools/APPIQ-METHOD/bmad-core/tasks/create-deep-research-prompt.md +0 -289
- package/#Tools/APPIQ-METHOD/bmad-core/tasks/create-flutter-story.md +0 -197
- package/#Tools/APPIQ-METHOD/bmad-core/tasks/create-next-story.md +0 -112
- package/#Tools/APPIQ-METHOD/bmad-core/tasks/document-project.md +0 -341
- package/#Tools/APPIQ-METHOD/bmad-core/tasks/facilitate-brainstorming-session.md +0 -136
- package/#Tools/APPIQ-METHOD/bmad-core/tasks/generate-ai-frontend-prompt.md +0 -51
- package/#Tools/APPIQ-METHOD/bmad-core/tasks/index-docs.md +0 -179
- package/#Tools/APPIQ-METHOD/bmad-core/tasks/intelligent-epic-creation.md +0 -234
- package/#Tools/APPIQ-METHOD/bmad-core/tasks/kb-mode-interaction.md +0 -75
- package/#Tools/APPIQ-METHOD/bmad-core/tasks/review-story.md +0 -145
- package/#Tools/APPIQ-METHOD/bmad-core/tasks/shard-doc.md +0 -187
- package/#Tools/APPIQ-METHOD/bmad-core/tasks/smart-project-analysis.md +0 -289
- package/#Tools/APPIQ-METHOD/bmad-core/tasks/validate-next-story.md +0 -134
- package/#Tools/APPIQ-METHOD/bmad-core/templates/architecture-tmpl.yaml +0 -650
- package/#Tools/APPIQ-METHOD/bmad-core/templates/brainstorming-output-tmpl.yaml +0 -156
- package/#Tools/APPIQ-METHOD/bmad-core/templates/brownfield-architecture-tmpl.yaml +0 -476
- package/#Tools/APPIQ-METHOD/bmad-core/templates/brownfield-prd-tmpl.yaml +0 -280
- package/#Tools/APPIQ-METHOD/bmad-core/templates/competitor-analysis-tmpl.yaml +0 -293
- package/#Tools/APPIQ-METHOD/bmad-core/templates/flutter-mobile-prd-tmpl.yaml +0 -330
- package/#Tools/APPIQ-METHOD/bmad-core/templates/flutter-story-tmpl.yaml +0 -376
- package/#Tools/APPIQ-METHOD/bmad-core/templates/flutter-ui-spec-tmpl.yaml +0 -415
- package/#Tools/APPIQ-METHOD/bmad-core/templates/front-end-architecture-tmpl.yaml +0 -206
- package/#Tools/APPIQ-METHOD/bmad-core/templates/front-end-spec-tmpl.yaml +0 -349
- package/#Tools/APPIQ-METHOD/bmad-core/templates/fullstack-architecture-tmpl.yaml +0 -812
- package/#Tools/APPIQ-METHOD/bmad-core/templates/market-research-tmpl.yaml +0 -252
- package/#Tools/APPIQ-METHOD/bmad-core/templates/prd-tmpl.yaml +0 -202
- package/#Tools/APPIQ-METHOD/bmad-core/templates/project-brief-tmpl.yaml +0 -221
- package/#Tools/APPIQ-METHOD/bmad-core/templates/story-tmpl.yaml +0 -137
- package/#Tools/APPIQ-METHOD/bmad-core/user-guide.md +0 -251
- package/#Tools/APPIQ-METHOD/bmad-core/workflows/brownfield-fullstack.yaml +0 -311
- package/#Tools/APPIQ-METHOD/bmad-core/workflows/brownfield-service.yaml +0 -187
- package/#Tools/APPIQ-METHOD/bmad-core/workflows/brownfield-ui.yaml +0 -197
- package/#Tools/APPIQ-METHOD/bmad-core/workflows/greenfield-fullstack.yaml +0 -284
- package/#Tools/APPIQ-METHOD/bmad-core/workflows/greenfield-service.yaml +0 -206
- package/#Tools/APPIQ-METHOD/bmad-core/workflows/greenfield-ui.yaml +0 -235
- package/#Tools/APPIQ-METHOD/bmad-core/working-in-the-brownfield.md +0 -373
- package/#Tools/APPIQ-METHOD/commands/README.md +0 -28
- package/#Tools/APPIQ-METHOD/commands/analyze.md +0 -27
- package/#Tools/APPIQ-METHOD/commands/appiq.md +0 -27
- package/#Tools/APPIQ-METHOD/commands/help.md +0 -27
- package/#Tools/APPIQ-METHOD/commands/story.md +0 -27
- package/#Tools/APPIQ-METHOD/dist/agents/analyst.txt +0 -2882
- package/#Tools/APPIQ-METHOD/dist/agents/architect.txt +0 -3543
- package/#Tools/APPIQ-METHOD/dist/agents/bmad-master.txt +0 -8756
- package/#Tools/APPIQ-METHOD/dist/agents/bmad-orchestrator.txt +0 -1490
- package/#Tools/APPIQ-METHOD/dist/agents/dev.txt +0 -428
- package/#Tools/APPIQ-METHOD/dist/agents/pm.txt +0 -2229
- package/#Tools/APPIQ-METHOD/dist/agents/po.txt +0 -1364
- package/#Tools/APPIQ-METHOD/dist/agents/qa.txt +0 -386
- package/#Tools/APPIQ-METHOD/dist/agents/sm.txt +0 -668
- package/#Tools/APPIQ-METHOD/dist/agents/ux-expert.txt +0 -701
- package/#Tools/APPIQ-METHOD/dist/expansion-packs/bmad-2d-phaser-game-dev/agents/game-designer.txt +0 -2408
- package/#Tools/APPIQ-METHOD/dist/expansion-packs/bmad-2d-phaser-game-dev/agents/game-developer.txt +0 -1631
- package/#Tools/APPIQ-METHOD/dist/expansion-packs/bmad-2d-phaser-game-dev/agents/game-sm.txt +0 -822
- package/#Tools/APPIQ-METHOD/dist/expansion-packs/bmad-2d-phaser-game-dev/teams/phaser-2d-nodejs-game-team.txt +0 -10989
- package/#Tools/APPIQ-METHOD/dist/expansion-packs/bmad-2d-unity-game-dev/agents/game-architect.txt +0 -4047
- package/#Tools/APPIQ-METHOD/dist/expansion-packs/bmad-2d-unity-game-dev/agents/game-designer.txt +0 -3744
- package/#Tools/APPIQ-METHOD/dist/expansion-packs/bmad-2d-unity-game-dev/agents/game-developer.txt +0 -465
- package/#Tools/APPIQ-METHOD/dist/expansion-packs/bmad-2d-unity-game-dev/agents/game-sm.txt +0 -990
- package/#Tools/APPIQ-METHOD/dist/expansion-packs/bmad-2d-unity-game-dev/teams/unity-2d-game-team.txt +0 -15467
- package/#Tools/APPIQ-METHOD/dist/expansion-packs/bmad-infrastructure-devops/agents/infra-devops-platform.txt +0 -2077
- package/#Tools/APPIQ-METHOD/dist/teams/team-all.txt +0 -11062
- package/#Tools/APPIQ-METHOD/dist/teams/team-fullstack.txt +0 -10392
- package/#Tools/APPIQ-METHOD/dist/teams/team-ide-minimal.txt +0 -3507
- package/#Tools/APPIQ-METHOD/dist/teams/team-no-ui.txt +0 -8951
- package/#Tools/APPIQ-METHOD/install-appiq.sh +0 -41
- package/#Tools/APPIQ-METHOD/package-lock.json +0 -631
- package/#Tools/APPIQ-METHOD/package.json +0 -44
- package/#Tools/APPIQ-METHOD/tasks/todo.md +0 -275
- package/#Tools/APPIQ-METHOD/tools/appiq-installer.js +0 -2711
- package/#Tools/APPIQ-METHOD/tools/bmad-npx-wrapper.js +0 -39
- package/#Tools/APPIQ-METHOD/tools/builders/web-builder.js +0 -681
- package/#Tools/APPIQ-METHOD/tools/bump-all-versions.js +0 -106
- package/#Tools/APPIQ-METHOD/tools/bump-expansion-version.js +0 -83
- package/#Tools/APPIQ-METHOD/tools/cli.js +0 -152
- package/#Tools/APPIQ-METHOD/tools/epic-solution-installer.js +0 -536
- package/#Tools/APPIQ-METHOD/tools/flattener/main.js +0 -570
- package/#Tools/APPIQ-METHOD/tools/installer/README.md +0 -8
- package/#Tools/APPIQ-METHOD/tools/installer/bin/bmad.js +0 -483
- package/#Tools/APPIQ-METHOD/tools/installer/config/ide-agent-config.yaml +0 -58
- package/#Tools/APPIQ-METHOD/tools/installer/config/install.config.yaml +0 -92
- package/#Tools/APPIQ-METHOD/tools/installer/lib/config-loader.js +0 -253
- package/#Tools/APPIQ-METHOD/tools/installer/lib/file-manager.js +0 -411
- package/#Tools/APPIQ-METHOD/tools/installer/lib/ide-base-setup.js +0 -227
- package/#Tools/APPIQ-METHOD/tools/installer/lib/ide-setup.js +0 -1096
- package/#Tools/APPIQ-METHOD/tools/installer/lib/installer.js +0 -1772
- package/#Tools/APPIQ-METHOD/tools/installer/lib/memory-profiler.js +0 -224
- package/#Tools/APPIQ-METHOD/tools/installer/lib/module-manager.js +0 -110
- package/#Tools/APPIQ-METHOD/tools/installer/lib/resource-locator.js +0 -310
- package/#Tools/APPIQ-METHOD/tools/installer/package-lock.json +0 -906
- package/#Tools/APPIQ-METHOD/tools/installer/package.json +0 -43
- package/#Tools/APPIQ-METHOD/tools/lib/dependency-resolver.js +0 -179
- package/#Tools/APPIQ-METHOD/tools/lib/yaml-utils.js +0 -29
- package/#Tools/APPIQ-METHOD/tools/md-assets/web-agent-startup-instructions.md +0 -39
- package/#Tools/APPIQ-METHOD/tools/semantic-release-sync-installer.js +0 -30
- package/#Tools/APPIQ-METHOD/tools/setup-ide-commands.js +0 -348
- package/#Tools/APPIQ-METHOD/tools/smart-installer.js +0 -592
- package/#Tools/APPIQ-METHOD/tools/sync-installer-version.js +0 -34
- package/#Tools/APPIQ-METHOD/tools/update-expansion-version.js +0 -54
- package/#Tools/APPIQ-METHOD/tools/upgraders/v3-to-v4-upgrader.js +0 -763
- package/#Tools/APPIQ-METHOD/tools/version-bump.js +0 -79
- package/#Tools/APPIQ-METHOD/tools/yaml-format.js +0 -240
- package/#Tools/SkyReels-V2/.pre-commit-config.yaml +0 -25
- package/#Tools/SkyReels-V2/LICENSE.txt +0 -38
- package/#Tools/SkyReels-V2/README.md +0 -766
- package/#Tools/SkyReels-V2/generate_video.py +0 -161
- package/#Tools/SkyReels-V2/generate_video_df.py +0 -220
- package/#Tools/SkyReels-V2/requirements.txt +0 -16
- package/#Tools/SkyReels-V2/skycaptioner_v1/README.md +0 -278
- package/#Tools/SkyReels-V2/skycaptioner_v1/examples/test.csv +0 -5
- package/#Tools/SkyReels-V2/skycaptioner_v1/examples/test_result.csv +0 -5
- package/#Tools/SkyReels-V2/skycaptioner_v1/infer_fusion_caption.sh +0 -9
- package/#Tools/SkyReels-V2/skycaptioner_v1/infer_struct_caption.sh +0 -8
- package/#Tools/SkyReels-V2/skycaptioner_v1/requirements.txt +0 -3
- package/#Tools/SkyReels-V2/skycaptioner_v1/scripts/gradio_fusion_caption.py +0 -146
- package/#Tools/SkyReels-V2/skycaptioner_v1/scripts/gradio_struct_caption.py +0 -92
- package/#Tools/SkyReels-V2/skycaptioner_v1/scripts/utils.py +0 -19
- package/#Tools/SkyReels-V2/skycaptioner_v1/scripts/vllm_fusion_caption.py +0 -256
- package/#Tools/SkyReels-V2/skycaptioner_v1/scripts/vllm_struct_caption.py +0 -156
- package/#Tools/SkyReels-V2/skyreels_v2_infer/__init__.py +0 -1
- package/#Tools/SkyReels-V2/skyreels_v2_infer/distributed/__init__.py +0 -0
- package/#Tools/SkyReels-V2/skyreels_v2_infer/distributed/xdit_context_parallel.py +0 -286
- package/#Tools/SkyReels-V2/skyreels_v2_infer/modules/__init__.py +0 -69
- package/#Tools/SkyReels-V2/skyreels_v2_infer/modules/attention.py +0 -179
- package/#Tools/SkyReels-V2/skyreels_v2_infer/modules/clip.py +0 -525
- package/#Tools/SkyReels-V2/skyreels_v2_infer/modules/t5.py +0 -454
- package/#Tools/SkyReels-V2/skyreels_v2_infer/modules/tokenizers.py +0 -78
- package/#Tools/SkyReels-V2/skyreels_v2_infer/modules/transformer.py +0 -839
- package/#Tools/SkyReels-V2/skyreels_v2_infer/modules/vae.py +0 -639
- package/#Tools/SkyReels-V2/skyreels_v2_infer/modules/xlm_roberta.py +0 -165
- package/#Tools/SkyReels-V2/skyreels_v2_infer/pipelines/__init__.py +0 -5
- package/#Tools/SkyReels-V2/skyreels_v2_infer/pipelines/diffusion_forcing_pipeline.py +0 -659
- package/#Tools/SkyReels-V2/skyreels_v2_infer/pipelines/image2video_pipeline.py +0 -156
- package/#Tools/SkyReels-V2/skyreels_v2_infer/pipelines/prompt_enhancer.py +0 -65
- package/#Tools/SkyReels-V2/skyreels_v2_infer/pipelines/text2video_pipeline.py +0 -110
- package/#Tools/SkyReels-V2/skyreels_v2_infer/scheduler/__init__.py +0 -0
- package/#Tools/SkyReels-V2/skyreels_v2_infer/scheduler/fm_solvers_unipc.py +0 -759
- package/#Tools/SuperClaude/.claude/commands/analyze.md +0 -36
- package/#Tools/SuperClaude/.claude/commands/build.md +0 -35
- package/#Tools/SuperClaude/.claude/commands/cleanup.md +0 -46
- package/#Tools/SuperClaude/.claude/commands/deploy.md +0 -55
- package/#Tools/SuperClaude/.claude/commands/design.md +0 -91
- package/#Tools/SuperClaude/.claude/commands/dev-setup.md +0 -37
- package/#Tools/SuperClaude/.claude/commands/document.md +0 -99
- package/#Tools/SuperClaude/.claude/commands/estimate.md +0 -69
- package/#Tools/SuperClaude/.claude/commands/explain.md +0 -85
- package/#Tools/SuperClaude/.claude/commands/git.md +0 -47
- package/#Tools/SuperClaude/.claude/commands/improve.md +0 -162
- package/#Tools/SuperClaude/.claude/commands/index.md +0 -159
- package/#Tools/SuperClaude/.claude/commands/load.md +0 -65
- package/#Tools/SuperClaude/.claude/commands/migrate.md +0 -76
- package/#Tools/SuperClaude/.claude/commands/scan.md +0 -163
- package/#Tools/SuperClaude/.claude/commands/shared/ambiguity-check.yml +0 -40
- package/#Tools/SuperClaude/.claude/commands/shared/audit.yml +0 -21
- package/#Tools/SuperClaude/.claude/commands/shared/checkpoint.yml +0 -28
- package/#Tools/SuperClaude/.claude/commands/shared/cleanup-patterns.yml +0 -107
- package/#Tools/SuperClaude/.claude/commands/shared/command-memory.yml +0 -52
- package/#Tools/SuperClaude/.claude/commands/shared/command-templates.yml +0 -167
- package/#Tools/SuperClaude/.claude/commands/shared/config-validator.yml +0 -206
- package/#Tools/SuperClaude/.claude/commands/shared/constants.yml +0 -311
- package/#Tools/SuperClaude/.claude/commands/shared/documentation-dirs.yml +0 -134
- package/#Tools/SuperClaude/.claude/commands/shared/error-handling.yml +0 -341
- package/#Tools/SuperClaude/.claude/commands/shared/evidence.yml +0 -75
- package/#Tools/SuperClaude/.claude/commands/shared/execution-lifecycle.yml +0 -277
- package/#Tools/SuperClaude/.claude/commands/shared/git-operations.yml +0 -217
- package/#Tools/SuperClaude/.claude/commands/shared/git-workflow.yml +0 -37
- package/#Tools/SuperClaude/.claude/commands/shared/implementation.yml +0 -199
- package/#Tools/SuperClaude/.claude/commands/shared/loading-config.yml +0 -73
- package/#Tools/SuperClaude/.claude/commands/shared/mcp-flags.yml +0 -109
- package/#Tools/SuperClaude/.claude/commands/shared/migration-report.md +0 -165
- package/#Tools/SuperClaude/.claude/commands/shared/patterns.yml +0 -155
- package/#Tools/SuperClaude/.claude/commands/shared/performance.yml +0 -317
- package/#Tools/SuperClaude/.claude/commands/shared/planning-mode.yml +0 -51
- package/#Tools/SuperClaude/.claude/commands/shared/research-first.yml +0 -278
- package/#Tools/SuperClaude/.claude/commands/shared/session-recovery.yml +0 -144
- package/#Tools/SuperClaude/.claude/commands/shared/severity-levels.yml +0 -252
- package/#Tools/SuperClaude/.claude/commands/shared/task-system.yml +0 -380
- package/#Tools/SuperClaude/.claude/commands/shared/task-ultracompressed.yml +0 -88
- package/#Tools/SuperClaude/.claude/commands/shared/templates/feature-template.md +0 -59
- package/#Tools/SuperClaude/.claude/commands/shared/templates/task-ultracompressed.md +0 -26
- package/#Tools/SuperClaude/.claude/commands/shared/thinking-modes.yml +0 -61
- package/#Tools/SuperClaude/.claude/commands/shared/ultracompressed.yml +0 -97
- package/#Tools/SuperClaude/.claude/commands/shared/user-experience.yml +0 -208
- package/#Tools/SuperClaude/.claude/commands/shared/validation.yml +0 -54
- package/#Tools/SuperClaude/.claude/commands/shared/workflow-chains.yml +0 -138
- package/#Tools/SuperClaude/.claude/commands/spawn.md +0 -106
- package/#Tools/SuperClaude/.claude/commands/task.md +0 -110
- package/#Tools/SuperClaude/.claude/commands/test.md +0 -67
- package/#Tools/SuperClaude/.claude/commands/troubleshoot.md +0 -93
- package/#Tools/SuperClaude/.github/ISSUE_TEMPLATE/bug_report.yml +0 -114
- package/#Tools/SuperClaude/.github/ISSUE_TEMPLATE/feature_request.yml +0 -119
- package/#Tools/SuperClaude/.github/ISSUE_TEMPLATE/question.yml +0 -87
- package/#Tools/SuperClaude/.github/pull_request_template.md +0 -62
- package/#Tools/SuperClaude/CHANGELOG.md +0 -109
- package/#Tools/SuperClaude/CLAUDE.md +0 -95
- package/#Tools/SuperClaude/CODE_OF_CONDUCT.md +0 -45
- package/#Tools/SuperClaude/CONTRIBUTING.md +0 -225
- package/#Tools/SuperClaude/Commands_Cheat_Sheet.md +0 -160
- package/#Tools/SuperClaude/LICENSE +0 -21
- package/#Tools/SuperClaude/MCP.md +0 -117
- package/#Tools/SuperClaude/PERSONAS.md +0 -115
- package/#Tools/SuperClaude/README.md +0 -249
- package/#Tools/SuperClaude/RULES.md +0 -220
- package/#Tools/SuperClaude/SECURITY.md +0 -91
- package/#Tools/SuperClaude/install.sh +0 -296
- package/#Tools/claude-talk-to-figma-mcp/.github/workflows/test.yml +0 -36
- package/#Tools/claude-talk-to-figma-mcp/CHANGELOG.md +0 -88
- package/#Tools/claude-talk-to-figma-mcp/Dockerfile +0 -16
- package/#Tools/claude-talk-to-figma-mcp/LICENSE +0 -22
- package/#Tools/claude-talk-to-figma-mcp/TESTING.md +0 -216
- package/#Tools/claude-talk-to-figma-mcp/bun.lock +0 -964
- package/#Tools/claude-talk-to-figma-mcp/context/01/00-analisis.md +0 -151
- package/#Tools/claude-talk-to-figma-mcp/context/01/01-tools-refactor.md +0 -370
- package/#Tools/claude-talk-to-figma-mcp/context/01/02-tools-refactor-backlog.md +0 -253
- package/#Tools/claude-talk-to-figma-mcp/context/01/03-tools-refactor-test.md +0 -138
- package/#Tools/claude-talk-to-figma-mcp/context/01/04-tools-refactor-channel-error.md +0 -133
- package/#Tools/claude-talk-to-figma-mcp/context/01/04-tools-refactor-test-backlog.md +0 -0
- package/#Tools/claude-talk-to-figma-mcp/context/01/05-tools-refactor-four-tools-error.md +0 -356
- package/#Tools/claude-talk-to-figma-mcp/context/01/06-tools-refactor-four-tools-error-backlog.md +0 -425
- package/#Tools/claude-talk-to-figma-mcp/context/01/prompt-dev-nodejs-bun.md +0 -105
- package/#Tools/claude-talk-to-figma-mcp/context/01-prompt.md +0 -135
- package/#Tools/claude-talk-to-figma-mcp/context/02/00-analisis.md +0 -131
- package/#Tools/claude-talk-to-figma-mcp/context/02/01-plan.md +0 -162
- package/#Tools/claude-talk-to-figma-mcp/context/02/02-backlog.md +0 -241
- package/#Tools/claude-talk-to-figma-mcp/context/02-analisis.md +0 -202
- package/#Tools/claude-talk-to-figma-mcp/context/99-notas.md +0 -139
- package/#Tools/claude-talk-to-figma-mcp/context/pr-14/pr-14-analisis.md +0 -221
- package/#Tools/claude-talk-to-figma-mcp/context/pr-14/pr-14-claude-tests.md +0 -152
- package/#Tools/claude-talk-to-figma-mcp/context/pr-14/pr-14-npm-publishing.md +0 -272
- package/#Tools/claude-talk-to-figma-mcp/images/claude-talk-to-figma.png +0 -0
- package/#Tools/claude-talk-to-figma-mcp/images/mcp-figma-plugin-configuration.png +0 -0
- package/#Tools/claude-talk-to-figma-mcp/jest.config.cjs +0 -25
- package/#Tools/claude-talk-to-figma-mcp/package.json +0 -67
- package/#Tools/claude-talk-to-figma-mcp/prompts/prompt-ux-ui-especialista-es.md +0 -82
- package/#Tools/claude-talk-to-figma-mcp/prompts/prompt-ux-ui-especialista-gal.md +0 -80
- package/#Tools/claude-talk-to-figma-mcp/prompts/prompt-ux-ui-especialista-pt.md +0 -80
- package/#Tools/claude-talk-to-figma-mcp/prompts/prompt-ux-ui-specialist.md +0 -80
- package/#Tools/claude-talk-to-figma-mcp/readme.md +0 -307
- package/#Tools/claude-talk-to-figma-mcp/scripts/configure-claude.js +0 -90
- package/#Tools/claude-talk-to-figma-mcp/scripts/setup.sh +0 -30
- package/#Tools/claude-talk-to-figma-mcp/scripts/test-integration.js +0 -339
- package/#Tools/claude-talk-to-figma-mcp/smithery.yaml +0 -26
- package/#Tools/claude-talk-to-figma-mcp/src/claude_mcp_plugin/code.js +0 -3295
- package/#Tools/claude-talk-to-figma-mcp/src/claude_mcp_plugin/manifest.json +0 -24
- package/#Tools/claude-talk-to-figma-mcp/src/claude_mcp_plugin/setcharacters.js +0 -215
- package/#Tools/claude-talk-to-figma-mcp/src/claude_mcp_plugin/ui.html +0 -656
- package/#Tools/claude-talk-to-figma-mcp/src/socket.ts +0 -349
- package/#Tools/claude-talk-to-figma-mcp/src/talk_to_figma_mcp/bun.lock +0 -246
- package/#Tools/claude-talk-to-figma-mcp/src/talk_to_figma_mcp/config/config.ts +0 -22
- package/#Tools/claude-talk-to-figma-mcp/src/talk_to_figma_mcp/package.json +0 -31
- package/#Tools/claude-talk-to-figma-mcp/src/talk_to_figma_mcp/prompts/index.ts +0 -297
- package/#Tools/claude-talk-to-figma-mcp/src/talk_to_figma_mcp/server.ts +0 -62
- package/#Tools/claude-talk-to-figma-mcp/src/talk_to_figma_mcp/tools/component-tools.ts +0 -48
- package/#Tools/claude-talk-to-figma-mcp/src/talk_to_figma_mcp/tools/creation-tools.ts +0 -620
- package/#Tools/claude-talk-to-figma-mcp/src/talk_to_figma_mcp/tools/document-tools.ts +0 -390
- package/#Tools/claude-talk-to-figma-mcp/src/talk_to_figma_mcp/tools/index.ts +0 -28
- package/#Tools/claude-talk-to-figma-mcp/src/talk_to_figma_mcp/tools/modification-tools.ts +0 -408
- package/#Tools/claude-talk-to-figma-mcp/src/talk_to_figma_mcp/tools/text-tools.ts +0 -531
- package/#Tools/claude-talk-to-figma-mcp/src/talk_to_figma_mcp/tsconfig.json +0 -18
- package/#Tools/claude-talk-to-figma-mcp/src/talk_to_figma_mcp/types/color.ts +0 -13
- package/#Tools/claude-talk-to-figma-mcp/src/talk_to_figma_mcp/types/index.ts +0 -87
- package/#Tools/claude-talk-to-figma-mcp/src/talk_to_figma_mcp/utils/defaults.ts +0 -23
- package/#Tools/claude-talk-to-figma-mcp/src/talk_to_figma_mcp/utils/figma-helpers.ts +0 -142
- package/#Tools/claude-talk-to-figma-mcp/src/talk_to_figma_mcp/utils/logger.ts +0 -8
- package/#Tools/claude-talk-to-figma-mcp/src/talk_to_figma_mcp/utils/websocket.ts +0 -258
- package/#Tools/claude-talk-to-figma-mcp/tests/fixtures/test-data.ts +0 -32
- package/#Tools/claude-talk-to-figma-mcp/tests/integration/set-fill-color.test.ts +0 -309
- package/#Tools/claude-talk-to-figma-mcp/tests/integration/set-stroke-color.test.ts +0 -387
- package/#Tools/claude-talk-to-figma-mcp/tests/setup.ts +0 -7
- package/#Tools/claude-talk-to-figma-mcp/tests/unit/utils/defaults.test.ts +0 -131
- package/#Tools/claude-talk-to-figma-mcp/tsconfig.json +0 -17
- package/#Tools/claude-talk-to-figma-mcp/tsup.config.ts +0 -14
- package/#Tools/jwt creator/AuthKey_MZ7UQGFV2Q.p8 +0 -6
- package/#Tools/jwt creator/generate_apple_jwt.js +0 -18
- package/#Tools/jwt creator/node_modules/.package-lock.json +0 -145
- package/#Tools/jwt creator/node_modules/buffer-equal-constant-time/.travis.yml +0 -4
- package/#Tools/jwt creator/node_modules/buffer-equal-constant-time/LICENSE.txt +0 -12
- package/#Tools/jwt creator/node_modules/buffer-equal-constant-time/README.md +0 -50
- package/#Tools/jwt creator/node_modules/buffer-equal-constant-time/index.js +0 -41
- package/#Tools/jwt creator/node_modules/buffer-equal-constant-time/package.json +0 -21
- package/#Tools/jwt creator/node_modules/buffer-equal-constant-time/test.js +0 -42
- package/#Tools/jwt creator/node_modules/ecdsa-sig-formatter/CODEOWNERS +0 -1
- package/#Tools/jwt creator/node_modules/ecdsa-sig-formatter/LICENSE +0 -201
- package/#Tools/jwt creator/node_modules/ecdsa-sig-formatter/README.md +0 -65
- package/#Tools/jwt creator/node_modules/ecdsa-sig-formatter/package.json +0 -46
- package/#Tools/jwt creator/node_modules/ecdsa-sig-formatter/src/ecdsa-sig-formatter.d.ts +0 -17
- package/#Tools/jwt creator/node_modules/ecdsa-sig-formatter/src/ecdsa-sig-formatter.js +0 -187
- package/#Tools/jwt creator/node_modules/ecdsa-sig-formatter/src/param-bytes-for-alg.js +0 -23
- package/#Tools/jwt creator/node_modules/jsonwebtoken/LICENSE +0 -21
- package/#Tools/jwt creator/node_modules/jsonwebtoken/README.md +0 -396
- package/#Tools/jwt creator/node_modules/jsonwebtoken/decode.js +0 -30
- package/#Tools/jwt creator/node_modules/jsonwebtoken/index.js +0 -8
- package/#Tools/jwt creator/node_modules/jsonwebtoken/lib/JsonWebTokenError.js +0 -14
- package/#Tools/jwt creator/node_modules/jsonwebtoken/lib/NotBeforeError.js +0 -13
- package/#Tools/jwt creator/node_modules/jsonwebtoken/lib/TokenExpiredError.js +0 -13
- package/#Tools/jwt creator/node_modules/jsonwebtoken/lib/asymmetricKeyDetailsSupported.js +0 -3
- package/#Tools/jwt creator/node_modules/jsonwebtoken/lib/psSupported.js +0 -3
- package/#Tools/jwt creator/node_modules/jsonwebtoken/lib/rsaPssKeyDetailsSupported.js +0 -3
- package/#Tools/jwt creator/node_modules/jsonwebtoken/lib/timespan.js +0 -18
- package/#Tools/jwt creator/node_modules/jsonwebtoken/lib/validateAsymmetricKey.js +0 -66
- package/#Tools/jwt creator/node_modules/jsonwebtoken/package.json +0 -71
- package/#Tools/jwt creator/node_modules/jsonwebtoken/sign.js +0 -253
- package/#Tools/jwt creator/node_modules/jsonwebtoken/verify.js +0 -263
- package/#Tools/jwt creator/node_modules/jwa/LICENSE +0 -17
- package/#Tools/jwt creator/node_modules/jwa/README.md +0 -150
- package/#Tools/jwt creator/node_modules/jwa/index.js +0 -266
- package/#Tools/jwt creator/node_modules/jwa/package.json +0 -37
- package/#Tools/jwt creator/node_modules/jws/CHANGELOG.md +0 -34
- package/#Tools/jwt creator/node_modules/jws/LICENSE +0 -17
- package/#Tools/jwt creator/node_modules/jws/index.js +0 -22
- package/#Tools/jwt creator/node_modules/jws/lib/data-stream.js +0 -55
- package/#Tools/jwt creator/node_modules/jws/lib/sign-stream.js +0 -78
- package/#Tools/jwt creator/node_modules/jws/lib/tostring.js +0 -10
- package/#Tools/jwt creator/node_modules/jws/lib/verify-stream.js +0 -120
- package/#Tools/jwt creator/node_modules/jws/package.json +0 -34
- package/#Tools/jwt creator/node_modules/jws/readme.md +0 -255
- package/#Tools/jwt creator/node_modules/lodash.includes/LICENSE +0 -47
- package/#Tools/jwt creator/node_modules/lodash.includes/README.md +0 -18
- package/#Tools/jwt creator/node_modules/lodash.includes/index.js +0 -745
- package/#Tools/jwt creator/node_modules/lodash.includes/package.json +0 -17
- package/#Tools/jwt creator/node_modules/lodash.isboolean/LICENSE +0 -22
- package/#Tools/jwt creator/node_modules/lodash.isboolean/README.md +0 -18
- package/#Tools/jwt creator/node_modules/lodash.isboolean/index.js +0 -70
- package/#Tools/jwt creator/node_modules/lodash.isboolean/package.json +0 -17
- package/#Tools/jwt creator/node_modules/lodash.isinteger/LICENSE +0 -47
- package/#Tools/jwt creator/node_modules/lodash.isinteger/README.md +0 -18
- package/#Tools/jwt creator/node_modules/lodash.isinteger/index.js +0 -265
- package/#Tools/jwt creator/node_modules/lodash.isinteger/package.json +0 -17
- package/#Tools/jwt creator/node_modules/lodash.isnumber/LICENSE +0 -22
- package/#Tools/jwt creator/node_modules/lodash.isnumber/README.md +0 -18
- package/#Tools/jwt creator/node_modules/lodash.isnumber/index.js +0 -79
- package/#Tools/jwt creator/node_modules/lodash.isnumber/package.json +0 -17
- package/#Tools/jwt creator/node_modules/lodash.isplainobject/LICENSE +0 -47
- package/#Tools/jwt creator/node_modules/lodash.isplainobject/README.md +0 -18
- package/#Tools/jwt creator/node_modules/lodash.isplainobject/index.js +0 -139
- package/#Tools/jwt creator/node_modules/lodash.isplainobject/package.json +0 -17
- package/#Tools/jwt creator/node_modules/lodash.isstring/LICENSE +0 -22
- package/#Tools/jwt creator/node_modules/lodash.isstring/README.md +0 -18
- package/#Tools/jwt creator/node_modules/lodash.isstring/index.js +0 -95
- package/#Tools/jwt creator/node_modules/lodash.isstring/package.json +0 -17
- package/#Tools/jwt creator/node_modules/lodash.once/LICENSE +0 -47
- package/#Tools/jwt creator/node_modules/lodash.once/README.md +0 -18
- package/#Tools/jwt creator/node_modules/lodash.once/index.js +0 -294
- package/#Tools/jwt creator/node_modules/lodash.once/package.json +0 -17
- package/#Tools/jwt creator/node_modules/ms/index.js +0 -162
- package/#Tools/jwt creator/node_modules/ms/license.md +0 -21
- package/#Tools/jwt creator/node_modules/ms/package.json +0 -38
- package/#Tools/jwt creator/node_modules/ms/readme.md +0 -59
- package/#Tools/jwt creator/node_modules/safe-buffer/LICENSE +0 -21
- package/#Tools/jwt creator/node_modules/safe-buffer/README.md +0 -584
- package/#Tools/jwt creator/node_modules/safe-buffer/index.d.ts +0 -187
- package/#Tools/jwt creator/node_modules/safe-buffer/index.js +0 -65
- package/#Tools/jwt creator/node_modules/safe-buffer/package.json +0 -51
- package/#Tools/jwt creator/node_modules/semver/LICENSE +0 -15
- package/#Tools/jwt creator/node_modules/semver/README.md +0 -664
- package/#Tools/jwt creator/node_modules/semver/bin/semver.js +0 -191
- package/#Tools/jwt creator/node_modules/semver/classes/comparator.js +0 -143
- package/#Tools/jwt creator/node_modules/semver/classes/index.js +0 -7
- package/#Tools/jwt creator/node_modules/semver/classes/range.js +0 -556
- package/#Tools/jwt creator/node_modules/semver/classes/semver.js +0 -319
- package/#Tools/jwt creator/node_modules/semver/functions/clean.js +0 -8
- package/#Tools/jwt creator/node_modules/semver/functions/cmp.js +0 -54
- package/#Tools/jwt creator/node_modules/semver/functions/coerce.js +0 -62
- package/#Tools/jwt creator/node_modules/semver/functions/compare-build.js +0 -9
- package/#Tools/jwt creator/node_modules/semver/functions/compare-loose.js +0 -5
- package/#Tools/jwt creator/node_modules/semver/functions/compare.js +0 -7
- package/#Tools/jwt creator/node_modules/semver/functions/diff.js +0 -60
- package/#Tools/jwt creator/node_modules/semver/functions/eq.js +0 -5
- package/#Tools/jwt creator/node_modules/semver/functions/gt.js +0 -5
- package/#Tools/jwt creator/node_modules/semver/functions/gte.js +0 -5
- package/#Tools/jwt creator/node_modules/semver/functions/inc.js +0 -21
- package/#Tools/jwt creator/node_modules/semver/functions/lt.js +0 -5
- package/#Tools/jwt creator/node_modules/semver/functions/lte.js +0 -5
- package/#Tools/jwt creator/node_modules/semver/functions/major.js +0 -5
- package/#Tools/jwt creator/node_modules/semver/functions/minor.js +0 -5
- package/#Tools/jwt creator/node_modules/semver/functions/neq.js +0 -5
- package/#Tools/jwt creator/node_modules/semver/functions/parse.js +0 -18
- package/#Tools/jwt creator/node_modules/semver/functions/patch.js +0 -5
- package/#Tools/jwt creator/node_modules/semver/functions/prerelease.js +0 -8
- package/#Tools/jwt creator/node_modules/semver/functions/rcompare.js +0 -5
- package/#Tools/jwt creator/node_modules/semver/functions/rsort.js +0 -5
- package/#Tools/jwt creator/node_modules/semver/functions/satisfies.js +0 -12
- package/#Tools/jwt creator/node_modules/semver/functions/sort.js +0 -5
- package/#Tools/jwt creator/node_modules/semver/functions/valid.js +0 -8
- package/#Tools/jwt creator/node_modules/semver/index.js +0 -91
- package/#Tools/jwt creator/node_modules/semver/internal/constants.js +0 -37
- package/#Tools/jwt creator/node_modules/semver/internal/debug.js +0 -11
- package/#Tools/jwt creator/node_modules/semver/internal/identifiers.js +0 -25
- package/#Tools/jwt creator/node_modules/semver/internal/lrucache.js +0 -42
- package/#Tools/jwt creator/node_modules/semver/internal/parse-options.js +0 -17
- package/#Tools/jwt creator/node_modules/semver/internal/re.js +0 -223
- package/#Tools/jwt creator/node_modules/semver/package.json +0 -78
- package/#Tools/jwt creator/node_modules/semver/preload.js +0 -4
- package/#Tools/jwt creator/node_modules/semver/range.bnf +0 -16
- package/#Tools/jwt creator/node_modules/semver/ranges/gtr.js +0 -6
- package/#Tools/jwt creator/node_modules/semver/ranges/intersects.js +0 -9
- package/#Tools/jwt creator/node_modules/semver/ranges/ltr.js +0 -6
- package/#Tools/jwt creator/node_modules/semver/ranges/max-satisfying.js +0 -27
- package/#Tools/jwt creator/node_modules/semver/ranges/min-satisfying.js +0 -26
- package/#Tools/jwt creator/node_modules/semver/ranges/min-version.js +0 -63
- package/#Tools/jwt creator/node_modules/semver/ranges/outside.js +0 -82
- package/#Tools/jwt creator/node_modules/semver/ranges/simplify.js +0 -49
- package/#Tools/jwt creator/node_modules/semver/ranges/subset.js +0 -249
- package/#Tools/jwt creator/node_modules/semver/ranges/to-comparators.js +0 -10
- package/#Tools/jwt creator/node_modules/semver/ranges/valid.js +0 -13
- package/#Tools/jwt creator/package-lock.json +0 -150
- package/#Tools/jwt creator/package.json +0 -5
- package/#Tools/package.json +0 -94
- package/SuperClaude/.claude/commands/analyze.md +0 -36
- package/SuperClaude/.claude/commands/build.md +0 -35
- package/SuperClaude/.claude/commands/cleanup.md +0 -46
- package/SuperClaude/.claude/commands/deploy.md +0 -55
- package/SuperClaude/.claude/commands/design.md +0 -91
- package/SuperClaude/.claude/commands/dev-setup.md +0 -37
- package/SuperClaude/.claude/commands/document.md +0 -99
- package/SuperClaude/.claude/commands/estimate.md +0 -69
- package/SuperClaude/.claude/commands/explain.md +0 -85
- package/SuperClaude/.claude/commands/git.md +0 -47
- package/SuperClaude/.claude/commands/improve.md +0 -162
- package/SuperClaude/.claude/commands/index.md +0 -159
- package/SuperClaude/.claude/commands/load.md +0 -65
- package/SuperClaude/.claude/commands/migrate.md +0 -76
- package/SuperClaude/.claude/commands/scan.md +0 -163
- package/SuperClaude/.claude/commands/shared/ambiguity-check.yml +0 -40
- package/SuperClaude/.claude/commands/shared/audit.yml +0 -21
- package/SuperClaude/.claude/commands/shared/checkpoint.yml +0 -28
- package/SuperClaude/.claude/commands/shared/cleanup-patterns.yml +0 -107
- package/SuperClaude/.claude/commands/shared/command-memory.yml +0 -52
- package/SuperClaude/.claude/commands/shared/command-templates.yml +0 -167
- package/SuperClaude/.claude/commands/shared/config-validator.yml +0 -206
- package/SuperClaude/.claude/commands/shared/constants.yml +0 -311
- package/SuperClaude/.claude/commands/shared/documentation-dirs.yml +0 -134
- package/SuperClaude/.claude/commands/shared/error-handling.yml +0 -341
- package/SuperClaude/.claude/commands/shared/evidence.yml +0 -75
- package/SuperClaude/.claude/commands/shared/execution-lifecycle.yml +0 -277
- package/SuperClaude/.claude/commands/shared/git-operations.yml +0 -217
- package/SuperClaude/.claude/commands/shared/git-workflow.yml +0 -37
- package/SuperClaude/.claude/commands/shared/implementation.yml +0 -199
- package/SuperClaude/.claude/commands/shared/loading-config.yml +0 -73
- package/SuperClaude/.claude/commands/shared/mcp-flags.yml +0 -109
- package/SuperClaude/.claude/commands/shared/migration-report.md +0 -165
- package/SuperClaude/.claude/commands/shared/patterns.yml +0 -155
- package/SuperClaude/.claude/commands/shared/performance.yml +0 -317
- package/SuperClaude/.claude/commands/shared/planning-mode.yml +0 -51
- package/SuperClaude/.claude/commands/shared/research-first.yml +0 -278
- package/SuperClaude/.claude/commands/shared/session-recovery.yml +0 -144
- package/SuperClaude/.claude/commands/shared/severity-levels.yml +0 -252
- package/SuperClaude/.claude/commands/shared/task-system.yml +0 -380
- package/SuperClaude/.claude/commands/shared/task-ultracompressed.yml +0 -88
- package/SuperClaude/.claude/commands/shared/templates/feature-template.md +0 -59
- package/SuperClaude/.claude/commands/shared/templates/task-ultracompressed.md +0 -26
- package/SuperClaude/.claude/commands/shared/thinking-modes.yml +0 -61
- package/SuperClaude/.claude/commands/shared/ultracompressed.yml +0 -97
- package/SuperClaude/.claude/commands/shared/user-experience.yml +0 -208
- package/SuperClaude/.claude/commands/shared/validation.yml +0 -54
- package/SuperClaude/.claude/commands/shared/workflow-chains.yml +0 -138
- package/SuperClaude/.claude/commands/spawn.md +0 -106
- package/SuperClaude/.claude/commands/task.md +0 -110
- package/SuperClaude/.claude/commands/test.md +0 -67
- package/SuperClaude/.claude/commands/troubleshoot.md +0 -93
- package/SuperClaude/.github/ISSUE_TEMPLATE/bug_report.yml +0 -114
- package/SuperClaude/.github/ISSUE_TEMPLATE/feature_request.yml +0 -119
- package/SuperClaude/.github/ISSUE_TEMPLATE/question.yml +0 -87
- package/SuperClaude/.github/pull_request_template.md +0 -62
- package/SuperClaude/CHANGELOG.md +0 -109
- package/SuperClaude/CLAUDE.md +0 -95
- package/SuperClaude/CODE_OF_CONDUCT.md +0 -45
- package/SuperClaude/CONTRIBUTING.md +0 -225
- package/SuperClaude/Commands_Cheat_Sheet.md +0 -160
- package/SuperClaude/LICENSE +0 -21
- package/SuperClaude/MCP.md +0 -117
- package/SuperClaude/PERSONAS.md +0 -115
- package/SuperClaude/README.md +0 -249
- package/SuperClaude/RULES.md +0 -220
- package/SuperClaude/SECURITY.md +0 -91
- package/SuperClaude/install.sh +0 -296
- package/appiq-mcp installer/How-to.md +0 -250
- package/appiq-mcp installer/LICENSE +0 -21
- package/appiq-mcp installer/README.md +0 -235
- package/appiq-mcp installer/index.js +0 -672
- package/appiq-mcp installer/my_mcps.md +0 -105
- package/appiq-mcp installer/package-lock.json +0 -708
- package/appiq-mcp installer/package.json +0 -46
- package/appiq-mcp installer/test-install.bat +0 -60
- package/appiq-mcp installer/test-install.sh +0 -55
- package/appiq-mcp installer/test-load.js +0 -40
- package/bmad-core/agent-teams/team-flutter-mobile.yaml +0 -114
- package/bmad-core/agents/bmad-smart-launcher.md +0 -170
- package/bmad-core/agents/init-flow-po.md +0 -143
- package/bmad-core/checklists/security-validation-checklist.md +0 -332
- package/bmad-core/core-config.yaml.bak +0 -20
- package/bmad-core/data/backend-services-integration.md +0 -686
- package/bmad-core/data/shadcn-ui-integration.md +0 -388
- package/bmad-core/tasks/create-flutter-story.md +0 -197
- package/bmad-core/tasks/intelligent-epic-creation.md +0 -234
- package/bmad-core/tasks/smart-project-analysis.md +0 -289
- package/bmad-core/templates/flutter-mobile-prd-tmpl.yaml +0 -330
- package/bmad-core/templates/flutter-story-tmpl.yaml +0 -376
- package/bmad-core/templates/flutter-ui-spec-tmpl.yaml +0 -415
- package/dist/expansion-packs/bmad-mobile-app-dev/agents/mobile-analytics.txt +0 -1530
- package/dist/expansion-packs/bmad-mobile-app-dev/agents/mobile-architect.txt +0 -322
- package/dist/expansion-packs/bmad-mobile-app-dev/agents/mobile-developer.txt +0 -692
- package/dist/expansion-packs/bmad-mobile-app-dev/agents/mobile-pm.txt +0 -382
- package/dist/expansion-packs/bmad-mobile-app-dev/agents/mobile-qa.txt +0 -665
- package/dist/expansion-packs/bmad-mobile-app-dev/agents/mobile-security.txt +0 -1070
- package/dist/expansion-packs/bmad-mobile-app-dev/agents/mobile-ux-expert.txt +0 -1494
- package/dist/expansion-packs/bmad-mobile-app-dev/teams/mobile-team-cross-platform.txt +0 -15613
- package/flutter/CLAUDE.md +0 -58
- package/flutter/punkt.claude/New Folder With Items/channel.md +0 -221
- package/flutter/punkt.claude/New Folder With Items/commands/add-translations.md +0 -12
- package/flutter/punkt.claude/New Folder With Items/commands/create-feature.md +0 -168
- package/flutter/punkt.claude/New Folder With Items/commands/explain-codebase.md +0 -1
- package/flutter/punkt.claude/New Folder With Items/commands/feature-business-logic.md +0 -551
- package/flutter/punkt.claude/New Folder With Items/commands/feature-data-layer.md +0 -924
- package/flutter/punkt.claude/New Folder With Items/commands/feature-domain-layer.md +0 -540
- package/flutter/punkt.claude/New Folder With Items/commands/feature-integration.md +0 -493
- package/flutter/punkt.claude/New Folder With Items/commands/feature-localization.md +0 -427
- package/flutter/punkt.claude/New Folder With Items/commands/feature-ui-layer.md +0 -300
- package/flutter/punkt.claude/New Folder With Items/commands/git-commit.md +0 -3
- package/flutter/punkt.claude/New Folder With Items/commands/search-web.md +0 -1
- package/flutter/punkt.claude/punkt.claude/channel.md +0 -225
- package/flutter/punkt.claude/punkt.claude/commands/add-translations.md +0 -60
- package/flutter/punkt.claude/punkt.claude/commands/bug-fix.md +0 -32
- package/flutter/punkt.claude/punkt.claude/commands/checkdev.md +0 -122
- package/flutter/punkt.claude/punkt.claude/commands/create-feature.md +0 -174
- package/flutter/punkt.claude/punkt.claude/commands/dev.md +0 -79
- package/flutter/punkt.claude/punkt.claude/commands/explain-codebase.md +0 -1
- package/flutter/punkt.claude/punkt.claude/commands/feature-business-logic.md +0 -430
- package/flutter/punkt.claude/punkt.claude/commands/feature-data-layer.md +0 -572
- package/flutter/punkt.claude/punkt.claude/commands/feature-domain-layer.md +0 -537
- package/flutter/punkt.claude/punkt.claude/commands/feature-integration.md +0 -493
- package/flutter/punkt.claude/punkt.claude/commands/feature-localization.md +0 -427
- package/flutter/punkt.claude/punkt.claude/commands/feature-ui-layer.md +0 -831
- package/flutter/punkt.claude/punkt.claude/commands/git-commit.md +0 -3
- package/flutter/punkt.claude/punkt.claude/commands/manage-translations.md +0 -433
- package/flutter/punkt.claude/punkt.claude/commands/search-web.md +0 -1
- package/flutter/punkt.claude/punkt.claude/developer_check.md +0 -121
- package/tools/appiq-installer.js +0 -2711
- package/tools/epic-solution-installer.js +0 -536
- package/tools/setup-ide-commands.js +0 -348
- package/tools/smart-installer.js +0 -592
- package/web/CLAUDE.md +0 -58
- /package/{#Tools/APPIQ-METHOD/.github → .github}/FUNDING.yaml +0 -0
- /package/{#Tools/APPIQ-METHOD/.github → .github}/ISSUE_TEMPLATE/bug_report.md +0 -0
- /package/{#Tools/APPIQ-METHOD/.github → .github}/ISSUE_TEMPLATE/feature_request.md +0 -0
- /package/{#Tools/APPIQ-METHOD/.github → .github}/workflows/release.yaml +0 -0
- /package/{#Tools/APPIQ-METHOD/.releaserc.json → .releaserc.json} +0 -0
- /package/{#Tools/APPIQ-METHOD/.vscode → .vscode}/settings.json +0 -0
- /package/{#Tools/APPIQ-METHOD/CHANGELOG.md → CHANGELOG.md} +0 -0
- /package/{#Tools/APPIQ-METHOD/CONTRIBUTING.md → CONTRIBUTING.md} +0 -0
- /package/{#Tools/APPIQ-METHOD/LICENSE → LICENSE} +0 -0
- /package/{#Tools/APPIQ-METHOD/common → common}/tasks/create-doc.md +0 -0
- /package/{#Tools/APPIQ-METHOD/common → common}/tasks/execute-checklist.md +0 -0
- /package/{#Tools/APPIQ-METHOD/common → common}/utils/bmad-doc-template.md +0 -0
- /package/{#Tools/APPIQ-METHOD/common → common}/utils/workflow-management.md +0 -0
- /package/{#Tools/APPIQ-METHOD/docs → docs}/GUIDING-PRINCIPLES.md +0 -0
- /package/{#Tools/APPIQ-METHOD/docs → docs}/core-architecture.md +0 -0
- /package/{#Tools/APPIQ-METHOD/docs → docs}/expansion-packs.md +0 -0
- /package/{#Tools/APPIQ-METHOD/docs → docs}/how-to-contribute-with-pull-requests.md +0 -0
- /package/{#Tools/APPIQ-METHOD/docs → docs}/versioning-and-releases.md +0 -0
- /package/{#Tools/APPIQ-METHOD/docs → docs}/versions.md +0 -0
- /package/{#Tools/APPIQ-METHOD/expansion-packs → expansion-packs}/README.md +0 -0
- /package/{#Tools/APPIQ-METHOD/expansion-packs/bmad-flutter-mobile-dev → expansion-packs/appiq-flutter-mobile-dev}/agent-teams/flutter-mobile-team.yaml +0 -0
- /package/{#Tools/APPIQ-METHOD/expansion-packs/bmad-flutter-mobile-dev → expansion-packs/appiq-flutter-mobile-dev}/agents/flutter-cubit-agent.md +0 -0
- /package/{#Tools/APPIQ-METHOD/expansion-packs/bmad-flutter-mobile-dev → expansion-packs/appiq-flutter-mobile-dev}/agents/flutter-data-agent.md +0 -0
- /package/{#Tools/APPIQ-METHOD/expansion-packs/bmad-flutter-mobile-dev → expansion-packs/appiq-flutter-mobile-dev}/agents/flutter-domain-agent.md +0 -0
- /package/{#Tools/APPIQ-METHOD/expansion-packs/bmad-flutter-mobile-dev → expansion-packs/appiq-flutter-mobile-dev}/agents/flutter-ui-agent.md +0 -0
- /package/{#Tools/APPIQ-METHOD/expansion-packs/bmad-flutter-mobile-dev → expansion-packs/appiq-flutter-mobile-dev}/agents/shared-components-agent.md +0 -0
- /package/{#Tools/APPIQ-METHOD/expansion-packs/bmad-flutter-mobile-dev → expansion-packs/appiq-flutter-mobile-dev}/checklists/flutter-story-dod-checklist.md +0 -0
- /package/{#Tools/APPIQ-METHOD/expansion-packs/bmad-flutter-mobile-dev → expansion-packs/appiq-flutter-mobile-dev}/config.yaml +0 -0
- /package/{#Tools/APPIQ-METHOD/expansion-packs/bmad-flutter-mobile-dev → expansion-packs/appiq-flutter-mobile-dev}/data/flutter-development-guidelines.md +0 -0
- /package/{#Tools/APPIQ-METHOD/expansion-packs/bmad-flutter-mobile-dev → expansion-packs/appiq-flutter-mobile-dev}/templates/flutter-mobile-architecture-tmpl.yaml +0 -0
- /package/{#Tools/APPIQ-METHOD/expansion-packs/bmad-flutter-mobile-dev → expansion-packs/appiq-flutter-mobile-dev}/workflows/flutter-ui-first-development.yaml +0 -0
- /package/{#Tools/APPIQ-METHOD/expansion-packs → expansion-packs}/bmad-2d-phaser-game-dev/agent-teams/phaser-2d-nodejs-game-team.yaml +0 -0
- /package/{#Tools/APPIQ-METHOD/expansion-packs → expansion-packs}/bmad-2d-phaser-game-dev/agents/game-designer.md +0 -0
- /package/{#Tools/APPIQ-METHOD/expansion-packs → expansion-packs}/bmad-2d-phaser-game-dev/agents/game-developer.md +0 -0
- /package/{#Tools/APPIQ-METHOD/expansion-packs → expansion-packs}/bmad-2d-phaser-game-dev/agents/game-sm.md +0 -0
- /package/{#Tools/APPIQ-METHOD/expansion-packs → expansion-packs}/bmad-2d-phaser-game-dev/checklists/game-design-checklist.md +0 -0
- /package/{#Tools/APPIQ-METHOD/expansion-packs → expansion-packs}/bmad-2d-phaser-game-dev/checklists/game-story-dod-checklist.md +0 -0
- /package/{#Tools/APPIQ-METHOD/expansion-packs → expansion-packs}/bmad-2d-phaser-game-dev/config.yaml +0 -0
- /package/{#Tools/APPIQ-METHOD/expansion-packs → expansion-packs}/bmad-2d-phaser-game-dev/data/bmad-kb.md +0 -0
- /package/{#Tools/APPIQ-METHOD/expansion-packs → expansion-packs}/bmad-2d-phaser-game-dev/data/development-guidelines.md +0 -0
- /package/{#Tools/APPIQ-METHOD/expansion-packs → expansion-packs}/bmad-2d-phaser-game-dev/tasks/advanced-elicitation.md +0 -0
- /package/{#Tools/APPIQ-METHOD/expansion-packs → expansion-packs}/bmad-2d-phaser-game-dev/tasks/create-game-story.md +0 -0
- /package/{#Tools/APPIQ-METHOD/expansion-packs → expansion-packs}/bmad-2d-phaser-game-dev/tasks/game-design-brainstorming.md +0 -0
- /package/{#Tools/APPIQ-METHOD/expansion-packs → expansion-packs}/bmad-2d-phaser-game-dev/templates/game-architecture-tmpl.yaml +0 -0
- /package/{#Tools/APPIQ-METHOD/expansion-packs → expansion-packs}/bmad-2d-phaser-game-dev/templates/game-brief-tmpl.yaml +0 -0
- /package/{#Tools/APPIQ-METHOD/expansion-packs → expansion-packs}/bmad-2d-phaser-game-dev/templates/game-design-doc-tmpl.yaml +0 -0
- /package/{#Tools/APPIQ-METHOD/expansion-packs → expansion-packs}/bmad-2d-phaser-game-dev/templates/game-story-tmpl.yaml +0 -0
- /package/{#Tools/APPIQ-METHOD/expansion-packs → expansion-packs}/bmad-2d-phaser-game-dev/templates/level-design-doc-tmpl.yaml +0 -0
- /package/{#Tools/APPIQ-METHOD/expansion-packs → expansion-packs}/bmad-2d-phaser-game-dev/workflows/game-dev-greenfield.yaml +0 -0
- /package/{#Tools/APPIQ-METHOD/expansion-packs → expansion-packs}/bmad-2d-phaser-game-dev/workflows/game-prototype.yaml +0 -0
- /package/{#Tools/APPIQ-METHOD/expansion-packs → expansion-packs}/bmad-2d-unity-game-dev/agent-teams/unity-2d-game-team.yaml +0 -0
- /package/{#Tools/APPIQ-METHOD/expansion-packs → expansion-packs}/bmad-2d-unity-game-dev/agents/game-architect.md +0 -0
- /package/{#Tools/APPIQ-METHOD/expansion-packs → expansion-packs}/bmad-2d-unity-game-dev/agents/game-designer.md +0 -0
- /package/{#Tools/APPIQ-METHOD/expansion-packs → expansion-packs}/bmad-2d-unity-game-dev/agents/game-developer.md +0 -0
- /package/{#Tools/APPIQ-METHOD/expansion-packs → expansion-packs}/bmad-2d-unity-game-dev/agents/game-sm.md +0 -0
- /package/{#Tools/APPIQ-METHOD/expansion-packs → expansion-packs}/bmad-2d-unity-game-dev/checklists/game-architect-checklist.md +0 -0
- /package/{#Tools/APPIQ-METHOD/expansion-packs → expansion-packs}/bmad-2d-unity-game-dev/checklists/game-change-checklist.md +0 -0
- /package/{#Tools/APPIQ-METHOD/expansion-packs → expansion-packs}/bmad-2d-unity-game-dev/checklists/game-design-checklist.md +0 -0
- /package/{#Tools/APPIQ-METHOD/expansion-packs → expansion-packs}/bmad-2d-unity-game-dev/checklists/game-story-dod-checklist.md +0 -0
- /package/{#Tools/APPIQ-METHOD/expansion-packs → expansion-packs}/bmad-2d-unity-game-dev/config.yaml +0 -0
- /package/{#Tools/APPIQ-METHOD/expansion-packs → expansion-packs}/bmad-2d-unity-game-dev/data/bmad-kb.md +0 -0
- /package/{#Tools/APPIQ-METHOD/expansion-packs → expansion-packs}/bmad-2d-unity-game-dev/data/development-guidelines.md +0 -0
- /package/{#Tools/APPIQ-METHOD/expansion-packs → expansion-packs}/bmad-2d-unity-game-dev/tasks/advanced-elicitation.md +0 -0
- /package/{#Tools/APPIQ-METHOD/expansion-packs → expansion-packs}/bmad-2d-unity-game-dev/tasks/correct-course-game.md +0 -0
- /package/{#Tools/APPIQ-METHOD/expansion-packs → expansion-packs}/bmad-2d-unity-game-dev/tasks/create-game-story.md +0 -0
- /package/{#Tools/APPIQ-METHOD/expansion-packs → expansion-packs}/bmad-2d-unity-game-dev/tasks/game-design-brainstorming.md +0 -0
- /package/{#Tools/APPIQ-METHOD/expansion-packs → expansion-packs}/bmad-2d-unity-game-dev/tasks/validate-game-story.md +0 -0
- /package/{#Tools/APPIQ-METHOD/expansion-packs → expansion-packs}/bmad-2d-unity-game-dev/templates/game-architecture-tmpl.yaml +0 -0
- /package/{#Tools/APPIQ-METHOD/expansion-packs → expansion-packs}/bmad-2d-unity-game-dev/templates/game-brief-tmpl.yaml +0 -0
- /package/{#Tools/APPIQ-METHOD/expansion-packs → expansion-packs}/bmad-2d-unity-game-dev/templates/game-design-doc-tmpl.yaml +0 -0
- /package/{#Tools/APPIQ-METHOD/expansion-packs → expansion-packs}/bmad-2d-unity-game-dev/templates/game-story-tmpl.yaml +0 -0
- /package/{#Tools/APPIQ-METHOD/expansion-packs → expansion-packs}/bmad-2d-unity-game-dev/templates/level-design-doc-tmpl.yaml +0 -0
- /package/{#Tools/APPIQ-METHOD/expansion-packs → expansion-packs}/bmad-2d-unity-game-dev/workflows/game-dev-greenfield.yaml +0 -0
- /package/{#Tools/APPIQ-METHOD/expansion-packs → expansion-packs}/bmad-2d-unity-game-dev/workflows/game-prototype.yaml +0 -0
- /package/{#Tools/APPIQ-METHOD/expansion-packs → expansion-packs}/bmad-infrastructure-devops/README.md +0 -0
- /package/{#Tools/APPIQ-METHOD/expansion-packs → expansion-packs}/bmad-infrastructure-devops/agents/infra-devops-platform.md +0 -0
- /package/{#Tools/APPIQ-METHOD/expansion-packs → expansion-packs}/bmad-infrastructure-devops/checklists/infrastructure-checklist.md +0 -0
- /package/{#Tools/APPIQ-METHOD/expansion-packs → expansion-packs}/bmad-infrastructure-devops/config.yaml +0 -0
- /package/{#Tools/APPIQ-METHOD/expansion-packs → expansion-packs}/bmad-infrastructure-devops/data/bmad-kb.md +0 -0
- /package/{#Tools/APPIQ-METHOD/expansion-packs → expansion-packs}/bmad-infrastructure-devops/tasks/review-infrastructure.md +0 -0
- /package/{#Tools/APPIQ-METHOD/expansion-packs → expansion-packs}/bmad-infrastructure-devops/tasks/validate-infrastructure.md +0 -0
- /package/{#Tools/APPIQ-METHOD/expansion-packs → expansion-packs}/bmad-infrastructure-devops/templates/infrastructure-architecture-tmpl.yaml +0 -0
- /package/{#Tools/APPIQ-METHOD/expansion-packs → expansion-packs}/bmad-infrastructure-devops/templates/infrastructure-platform-from-arch-tmpl.yaml +0 -0
@@ -1,763 +0,0 @@
|
|
1
|
-
const fs = require("fs").promises;
|
2
|
-
const path = require("path");
|
3
|
-
const { glob } = require("glob");
|
4
|
-
|
5
|
-
// Dynamic imports for ES modules
|
6
|
-
let chalk, ora, inquirer;
|
7
|
-
|
8
|
-
// Initialize ES modules
|
9
|
-
async function initializeModules() {
|
10
|
-
chalk = (await import("chalk")).default;
|
11
|
-
ora = (await import("ora")).default;
|
12
|
-
inquirer = (await import("inquirer")).default;
|
13
|
-
}
|
14
|
-
|
15
|
-
class V3ToV4Upgrader {
|
16
|
-
constructor() {
|
17
|
-
// Constructor remains empty
|
18
|
-
}
|
19
|
-
|
20
|
-
async upgrade(options = {}) {
|
21
|
-
try {
|
22
|
-
// Initialize ES modules
|
23
|
-
await initializeModules();
|
24
|
-
// Keep readline open throughout the process
|
25
|
-
process.stdin.resume();
|
26
|
-
|
27
|
-
// 1. Welcome message
|
28
|
-
console.log(
|
29
|
-
chalk.bold("\nWelcome to BMad-Method V3 to V4 Upgrade Tool\n")
|
30
|
-
);
|
31
|
-
console.log(
|
32
|
-
"This tool will help you upgrade your BMad-Method V3 project to V4.\n"
|
33
|
-
);
|
34
|
-
console.log(chalk.cyan("What this tool does:"));
|
35
|
-
console.log("- Creates a backup of your V3 files (.bmad-v3-backup/)");
|
36
|
-
console.log("- Installs the new V4 .bmad-core structure");
|
37
|
-
console.log(
|
38
|
-
"- Preserves your PRD, Architecture, and Stories in the new format\n"
|
39
|
-
);
|
40
|
-
console.log(chalk.yellow("What this tool does NOT do:"));
|
41
|
-
console.log(
|
42
|
-
"- Modify your document content (use doc-migration-task after upgrade)"
|
43
|
-
);
|
44
|
-
console.log("- Touch any files outside bmad-agent/ and docs/\n");
|
45
|
-
|
46
|
-
// 2. Get project path
|
47
|
-
const projectPath = await this.getProjectPath(options.projectPath);
|
48
|
-
|
49
|
-
// 3. Validate V3 structure
|
50
|
-
const validation = await this.validateV3Project(projectPath);
|
51
|
-
if (!validation.isValid) {
|
52
|
-
console.error(
|
53
|
-
chalk.red("\nError: This doesn't appear to be a V3 project.")
|
54
|
-
);
|
55
|
-
console.error("Expected to find:");
|
56
|
-
console.error("- bmad-agent/ directory");
|
57
|
-
console.error("- docs/ directory\n");
|
58
|
-
console.error(
|
59
|
-
"Please check you're in the correct directory and try again."
|
60
|
-
);
|
61
|
-
return;
|
62
|
-
}
|
63
|
-
|
64
|
-
// 4. Pre-flight check
|
65
|
-
const analysis = await this.analyzeProject(projectPath);
|
66
|
-
await this.showPreflightCheck(analysis, options);
|
67
|
-
|
68
|
-
if (!options.dryRun) {
|
69
|
-
const { confirm } = await inquirer.prompt([
|
70
|
-
{
|
71
|
-
type: "confirm",
|
72
|
-
name: "confirm",
|
73
|
-
message: "Continue with upgrade?",
|
74
|
-
default: true,
|
75
|
-
},
|
76
|
-
]);
|
77
|
-
|
78
|
-
if (!confirm) {
|
79
|
-
console.log("Upgrade cancelled.");
|
80
|
-
return;
|
81
|
-
}
|
82
|
-
}
|
83
|
-
|
84
|
-
// 5. Create backup
|
85
|
-
if (options.backup !== false && !options.dryRun) {
|
86
|
-
await this.createBackup(projectPath);
|
87
|
-
}
|
88
|
-
|
89
|
-
// 6. Install V4 structure
|
90
|
-
if (!options.dryRun) {
|
91
|
-
await this.installV4Structure(projectPath);
|
92
|
-
}
|
93
|
-
|
94
|
-
// 7. Migrate documents
|
95
|
-
if (!options.dryRun) {
|
96
|
-
await this.migrateDocuments(projectPath, analysis);
|
97
|
-
}
|
98
|
-
|
99
|
-
// 8. Setup IDE
|
100
|
-
if (!options.dryRun) {
|
101
|
-
await this.setupIDE(projectPath, options.ides);
|
102
|
-
}
|
103
|
-
|
104
|
-
// 9. Show completion report
|
105
|
-
this.showCompletionReport(projectPath, analysis);
|
106
|
-
|
107
|
-
process.exit(0);
|
108
|
-
} catch (error) {
|
109
|
-
console.error(chalk.red("\nUpgrade error:"), error.message);
|
110
|
-
process.exit(1);
|
111
|
-
}
|
112
|
-
}
|
113
|
-
|
114
|
-
async getProjectPath(providedPath) {
|
115
|
-
if (providedPath) {
|
116
|
-
return path.resolve(providedPath);
|
117
|
-
}
|
118
|
-
|
119
|
-
const { projectPath } = await inquirer.prompt([
|
120
|
-
{
|
121
|
-
type: "input",
|
122
|
-
name: "projectPath",
|
123
|
-
message: "Please enter the path to your V3 project:",
|
124
|
-
default: process.cwd(),
|
125
|
-
},
|
126
|
-
]);
|
127
|
-
|
128
|
-
return path.resolve(projectPath);
|
129
|
-
}
|
130
|
-
|
131
|
-
async validateV3Project(projectPath) {
|
132
|
-
const spinner = ora("Validating project structure...").start();
|
133
|
-
|
134
|
-
try {
|
135
|
-
const bmadAgentPath = path.join(projectPath, "bmad-agent");
|
136
|
-
const docsPath = path.join(projectPath, "docs");
|
137
|
-
|
138
|
-
const hasBmadAgent = await this.pathExists(bmadAgentPath);
|
139
|
-
const hasDocs = await this.pathExists(docsPath);
|
140
|
-
|
141
|
-
if (hasBmadAgent) {
|
142
|
-
spinner.text = "✓ Found bmad-agent/ directory";
|
143
|
-
console.log(chalk.green("\n✓ Found bmad-agent/ directory"));
|
144
|
-
}
|
145
|
-
|
146
|
-
if (hasDocs) {
|
147
|
-
console.log(chalk.green("✓ Found docs/ directory"));
|
148
|
-
}
|
149
|
-
|
150
|
-
const isValid = hasBmadAgent && hasDocs;
|
151
|
-
|
152
|
-
if (isValid) {
|
153
|
-
spinner.succeed("This appears to be a valid V3 project");
|
154
|
-
} else {
|
155
|
-
spinner.fail("Invalid V3 project structure");
|
156
|
-
}
|
157
|
-
|
158
|
-
return { isValid, hasBmadAgent, hasDocs };
|
159
|
-
} catch (error) {
|
160
|
-
spinner.fail("Validation failed");
|
161
|
-
throw error;
|
162
|
-
}
|
163
|
-
}
|
164
|
-
|
165
|
-
async analyzeProject(projectPath) {
|
166
|
-
const docsPath = path.join(projectPath, "docs");
|
167
|
-
const bmadAgentPath = path.join(projectPath, "bmad-agent");
|
168
|
-
|
169
|
-
// Find PRD
|
170
|
-
const prdCandidates = ["prd.md", "PRD.md", "product-requirements.md"];
|
171
|
-
let prdFile = null;
|
172
|
-
for (const candidate of prdCandidates) {
|
173
|
-
const candidatePath = path.join(docsPath, candidate);
|
174
|
-
if (await this.pathExists(candidatePath)) {
|
175
|
-
prdFile = candidate;
|
176
|
-
break;
|
177
|
-
}
|
178
|
-
}
|
179
|
-
|
180
|
-
// Find Architecture
|
181
|
-
const archCandidates = [
|
182
|
-
"architecture.md",
|
183
|
-
"Architecture.md",
|
184
|
-
"technical-architecture.md",
|
185
|
-
];
|
186
|
-
let archFile = null;
|
187
|
-
for (const candidate of archCandidates) {
|
188
|
-
const candidatePath = path.join(docsPath, candidate);
|
189
|
-
if (await this.pathExists(candidatePath)) {
|
190
|
-
archFile = candidate;
|
191
|
-
break;
|
192
|
-
}
|
193
|
-
}
|
194
|
-
|
195
|
-
// Find Front-end Architecture (V3 specific)
|
196
|
-
const frontEndCandidates = [
|
197
|
-
"front-end-architecture.md",
|
198
|
-
"frontend-architecture.md",
|
199
|
-
"ui-architecture.md",
|
200
|
-
];
|
201
|
-
let frontEndArchFile = null;
|
202
|
-
for (const candidate of frontEndCandidates) {
|
203
|
-
const candidatePath = path.join(docsPath, candidate);
|
204
|
-
if (await this.pathExists(candidatePath)) {
|
205
|
-
frontEndArchFile = candidate;
|
206
|
-
break;
|
207
|
-
}
|
208
|
-
}
|
209
|
-
|
210
|
-
// Find UX/UI spec
|
211
|
-
const uxSpecCandidates = [
|
212
|
-
"ux-ui-spec.md",
|
213
|
-
"ux-ui-specification.md",
|
214
|
-
"ui-spec.md",
|
215
|
-
"ux-spec.md",
|
216
|
-
];
|
217
|
-
let uxSpecFile = null;
|
218
|
-
for (const candidate of uxSpecCandidates) {
|
219
|
-
const candidatePath = path.join(docsPath, candidate);
|
220
|
-
if (await this.pathExists(candidatePath)) {
|
221
|
-
uxSpecFile = candidate;
|
222
|
-
break;
|
223
|
-
}
|
224
|
-
}
|
225
|
-
|
226
|
-
// Find v0 prompt or UX prompt
|
227
|
-
const uxPromptCandidates = [
|
228
|
-
"v0-prompt.md",
|
229
|
-
"ux-prompt.md",
|
230
|
-
"ui-prompt.md",
|
231
|
-
"design-prompt.md",
|
232
|
-
];
|
233
|
-
let uxPromptFile = null;
|
234
|
-
for (const candidate of uxPromptCandidates) {
|
235
|
-
const candidatePath = path.join(docsPath, candidate);
|
236
|
-
if (await this.pathExists(candidatePath)) {
|
237
|
-
uxPromptFile = candidate;
|
238
|
-
break;
|
239
|
-
}
|
240
|
-
}
|
241
|
-
|
242
|
-
// Find epic files
|
243
|
-
const epicFiles = await glob("epic*.md", { cwd: docsPath });
|
244
|
-
|
245
|
-
// Find story files
|
246
|
-
const storiesPath = path.join(docsPath, "stories");
|
247
|
-
let storyFiles = [];
|
248
|
-
if (await this.pathExists(storiesPath)) {
|
249
|
-
storyFiles = await glob("*.md", { cwd: storiesPath });
|
250
|
-
}
|
251
|
-
|
252
|
-
// Count custom files in bmad-agent
|
253
|
-
const bmadAgentFiles = await glob("**/*.md", {
|
254
|
-
cwd: bmadAgentPath,
|
255
|
-
ignore: ["node_modules/**"],
|
256
|
-
});
|
257
|
-
|
258
|
-
return {
|
259
|
-
prdFile,
|
260
|
-
archFile,
|
261
|
-
frontEndArchFile,
|
262
|
-
uxSpecFile,
|
263
|
-
uxPromptFile,
|
264
|
-
epicFiles,
|
265
|
-
storyFiles,
|
266
|
-
customFileCount: bmadAgentFiles.length,
|
267
|
-
};
|
268
|
-
}
|
269
|
-
|
270
|
-
async showPreflightCheck(analysis, options) {
|
271
|
-
console.log(chalk.bold("\nProject Analysis:"));
|
272
|
-
console.log(
|
273
|
-
`- PRD found: ${
|
274
|
-
analysis.prdFile
|
275
|
-
? `docs/${analysis.prdFile}`
|
276
|
-
: chalk.yellow("Not found")
|
277
|
-
}`
|
278
|
-
);
|
279
|
-
console.log(
|
280
|
-
`- Architecture found: ${
|
281
|
-
analysis.archFile
|
282
|
-
? `docs/${analysis.archFile}`
|
283
|
-
: chalk.yellow("Not found")
|
284
|
-
}`
|
285
|
-
);
|
286
|
-
if (analysis.frontEndArchFile) {
|
287
|
-
console.log(
|
288
|
-
`- Front-end Architecture found: docs/${analysis.frontEndArchFile}`
|
289
|
-
);
|
290
|
-
}
|
291
|
-
console.log(
|
292
|
-
`- UX/UI Spec found: ${
|
293
|
-
analysis.uxSpecFile
|
294
|
-
? `docs/${analysis.uxSpecFile}`
|
295
|
-
: chalk.yellow("Not found")
|
296
|
-
}`
|
297
|
-
);
|
298
|
-
console.log(
|
299
|
-
`- UX/Design Prompt found: ${
|
300
|
-
analysis.uxPromptFile
|
301
|
-
? `docs/${analysis.uxPromptFile}`
|
302
|
-
: chalk.yellow("Not found")
|
303
|
-
}`
|
304
|
-
);
|
305
|
-
console.log(
|
306
|
-
`- Epic files found: ${analysis.epicFiles.length} files (epic*.md)`
|
307
|
-
);
|
308
|
-
console.log(
|
309
|
-
`- Stories found: ${analysis.storyFiles.length} files in docs/stories/`
|
310
|
-
);
|
311
|
-
console.log(`- Custom files in bmad-agent/: ${analysis.customFileCount}`);
|
312
|
-
|
313
|
-
if (!options.dryRun) {
|
314
|
-
console.log("\nThe following will be backed up to .bmad-v3-backup/:");
|
315
|
-
console.log("- bmad-agent/ (entire directory)");
|
316
|
-
console.log("- docs/ (entire directory)");
|
317
|
-
|
318
|
-
if (analysis.epicFiles.length > 0) {
|
319
|
-
console.log(
|
320
|
-
chalk.green(
|
321
|
-
"\nNote: Epic files found! They will be placed in docs/prd/ with an index.md file."
|
322
|
-
)
|
323
|
-
);
|
324
|
-
console.log(
|
325
|
-
chalk.green(
|
326
|
-
"Since epic files exist, you won't need to shard the PRD after upgrade."
|
327
|
-
)
|
328
|
-
);
|
329
|
-
}
|
330
|
-
}
|
331
|
-
}
|
332
|
-
|
333
|
-
async createBackup(projectPath) {
|
334
|
-
const spinner = ora("Creating backup...").start();
|
335
|
-
|
336
|
-
try {
|
337
|
-
const backupPath = path.join(projectPath, ".bmad-v3-backup");
|
338
|
-
|
339
|
-
// Check if backup already exists
|
340
|
-
if (await this.pathExists(backupPath)) {
|
341
|
-
spinner.fail("Backup directory already exists");
|
342
|
-
console.error(
|
343
|
-
chalk.red(
|
344
|
-
"\nError: Backup directory .bmad-v3-backup/ already exists."
|
345
|
-
)
|
346
|
-
);
|
347
|
-
console.error("\nThis might mean an upgrade was already attempted.");
|
348
|
-
console.error(
|
349
|
-
"Please remove or rename the existing backup and try again."
|
350
|
-
);
|
351
|
-
throw new Error("Backup already exists");
|
352
|
-
}
|
353
|
-
|
354
|
-
// Create backup directory
|
355
|
-
await fs.mkdir(backupPath, { recursive: true });
|
356
|
-
spinner.text = "✓ Created .bmad-v3-backup/";
|
357
|
-
console.log(chalk.green("\n✓ Created .bmad-v3-backup/"));
|
358
|
-
|
359
|
-
// Move bmad-agent
|
360
|
-
const bmadAgentSrc = path.join(projectPath, "bmad-agent");
|
361
|
-
const bmadAgentDest = path.join(backupPath, "bmad-agent");
|
362
|
-
await fs.rename(bmadAgentSrc, bmadAgentDest);
|
363
|
-
console.log(chalk.green("✓ Moved bmad-agent/ to backup"));
|
364
|
-
|
365
|
-
// Move docs
|
366
|
-
const docsSrc = path.join(projectPath, "docs");
|
367
|
-
const docsDest = path.join(backupPath, "docs");
|
368
|
-
await fs.rename(docsSrc, docsDest);
|
369
|
-
console.log(chalk.green("✓ Moved docs/ to backup"));
|
370
|
-
|
371
|
-
spinner.succeed("Backup created successfully");
|
372
|
-
} catch (error) {
|
373
|
-
spinner.fail("Backup failed");
|
374
|
-
throw error;
|
375
|
-
}
|
376
|
-
}
|
377
|
-
|
378
|
-
async installV4Structure(projectPath) {
|
379
|
-
const spinner = ora("Installing V4 structure...").start();
|
380
|
-
|
381
|
-
try {
|
382
|
-
// Get the source bmad-core directory (without dot prefix)
|
383
|
-
const sourcePath = path.join(__dirname, "..", "..", "bmad-core");
|
384
|
-
const destPath = path.join(projectPath, ".bmad-core");
|
385
|
-
|
386
|
-
// Copy .bmad-core
|
387
|
-
await this.copyDirectory(sourcePath, destPath);
|
388
|
-
spinner.text = "✓ Copied fresh .bmad-core/ directory from V4";
|
389
|
-
console.log(
|
390
|
-
chalk.green("\n✓ Copied fresh .bmad-core/ directory from V4")
|
391
|
-
);
|
392
|
-
|
393
|
-
// Create docs directory
|
394
|
-
const docsPath = path.join(projectPath, "docs");
|
395
|
-
await fs.mkdir(docsPath, { recursive: true });
|
396
|
-
console.log(chalk.green("✓ Created new docs/ directory"));
|
397
|
-
|
398
|
-
// Create install manifest for future updates
|
399
|
-
await this.createInstallManifest(projectPath);
|
400
|
-
console.log(chalk.green("✓ Created install manifest"));
|
401
|
-
|
402
|
-
console.log(
|
403
|
-
chalk.yellow(
|
404
|
-
"\nNote: Your V3 bmad-agent content has been backed up and NOT migrated."
|
405
|
-
)
|
406
|
-
);
|
407
|
-
console.log(
|
408
|
-
chalk.yellow(
|
409
|
-
"The new V4 agents are completely different and look for different file structures."
|
410
|
-
)
|
411
|
-
);
|
412
|
-
|
413
|
-
spinner.succeed("V4 structure installed successfully");
|
414
|
-
} catch (error) {
|
415
|
-
spinner.fail("V4 installation failed");
|
416
|
-
throw error;
|
417
|
-
}
|
418
|
-
}
|
419
|
-
|
420
|
-
async migrateDocuments(projectPath, analysis) {
|
421
|
-
const spinner = ora("Migrating your project documents...").start();
|
422
|
-
|
423
|
-
try {
|
424
|
-
const backupDocsPath = path.join(projectPath, ".bmad-v3-backup", "docs");
|
425
|
-
const newDocsPath = path.join(projectPath, "docs");
|
426
|
-
let copiedCount = 0;
|
427
|
-
|
428
|
-
// Copy PRD
|
429
|
-
if (analysis.prdFile) {
|
430
|
-
const src = path.join(backupDocsPath, analysis.prdFile);
|
431
|
-
const dest = path.join(newDocsPath, analysis.prdFile);
|
432
|
-
await fs.copyFile(src, dest);
|
433
|
-
console.log(chalk.green(`\n✓ Copied PRD to docs/${analysis.prdFile}`));
|
434
|
-
copiedCount++;
|
435
|
-
}
|
436
|
-
|
437
|
-
// Copy Architecture
|
438
|
-
if (analysis.archFile) {
|
439
|
-
const src = path.join(backupDocsPath, analysis.archFile);
|
440
|
-
const dest = path.join(newDocsPath, analysis.archFile);
|
441
|
-
await fs.copyFile(src, dest);
|
442
|
-
console.log(
|
443
|
-
chalk.green(`✓ Copied Architecture to docs/${analysis.archFile}`)
|
444
|
-
);
|
445
|
-
copiedCount++;
|
446
|
-
}
|
447
|
-
|
448
|
-
// Copy Front-end Architecture if exists
|
449
|
-
if (analysis.frontEndArchFile) {
|
450
|
-
const src = path.join(backupDocsPath, analysis.frontEndArchFile);
|
451
|
-
const dest = path.join(newDocsPath, analysis.frontEndArchFile);
|
452
|
-
await fs.copyFile(src, dest);
|
453
|
-
console.log(
|
454
|
-
chalk.green(
|
455
|
-
`✓ Copied Front-end Architecture to docs/${analysis.frontEndArchFile}`
|
456
|
-
)
|
457
|
-
);
|
458
|
-
console.log(
|
459
|
-
chalk.yellow(
|
460
|
-
"Note: V4 uses a single full-stack-architecture.md - use doc-migration-task to merge"
|
461
|
-
)
|
462
|
-
);
|
463
|
-
copiedCount++;
|
464
|
-
}
|
465
|
-
|
466
|
-
// Copy UX/UI Spec if exists
|
467
|
-
if (analysis.uxSpecFile) {
|
468
|
-
const src = path.join(backupDocsPath, analysis.uxSpecFile);
|
469
|
-
const dest = path.join(newDocsPath, analysis.uxSpecFile);
|
470
|
-
await fs.copyFile(src, dest);
|
471
|
-
console.log(
|
472
|
-
chalk.green(`✓ Copied UX/UI Spec to docs/${analysis.uxSpecFile}`)
|
473
|
-
);
|
474
|
-
copiedCount++;
|
475
|
-
}
|
476
|
-
|
477
|
-
// Copy UX/Design Prompt if exists
|
478
|
-
if (analysis.uxPromptFile) {
|
479
|
-
const src = path.join(backupDocsPath, analysis.uxPromptFile);
|
480
|
-
const dest = path.join(newDocsPath, analysis.uxPromptFile);
|
481
|
-
await fs.copyFile(src, dest);
|
482
|
-
console.log(
|
483
|
-
chalk.green(
|
484
|
-
`✓ Copied UX/Design Prompt to docs/${analysis.uxPromptFile}`
|
485
|
-
)
|
486
|
-
);
|
487
|
-
copiedCount++;
|
488
|
-
}
|
489
|
-
|
490
|
-
// Copy stories
|
491
|
-
if (analysis.storyFiles.length > 0) {
|
492
|
-
const storiesDir = path.join(newDocsPath, "stories");
|
493
|
-
await fs.mkdir(storiesDir, { recursive: true });
|
494
|
-
|
495
|
-
for (const storyFile of analysis.storyFiles) {
|
496
|
-
const src = path.join(backupDocsPath, "stories", storyFile);
|
497
|
-
const dest = path.join(storiesDir, storyFile);
|
498
|
-
await fs.copyFile(src, dest);
|
499
|
-
}
|
500
|
-
console.log(
|
501
|
-
chalk.green(
|
502
|
-
`✓ Copied ${analysis.storyFiles.length} story files to docs/stories/`
|
503
|
-
)
|
504
|
-
);
|
505
|
-
copiedCount += analysis.storyFiles.length;
|
506
|
-
}
|
507
|
-
|
508
|
-
// Copy epic files to prd subfolder
|
509
|
-
if (analysis.epicFiles.length > 0) {
|
510
|
-
const prdDir = path.join(newDocsPath, "prd");
|
511
|
-
await fs.mkdir(prdDir, { recursive: true });
|
512
|
-
|
513
|
-
for (const epicFile of analysis.epicFiles) {
|
514
|
-
const src = path.join(backupDocsPath, epicFile);
|
515
|
-
const dest = path.join(prdDir, epicFile);
|
516
|
-
await fs.copyFile(src, dest);
|
517
|
-
}
|
518
|
-
console.log(
|
519
|
-
chalk.green(
|
520
|
-
`✓ Found and copied ${analysis.epicFiles.length} epic files to docs/prd/`
|
521
|
-
)
|
522
|
-
);
|
523
|
-
|
524
|
-
// Create index.md for the prd folder
|
525
|
-
await this.createPrdIndex(projectPath, analysis);
|
526
|
-
console.log(chalk.green("✓ Created index.md in docs/prd/"));
|
527
|
-
|
528
|
-
console.log(
|
529
|
-
chalk.green(
|
530
|
-
"\nNote: Epic files detected! These are compatible with V4 and have been copied."
|
531
|
-
)
|
532
|
-
);
|
533
|
-
console.log(
|
534
|
-
chalk.green(
|
535
|
-
"You won't need to shard the PRD since epics already exist."
|
536
|
-
)
|
537
|
-
);
|
538
|
-
copiedCount += analysis.epicFiles.length;
|
539
|
-
}
|
540
|
-
|
541
|
-
spinner.succeed(`Migrated ${copiedCount} documents successfully`);
|
542
|
-
} catch (error) {
|
543
|
-
spinner.fail("Document migration failed");
|
544
|
-
throw error;
|
545
|
-
}
|
546
|
-
}
|
547
|
-
|
548
|
-
async setupIDE(projectPath, selectedIdes) {
|
549
|
-
// Use the IDE selections passed from the installer
|
550
|
-
if (!selectedIdes || selectedIdes.length === 0) {
|
551
|
-
console.log(chalk.dim("No IDE setup requested - skipping"));
|
552
|
-
return;
|
553
|
-
}
|
554
|
-
|
555
|
-
const ideSetup = require("../installer/lib/ide-setup");
|
556
|
-
const spinner = ora("Setting up IDE rules for all agents...").start();
|
557
|
-
|
558
|
-
try {
|
559
|
-
const ideMessages = {
|
560
|
-
cursor: "Rules created in .cursor/rules/",
|
561
|
-
"claude-code": "Commands created in .claude/commands/BMad/",
|
562
|
-
windsurf: "Rules created in .windsurf/rules/",
|
563
|
-
trae: "Rules created in.trae/rules/",
|
564
|
-
roo: "Custom modes created in .roomodes",
|
565
|
-
cline: "Rules created in .clinerules/",
|
566
|
-
};
|
567
|
-
|
568
|
-
// Setup each selected IDE
|
569
|
-
for (const ide of selectedIdes) {
|
570
|
-
spinner.text = `Setting up ${ide}...`;
|
571
|
-
await ideSetup.setup(ide, projectPath);
|
572
|
-
console.log(chalk.green(`\n✓ ${ideMessages[ide]}`));
|
573
|
-
}
|
574
|
-
|
575
|
-
spinner.succeed(`IDE setup complete for ${selectedIdes.length} IDE(s)!`);
|
576
|
-
} catch (error) {
|
577
|
-
spinner.fail("IDE setup failed");
|
578
|
-
console.error(
|
579
|
-
chalk.yellow("IDE setup failed, but upgrade is complete.")
|
580
|
-
);
|
581
|
-
}
|
582
|
-
}
|
583
|
-
|
584
|
-
showCompletionReport(projectPath, analysis) {
|
585
|
-
console.log(chalk.bold.green("\n✓ Upgrade Complete!\n"));
|
586
|
-
console.log(chalk.bold("Summary:"));
|
587
|
-
console.log(`- V3 files backed up to: .bmad-v3-backup/`);
|
588
|
-
console.log(`- V4 structure installed: .bmad-core/ (fresh from V4)`);
|
589
|
-
|
590
|
-
const totalDocs =
|
591
|
-
(analysis.prdFile ? 1 : 0) +
|
592
|
-
(analysis.archFile ? 1 : 0) +
|
593
|
-
(analysis.frontEndArchFile ? 1 : 0) +
|
594
|
-
(analysis.uxSpecFile ? 1 : 0) +
|
595
|
-
(analysis.uxPromptFile ? 1 : 0) +
|
596
|
-
analysis.storyFiles.length;
|
597
|
-
console.log(
|
598
|
-
`- Documents migrated: ${totalDocs} files${
|
599
|
-
analysis.epicFiles.length > 0
|
600
|
-
? ` + ${analysis.epicFiles.length} epics`
|
601
|
-
: ""
|
602
|
-
}`
|
603
|
-
);
|
604
|
-
|
605
|
-
console.log(chalk.bold("\nImportant Changes:"));
|
606
|
-
console.log(
|
607
|
-
"- The V4 agents (sm, dev, etc.) expect different file structures than V3"
|
608
|
-
);
|
609
|
-
console.log(
|
610
|
-
"- Your V3 bmad-agent content was NOT migrated (it's incompatible)"
|
611
|
-
);
|
612
|
-
if (analysis.epicFiles.length > 0) {
|
613
|
-
console.log(
|
614
|
-
"- Epic files were found and copied - no PRD sharding needed!"
|
615
|
-
);
|
616
|
-
}
|
617
|
-
if (analysis.frontEndArchFile) {
|
618
|
-
console.log(
|
619
|
-
"- Front-end architecture found - V4 uses full-stack-architecture.md, migration needed"
|
620
|
-
);
|
621
|
-
}
|
622
|
-
if (analysis.uxSpecFile || analysis.uxPromptFile) {
|
623
|
-
console.log(
|
624
|
-
"- UX/UI design files found and copied - ready for use with V4"
|
625
|
-
);
|
626
|
-
}
|
627
|
-
|
628
|
-
console.log(chalk.bold("\nNext Steps:"));
|
629
|
-
console.log("1. Review your documents in the new docs/ folder");
|
630
|
-
console.log(
|
631
|
-
"2. Use @bmad-master agent to run the doc-migration-task to align your documents with V4 templates"
|
632
|
-
);
|
633
|
-
if (analysis.epicFiles.length === 0) {
|
634
|
-
console.log(
|
635
|
-
"3. Use @bmad-master agent to shard the PRD to create epic files"
|
636
|
-
);
|
637
|
-
}
|
638
|
-
|
639
|
-
console.log(
|
640
|
-
chalk.dim(
|
641
|
-
"\nYour V3 backup is preserved in .bmad-v3-backup/ and can be restored if needed."
|
642
|
-
)
|
643
|
-
);
|
644
|
-
}
|
645
|
-
|
646
|
-
async pathExists(filePath) {
|
647
|
-
try {
|
648
|
-
await fs.access(filePath);
|
649
|
-
return true;
|
650
|
-
} catch {
|
651
|
-
return false;
|
652
|
-
}
|
653
|
-
}
|
654
|
-
|
655
|
-
async copyDirectory(src, dest) {
|
656
|
-
await fs.mkdir(dest, { recursive: true });
|
657
|
-
const entries = await fs.readdir(src, { withFileTypes: true });
|
658
|
-
|
659
|
-
for (const entry of entries) {
|
660
|
-
const srcPath = path.join(src, entry.name);
|
661
|
-
const destPath = path.join(dest, entry.name);
|
662
|
-
|
663
|
-
if (entry.isDirectory()) {
|
664
|
-
await this.copyDirectory(srcPath, destPath);
|
665
|
-
} else {
|
666
|
-
await fs.copyFile(srcPath, destPath);
|
667
|
-
}
|
668
|
-
}
|
669
|
-
}
|
670
|
-
|
671
|
-
async createPrdIndex(projectPath, analysis) {
|
672
|
-
const prdIndexPath = path.join(projectPath, "docs", "prd", "index.md");
|
673
|
-
const prdPath = path.join(
|
674
|
-
projectPath,
|
675
|
-
"docs",
|
676
|
-
analysis.prdFile || "prd.md"
|
677
|
-
);
|
678
|
-
|
679
|
-
let indexContent = "# Product Requirements Document\n\n";
|
680
|
-
|
681
|
-
// Try to read the PRD to get the title and intro content
|
682
|
-
if (analysis.prdFile && (await this.pathExists(prdPath))) {
|
683
|
-
try {
|
684
|
-
const prdContent = await fs.readFile(prdPath, "utf8");
|
685
|
-
const lines = prdContent.split("\n");
|
686
|
-
|
687
|
-
// Find the first heading
|
688
|
-
const titleMatch = lines.find((line) => line.startsWith("# "));
|
689
|
-
if (titleMatch) {
|
690
|
-
indexContent = titleMatch + "\n\n";
|
691
|
-
}
|
692
|
-
|
693
|
-
// Get any content before the first ## section
|
694
|
-
let introContent = "";
|
695
|
-
let foundFirstSection = false;
|
696
|
-
for (const line of lines) {
|
697
|
-
if (line.startsWith("## ")) {
|
698
|
-
foundFirstSection = true;
|
699
|
-
break;
|
700
|
-
}
|
701
|
-
if (!line.startsWith("# ")) {
|
702
|
-
introContent += line + "\n";
|
703
|
-
}
|
704
|
-
}
|
705
|
-
|
706
|
-
if (introContent.trim()) {
|
707
|
-
indexContent += introContent.trim() + "\n\n";
|
708
|
-
}
|
709
|
-
} catch (error) {
|
710
|
-
// If we can't read the PRD, just use default content
|
711
|
-
}
|
712
|
-
}
|
713
|
-
|
714
|
-
// Add sections list
|
715
|
-
indexContent += "## Sections\n\n";
|
716
|
-
|
717
|
-
// Sort epic files for consistent ordering
|
718
|
-
const sortedEpics = [...analysis.epicFiles].sort();
|
719
|
-
|
720
|
-
for (const epicFile of sortedEpics) {
|
721
|
-
// Extract epic name from filename
|
722
|
-
const epicName = epicFile
|
723
|
-
.replace(/\.md$/, "")
|
724
|
-
.replace(/^epic-?/i, "")
|
725
|
-
.replace(/-/g, " ")
|
726
|
-
.replace(/^\d+\s*/, "") // Remove leading numbers
|
727
|
-
.trim();
|
728
|
-
|
729
|
-
const displayName = epicName.charAt(0).toUpperCase() + epicName.slice(1);
|
730
|
-
indexContent += `- [${
|
731
|
-
displayName || epicFile.replace(".md", "")
|
732
|
-
}](./${epicFile})\n`;
|
733
|
-
}
|
734
|
-
|
735
|
-
await fs.writeFile(prdIndexPath, indexContent);
|
736
|
-
}
|
737
|
-
|
738
|
-
async createInstallManifest(projectPath) {
|
739
|
-
const fileManager = require("../installer/lib/file-manager");
|
740
|
-
const { glob } = require("glob");
|
741
|
-
|
742
|
-
// Get all files in .bmad-core for the manifest
|
743
|
-
const bmadCorePath = path.join(projectPath, ".bmad-core");
|
744
|
-
const files = await glob("**/*", {
|
745
|
-
cwd: bmadCorePath,
|
746
|
-
nodir: true,
|
747
|
-
ignore: ["**/.git/**", "**/node_modules/**"],
|
748
|
-
});
|
749
|
-
|
750
|
-
// Prepend .bmad-core/ to file paths for manifest
|
751
|
-
const manifestFiles = files.map((file) => path.join(".bmad-core", file));
|
752
|
-
|
753
|
-
const config = {
|
754
|
-
installType: "full",
|
755
|
-
agent: null,
|
756
|
-
ide: null, // Will be set if IDE setup is done later
|
757
|
-
};
|
758
|
-
|
759
|
-
await fileManager.createManifest(projectPath, config, manifestFiles);
|
760
|
-
}
|
761
|
-
}
|
762
|
-
|
763
|
-
module.exports = V3ToV4Upgrader;
|