appiq-solution 1.4.8 ā 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,672 +0,0 @@
|
|
1
|
-
#!/usr/bin/env node
|
2
|
-
|
3
|
-
// Try to load inquirer with fallback
|
4
|
-
let inquirer;
|
5
|
-
try {
|
6
|
-
inquirer = require('inquirer');
|
7
|
-
// Test if prompt function exists
|
8
|
-
if (typeof inquirer.prompt !== 'function') {
|
9
|
-
// Try default export for newer versions
|
10
|
-
if (inquirer.default && typeof inquirer.default.prompt === 'function') {
|
11
|
-
inquirer = inquirer.default;
|
12
|
-
} else {
|
13
|
-
// Set to null to use fallback
|
14
|
-
inquirer = null;
|
15
|
-
}
|
16
|
-
}
|
17
|
-
} catch (error) {
|
18
|
-
console.warn('Warning: inquirer not available, using fallback methods');
|
19
|
-
inquirer = null;
|
20
|
-
}
|
21
|
-
const chalk = require('chalk');
|
22
|
-
const ora = require('ora');
|
23
|
-
const fs = require('fs-extra');
|
24
|
-
const path = require('path');
|
25
|
-
const os = require('os');
|
26
|
-
const { exec } = require('child_process');
|
27
|
-
const { promisify } = require('util');
|
28
|
-
|
29
|
-
const execAsync = promisify(exec);
|
30
|
-
|
31
|
-
// Safe prompt function with robust fallback
|
32
|
-
async function safePrompt(questions) {
|
33
|
-
// Always use readline fallback for better compatibility
|
34
|
-
const readline = require('readline');
|
35
|
-
const rl = readline.createInterface({
|
36
|
-
input: process.stdin,
|
37
|
-
output: process.stdout
|
38
|
-
});
|
39
|
-
|
40
|
-
const results = {};
|
41
|
-
|
42
|
-
for (const question of questions) {
|
43
|
-
if (question.type === 'input' || question.type === 'confirm') {
|
44
|
-
const answer = await new Promise((resolve) => {
|
45
|
-
const prompt = question.message + (question.type === 'confirm' ? ' (y/N): ' : ': ');
|
46
|
-
rl.question(prompt, (input) => {
|
47
|
-
if (question.type === 'confirm') {
|
48
|
-
resolve(input.toLowerCase().startsWith('y'));
|
49
|
-
} else {
|
50
|
-
resolve(input || question.default || '');
|
51
|
-
}
|
52
|
-
});
|
53
|
-
});
|
54
|
-
results[question.name] = answer;
|
55
|
-
} else if (question.type === 'checkbox') {
|
56
|
-
// For checkbox, show options and let user select by numbers
|
57
|
-
console.log(chalk.cyan(`\n${question.message}`));
|
58
|
-
question.choices?.forEach((choice, index) => {
|
59
|
-
const checked = choice.checked ? 'ā' : ' ';
|
60
|
-
console.log(chalk.white(` [${index + 1}] ${checked} ${choice.name}`));
|
61
|
-
});
|
62
|
-
|
63
|
-
const answer = await new Promise((resolve) => {
|
64
|
-
rl.question(chalk.yellow('Enter numbers separated by commas (e.g., 1,3,5) or press Enter for defaults: '), (input) => {
|
65
|
-
if (!input.trim()) {
|
66
|
-
// Use defaults (checked items)
|
67
|
-
resolve(question.choices?.filter(c => c.checked).map(c => c.value) || []);
|
68
|
-
} else {
|
69
|
-
// Parse user input
|
70
|
-
const selected = input.split(',').map(n => parseInt(n.trim()) - 1).filter(i => i >= 0 && i < question.choices.length);
|
71
|
-
resolve(selected.map(i => question.choices[i].value));
|
72
|
-
}
|
73
|
-
});
|
74
|
-
});
|
75
|
-
results[question.name] = answer;
|
76
|
-
} else if (question.type === 'list') {
|
77
|
-
// For list, show options and let user select by number
|
78
|
-
console.log(chalk.cyan(`\n${question.message}`));
|
79
|
-
question.choices?.forEach((choice, index) => {
|
80
|
-
console.log(chalk.white(` [${index + 1}] ${choice.name}`));
|
81
|
-
});
|
82
|
-
|
83
|
-
const answer = await new Promise((resolve) => {
|
84
|
-
rl.question(chalk.yellow('Enter number (1-' + question.choices.length + ') or press Enter for default: '), (input) => {
|
85
|
-
const num = parseInt(input.trim());
|
86
|
-
if (!input.trim() || isNaN(num) || num < 1 || num > question.choices.length) {
|
87
|
-
// Use default (first option)
|
88
|
-
resolve(question.choices?.[0]?.value || question.default);
|
89
|
-
} else {
|
90
|
-
resolve(question.choices[num - 1].value);
|
91
|
-
}
|
92
|
-
});
|
93
|
-
});
|
94
|
-
results[question.name] = answer;
|
95
|
-
}
|
96
|
-
}
|
97
|
-
|
98
|
-
rl.close();
|
99
|
-
return results;
|
100
|
-
}
|
101
|
-
|
102
|
-
console.log(chalk.blue.bold(`
|
103
|
-
āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā
|
104
|
-
ā š AppIQ MCP Installer š ā
|
105
|
-
ā ā
|
106
|
-
ā One-Click Installer for all MCP Servers ā
|
107
|
-
ā Automatic Installation & Configuration for: ā
|
108
|
-
ā Claude Desktop ⢠Cursor ⢠Windsurf ⢠VS Code ⢠Trae AI ā
|
109
|
-
āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā
|
110
|
-
`));
|
111
|
-
|
112
|
-
// Setup local configuration file
|
113
|
-
async function setupLocalConfig() {
|
114
|
-
const localConfigPath = path.join(process.cwd(), 'my_mcps.md');
|
115
|
-
const templatePath = path.join(__dirname, 'my_mcps.md');
|
116
|
-
|
117
|
-
if (!fs.existsSync(localConfigPath)) {
|
118
|
-
console.log(chalk.yellow('\nš Creating local configuration file...'));
|
119
|
-
if (fs.existsSync(templatePath)) {
|
120
|
-
fs.copyFileSync(templatePath, localConfigPath);
|
121
|
-
console.log(chalk.green(`ā
Copied my_mcps.md to ${localConfigPath}`));
|
122
|
-
} else {
|
123
|
-
// Fallback: create basic template if package template not found
|
124
|
-
const basicTemplate = `# MCP Servers Configuration
|
125
|
-
|
126
|
-
Edit this file to customize your MCP servers
|
127
|
-
|
128
|
-
\`\`\`javascript
|
129
|
-
const MCP_SERVERS = {
|
130
|
-
// š GLOBAL SERVERS
|
131
|
-
'git': {
|
132
|
-
name: 'Git MCP Server',
|
133
|
-
description: 'Git repository interaction - commits, branches, status',
|
134
|
-
config: {
|
135
|
-
command: 'uvx',
|
136
|
-
args: ['mcp-server-git', '--repository', '.']
|
137
|
-
}
|
138
|
-
},
|
139
|
-
|
140
|
-
// š LOCAL SERVERS
|
141
|
-
'extended-memory': {
|
142
|
-
name: 'Extended Memory MCP',
|
143
|
-
description: 'Enhanced memory capabilities for AI assistants',
|
144
|
-
config: {
|
145
|
-
command: 'npx',
|
146
|
-
args: ['-y', '@modelcontextprotocol/server-memory']
|
147
|
-
}
|
148
|
-
}
|
149
|
-
};
|
150
|
-
\`\`\`
|
151
|
-
|
152
|
-
āļø Edit the servers above and run \`npx appiq-mcp-installer\` to install them!
|
153
|
-
`;
|
154
|
-
fs.writeFileSync(localConfigPath, basicTemplate);
|
155
|
-
console.log(chalk.green(`ā
Created basic my_mcps.md at ${localConfigPath}`));
|
156
|
-
}
|
157
|
-
}
|
158
|
-
return localConfigPath;
|
159
|
-
}
|
160
|
-
|
161
|
-
// Prompt user to edit configuration
|
162
|
-
async function promptUserToEdit(configPath) {
|
163
|
-
console.log(chalk.blue.bold('\nš ļø Configuration Setup'));
|
164
|
-
console.log(chalk.white(`š Please edit the configuration file: ${chalk.cyan(configPath)}`));
|
165
|
-
console.log(chalk.white(' Add, remove, or modify MCP servers as needed'));
|
166
|
-
console.log(chalk.white(' Save the file when you\'re done'));
|
167
|
-
|
168
|
-
const response = await safePrompt([{
|
169
|
-
type: 'input',
|
170
|
-
name: 'continue',
|
171
|
-
message: 'Press Enter when you have finished editing the file...',
|
172
|
-
}]);
|
173
|
-
return response;
|
174
|
-
}
|
175
|
-
|
176
|
-
// Validate MCP configuration syntax
|
177
|
-
function validateMCPConfig(mcpContent) {
|
178
|
-
try {
|
179
|
-
// Extract JavaScript code block from markdown
|
180
|
-
const codeBlockRegex = /```javascript\n(const MCP_SERVERS = \{[\s\S]*?\});?\n```/;
|
181
|
-
const match = mcpContent.match(codeBlockRegex);
|
182
|
-
|
183
|
-
if (!match) {
|
184
|
-
return { valid: false, error: 'Could not find MCP_SERVERS configuration block.\nMake sure you have:\n```javascript\nconst MCP_SERVERS = {\n // your servers here\n};\n```' };
|
185
|
-
}
|
186
|
-
|
187
|
-
// Try to evaluate the JavaScript code
|
188
|
-
const mcpCode = match[1];
|
189
|
-
const cleanCode = mcpCode.replace('const MCP_SERVERS = ', '');
|
190
|
-
const MCP_SERVERS = eval(`(${cleanCode})`);
|
191
|
-
|
192
|
-
// Basic validation
|
193
|
-
if (typeof MCP_SERVERS !== 'object' || MCP_SERVERS === null) {
|
194
|
-
return { valid: false, error: 'MCP_SERVERS must be an object' };
|
195
|
-
}
|
196
|
-
|
197
|
-
// Check if servers have required properties (Claude Desktop format)
|
198
|
-
for (const [key, server] of Object.entries(MCP_SERVERS)) {
|
199
|
-
if (!server.command) {
|
200
|
-
return { valid: false, error: `Server '${key}' is missing required 'command' property` };
|
201
|
-
}
|
202
|
-
if (!Array.isArray(server.args)) {
|
203
|
-
return { valid: false, error: `Server '${key}' must have 'args' as an array` };
|
204
|
-
}
|
205
|
-
}
|
206
|
-
|
207
|
-
return { valid: true, servers: MCP_SERVERS };
|
208
|
-
} catch (error) {
|
209
|
-
return { valid: false, error: `Syntax error: ${error.message}` };
|
210
|
-
}
|
211
|
-
}
|
212
|
-
|
213
|
-
// Load MCP Server Definitions with retry loop
|
214
|
-
async function loadMCPServersWithRetry() {
|
215
|
-
while (true) {
|
216
|
-
try {
|
217
|
-
const localConfigPath = path.join(process.cwd(), 'my_mcps.md');
|
218
|
-
|
219
|
-
if (!fs.existsSync(localConfigPath)) {
|
220
|
-
throw new Error('my_mcps.md not found in current directory');
|
221
|
-
}
|
222
|
-
|
223
|
-
const mcpContent = fs.readFileSync(localConfigPath, 'utf8');
|
224
|
-
const validation = validateMCPConfig(mcpContent);
|
225
|
-
|
226
|
-
if (validation.valid) {
|
227
|
-
console.log(chalk.green(`ā
Configuration loaded successfully! Found ${Object.keys(validation.servers).length} MCP servers`));
|
228
|
-
return validation.servers;
|
229
|
-
} else {
|
230
|
-
console.log(chalk.red('\nā Configuration Error:'));
|
231
|
-
console.log(chalk.white(validation.error));
|
232
|
-
console.log(chalk.yellow('\nš” Please fix the error in my_mcps.md and try again.'));
|
233
|
-
|
234
|
-
const retry = await safePrompt([{
|
235
|
-
type: 'confirm',
|
236
|
-
name: 'retry',
|
237
|
-
message: 'Do you want to edit the file again?',
|
238
|
-
default: true
|
239
|
-
}]);
|
240
|
-
|
241
|
-
if (!retry.retry) {
|
242
|
-
console.log(chalk.red('ā Installation cancelled'));
|
243
|
-
process.exit(1);
|
244
|
-
}
|
245
|
-
|
246
|
-
await promptUserToEdit(localConfigPath);
|
247
|
-
}
|
248
|
-
} catch (error) {
|
249
|
-
console.error(chalk.red(`ā Error reading configuration: ${error.message}`));
|
250
|
-
process.exit(1);
|
251
|
-
}
|
252
|
-
}
|
253
|
-
}
|
254
|
-
|
255
|
-
// IDE Configuration Paths
|
256
|
-
const IDE_CONFIGS = {
|
257
|
-
'claude-desktop': {
|
258
|
-
name: 'Claude Desktop',
|
259
|
-
paths: {
|
260
|
-
'darwin': path.join(os.homedir(), 'Library/Application Support/Claude/claude_desktop_config.json'),
|
261
|
-
'win32': path.join(os.homedir(), 'AppData/Roaming/Claude/claude_desktop_config.json'),
|
262
|
-
'linux': path.join(os.homedir(), '.config/Claude/claude_desktop_config.json')
|
263
|
-
},
|
264
|
-
configKey: 'mcpServers',
|
265
|
-
globalOnly: true
|
266
|
-
},
|
267
|
-
'cursor': {
|
268
|
-
name: 'Cursor AI',
|
269
|
-
paths: {
|
270
|
-
'global': path.join(os.homedir(), '.cursor/mcp.json'),
|
271
|
-
'project': '.cursor/mcp.json'
|
272
|
-
},
|
273
|
-
configKey: 'mcpServers',
|
274
|
-
globalOnly: false
|
275
|
-
},
|
276
|
-
'windsurf': {
|
277
|
-
name: 'Windsurf',
|
278
|
-
paths: {
|
279
|
-
'global': path.join(os.homedir(), '.windsurf/mcp.json'),
|
280
|
-
'project': '.windsurf/mcp.json'
|
281
|
-
},
|
282
|
-
configKey: 'mcpServers',
|
283
|
-
globalOnly: false
|
284
|
-
},
|
285
|
-
'vscode': {
|
286
|
-
name: 'VS Code',
|
287
|
-
paths: {
|
288
|
-
'global': path.join(os.homedir(), '.vscode/settings.json'),
|
289
|
-
'project': '.vscode/mcp.json'
|
290
|
-
},
|
291
|
-
configKey: 'mcp.servers',
|
292
|
-
globalOnly: false
|
293
|
-
},
|
294
|
-
'trae-ai': {
|
295
|
-
name: 'Trae AI',
|
296
|
-
paths: {
|
297
|
-
'global': path.join(os.homedir(), '.trae/mcp.json'),
|
298
|
-
'project': '.trae/mcp.json'
|
299
|
-
},
|
300
|
-
configKey: 'mcpServers',
|
301
|
-
globalOnly: false
|
302
|
-
}
|
303
|
-
};
|
304
|
-
|
305
|
-
// Helper Functions
|
306
|
-
async function detectInstalledIDEs() {
|
307
|
-
const spinner = ora('Searching for installed IDEs...').start();
|
308
|
-
const installedIDEs = [];
|
309
|
-
|
310
|
-
for (const [key, ide] of Object.entries(IDE_CONFIGS)) {
|
311
|
-
try {
|
312
|
-
if (ide.globalOnly) {
|
313
|
-
const globalPath = ide.paths[os.platform()];
|
314
|
-
if (globalPath && await fs.pathExists(path.dirname(globalPath))) {
|
315
|
-
installedIDEs.push(key);
|
316
|
-
}
|
317
|
-
} else {
|
318
|
-
const globalPath = ide.paths.global;
|
319
|
-
if (await fs.pathExists(path.dirname(globalPath))) {
|
320
|
-
installedIDEs.push(key);
|
321
|
-
}
|
322
|
-
}
|
323
|
-
} catch (error) {
|
324
|
-
// IDE not installed
|
325
|
-
}
|
326
|
-
}
|
327
|
-
|
328
|
-
spinner.succeed(`${installedIDEs.length} IDEs found: ${installedIDEs.map(id => IDE_CONFIGS[id].name).join(', ')}`);
|
329
|
-
return installedIDEs;
|
330
|
-
}
|
331
|
-
|
332
|
-
async function getExistingGlobalServers() {
|
333
|
-
const globalServers = {};
|
334
|
-
|
335
|
-
for (const [ideKey, ide] of Object.entries(IDE_CONFIGS)) {
|
336
|
-
try {
|
337
|
-
let configPath;
|
338
|
-
if (ide.globalOnly) {
|
339
|
-
configPath = ide.paths[os.platform()];
|
340
|
-
} else {
|
341
|
-
configPath = ide.paths.global;
|
342
|
-
}
|
343
|
-
|
344
|
-
if (configPath && await fs.pathExists(configPath)) {
|
345
|
-
const config = await fs.readJson(configPath);
|
346
|
-
const servers = ide.configKey.split('.').reduce((obj, key) => obj?.[key], config) || {};
|
347
|
-
globalServers[ideKey] = Object.keys(servers);
|
348
|
-
}
|
349
|
-
} catch (error) {
|
350
|
-
globalServers[ideKey] = [];
|
351
|
-
}
|
352
|
-
}
|
353
|
-
|
354
|
-
return globalServers;
|
355
|
-
}
|
356
|
-
|
357
|
-
async function installMCPServer(ide, serverKey, serverConfig, isGlobal, projectPath = null) {
|
358
|
-
const spinner = ora(`Installing ${serverKey} for ${IDE_CONFIGS[ide].name}...`).start();
|
359
|
-
|
360
|
-
try {
|
361
|
-
let configPath;
|
362
|
-
if (isGlobal || IDE_CONFIGS[ide].globalOnly) {
|
363
|
-
if (IDE_CONFIGS[ide].globalOnly) {
|
364
|
-
configPath = IDE_CONFIGS[ide].paths[os.platform()];
|
365
|
-
} else {
|
366
|
-
configPath = IDE_CONFIGS[ide].paths.global;
|
367
|
-
}
|
368
|
-
} else {
|
369
|
-
configPath = path.join(projectPath || process.cwd(), IDE_CONFIGS[ide].paths.project);
|
370
|
-
}
|
371
|
-
|
372
|
-
// Create directory if needed
|
373
|
-
await fs.ensureDir(path.dirname(configPath));
|
374
|
-
|
375
|
-
// Load existing configuration
|
376
|
-
let config = {};
|
377
|
-
if (await fs.pathExists(configPath)) {
|
378
|
-
config = await fs.readJson(configPath);
|
379
|
-
}
|
380
|
-
|
381
|
-
// Navigate to correct location in configuration
|
382
|
-
const configKeys = IDE_CONFIGS[ide].configKey.split('.');
|
383
|
-
let currentConfig = config;
|
384
|
-
for (let i = 0; i < configKeys.length - 1; i++) {
|
385
|
-
if (!currentConfig[configKeys[i]]) {
|
386
|
-
currentConfig[configKeys[i]] = {};
|
387
|
-
}
|
388
|
-
currentConfig = currentConfig[configKeys[i]];
|
389
|
-
}
|
390
|
-
|
391
|
-
const finalKey = configKeys[configKeys.length - 1];
|
392
|
-
if (!currentConfig[finalKey]) {
|
393
|
-
currentConfig[finalKey] = {};
|
394
|
-
}
|
395
|
-
|
396
|
-
// Check for duplicates
|
397
|
-
if (currentConfig[finalKey][serverKey]) {
|
398
|
-
spinner.warn(`${serverKey} is already installed - skipping`);
|
399
|
-
return false;
|
400
|
-
}
|
401
|
-
|
402
|
-
// Add server (Claude Desktop format)
|
403
|
-
currentConfig[finalKey][serverKey] = {
|
404
|
-
command: serverConfig.command,
|
405
|
-
args: serverConfig.args
|
406
|
-
};
|
407
|
-
|
408
|
-
// Add env if it exists
|
409
|
-
if (serverConfig.env) {
|
410
|
-
currentConfig[finalKey][serverKey].env = serverConfig.env;
|
411
|
-
}
|
412
|
-
|
413
|
-
// Save configuration
|
414
|
-
await fs.writeJson(configPath, config, { spaces: 2 });
|
415
|
-
|
416
|
-
spinner.succeed(`${serverKey} successfully installed`);
|
417
|
-
return true;
|
418
|
-
} catch (error) {
|
419
|
-
spinner.fail(`Error installing ${serverKey}: ${error.message}`);
|
420
|
-
return false;
|
421
|
-
}
|
422
|
-
}
|
423
|
-
|
424
|
-
async function main() {
|
425
|
-
try {
|
426
|
-
// Step 1: Setup local configuration
|
427
|
-
const configPath = await setupLocalConfig();
|
428
|
-
|
429
|
-
// Step 2: Prompt user to edit configuration
|
430
|
-
await promptUserToEdit(configPath);
|
431
|
-
|
432
|
-
// Step 3: Load and validate configuration with retry loop
|
433
|
-
const MCP_SERVERS = await loadMCPServersWithRetry();
|
434
|
-
|
435
|
-
console.log(chalk.blue('\nš Analyzing your system...'));
|
436
|
-
|
437
|
-
// Detect installed IDEs
|
438
|
-
const installedIDEs = await detectInstalledIDEs();
|
439
|
-
|
440
|
-
if (installedIDEs.length === 0) {
|
441
|
-
console.log(chalk.red('ā No supported IDEs found!'));
|
442
|
-
console.log(chalk.yellow('Supported IDEs: Claude Desktop, Cursor, Windsurf, VS Code, Trae AI'));
|
443
|
-
process.exit(1);
|
444
|
-
}
|
445
|
-
|
446
|
-
// Get already installed global servers
|
447
|
-
const existingGlobalServers = await getExistingGlobalServers();
|
448
|
-
|
449
|
-
// Show already installed global servers
|
450
|
-
console.log(chalk.green('\nš Already installed global MCP servers:'));
|
451
|
-
for (const [ideKey, servers] of Object.entries(existingGlobalServers)) {
|
452
|
-
if (servers.length > 0) {
|
453
|
-
console.log(chalk.cyan(` ${IDE_CONFIGS[ideKey].name}: ${servers.join(', ')}`));
|
454
|
-
}
|
455
|
-
}
|
456
|
-
|
457
|
-
// IDE selection
|
458
|
-
const { selectedIDEs } = await safePrompt([{
|
459
|
-
type: 'checkbox',
|
460
|
-
name: 'selectedIDEs',
|
461
|
-
message: 'Which IDEs would you like to install MCP servers for?',
|
462
|
-
choices: installedIDEs.map(ide => ({
|
463
|
-
name: IDE_CONFIGS[ide].name,
|
464
|
-
value: ide,
|
465
|
-
checked: true
|
466
|
-
}))
|
467
|
-
}]);
|
468
|
-
|
469
|
-
if (selectedIDEs.length === 0) {
|
470
|
-
console.log(chalk.yellow('No IDEs selected. Installation cancelled.'));
|
471
|
-
process.exit(0);
|
472
|
-
}
|
473
|
-
|
474
|
-
// Global vs. Project-specific
|
475
|
-
const { installationType } = await safePrompt([{
|
476
|
-
type: 'list',
|
477
|
-
name: 'installationType',
|
478
|
-
message: 'How would you like to install the MCP servers?',
|
479
|
-
choices: [
|
480
|
-
{ name: 'š Global (available in all projects)', value: 'global' },
|
481
|
-
{ name: 'š Project-specific (only in this project)', value: 'project' }
|
482
|
-
]
|
483
|
-
}]);
|
484
|
-
|
485
|
-
// Define global and local server keys based on their position in the object
|
486
|
-
const globalServerKeys = ['sequential-thinking', 'puppeteer', 'claude-continuity'];
|
487
|
-
|
488
|
-
// Server descriptions for display (since the new format doesn't include them)
|
489
|
-
const serverDescriptions = {
|
490
|
-
'sequential-thinking': 'Structured thinking for complex problem solving',
|
491
|
-
'puppeteer': 'Browser automation and web scraping',
|
492
|
-
'claude-continuity': 'Enhanced thread continuity for Claude',
|
493
|
-
'extended-memory': 'Enhanced memory capabilities for AI assistants',
|
494
|
-
'@21st-dev/magic': 'UI builder for MCP - like v0 but in your IDE',
|
495
|
-
'dart': 'Dart SDK integration for Flutter/Dart projects',
|
496
|
-
'firebase': 'Firebase services - Auth, Firestore, Functions',
|
497
|
-
'supabase': 'Supabase integration - database, auth, storage',
|
498
|
-
'context7': 'Up-to-date code documentation for any library',
|
499
|
-
'stripe': 'Stripe payment integration'
|
500
|
-
};
|
501
|
-
|
502
|
-
// MCP Server selection
|
503
|
-
const serverChoices = Object.entries(MCP_SERVERS).map(([key, server]) => {
|
504
|
-
// Check if already globally installed
|
505
|
-
let alreadyInstalled = false;
|
506
|
-
if (installationType !== 'project') {
|
507
|
-
for (const servers of Object.values(existingGlobalServers)) {
|
508
|
-
if (servers.includes(key)) {
|
509
|
-
alreadyInstalled = true;
|
510
|
-
break;
|
511
|
-
}
|
512
|
-
}
|
513
|
-
}
|
514
|
-
|
515
|
-
const description = serverDescriptions[key] || 'MCP Server';
|
516
|
-
|
517
|
-
return {
|
518
|
-
name: `${key} - ${description}${alreadyInstalled ? ' ā
(already globally installed)' : ''}`,
|
519
|
-
value: key,
|
520
|
-
checked: !alreadyInstalled
|
521
|
-
};
|
522
|
-
});
|
523
|
-
|
524
|
-
const { selectedServers } = await safePrompt([{
|
525
|
-
type: 'checkbox',
|
526
|
-
name: 'selectedServers',
|
527
|
-
message: 'Which MCP servers would you like to install?',
|
528
|
-
choices: serverChoices,
|
529
|
-
pageSize: 15
|
530
|
-
}]);
|
531
|
-
|
532
|
-
if (selectedServers.length === 0) {
|
533
|
-
console.log(chalk.yellow('No MCP servers selected. Installation cancelled.'));
|
534
|
-
process.exit(0);
|
535
|
-
}
|
536
|
-
|
537
|
-
// Start installation
|
538
|
-
console.log(chalk.blue('\nš Starting installation...'));
|
539
|
-
|
540
|
-
let successCount = 0;
|
541
|
-
const totalInstallations = selectedIDEs.length * selectedServers.length;
|
542
|
-
|
543
|
-
for (const ideKey of selectedIDEs) {
|
544
|
-
console.log(chalk.magenta(`\nš± Installing for ${IDE_CONFIGS[ideKey].name}:`));
|
545
|
-
|
546
|
-
for (const serverKey of selectedServers) {
|
547
|
-
const server = MCP_SERVERS[serverKey];
|
548
|
-
|
549
|
-
// Determine installation type
|
550
|
-
let installGlobally = installationType === 'global';
|
551
|
-
|
552
|
-
// For IDEs that only support global
|
553
|
-
if (IDE_CONFIGS[ideKey].globalOnly) {
|
554
|
-
installGlobally = true;
|
555
|
-
}
|
556
|
-
|
557
|
-
const success = await installMCPServer(ideKey, serverKey, server, installGlobally);
|
558
|
-
if (success) successCount++;
|
559
|
-
}
|
560
|
-
}
|
561
|
-
|
562
|
-
// Summary
|
563
|
-
console.log(chalk.green.bold(`\nā
Installation completed!`));
|
564
|
-
console.log(chalk.green(`š ${successCount}/${totalInstallations} servers successfully installed`));
|
565
|
-
|
566
|
-
if (successCount > 0) {
|
567
|
-
console.log(chalk.yellow('\nā ļø Important notes:'));
|
568
|
-
console.log(chalk.yellow('⢠Restart your IDEs for changes to take effect'));
|
569
|
-
console.log(chalk.yellow('⢠Check environment variables for servers that require API keys'));
|
570
|
-
console.log(chalk.yellow('⢠Some servers require additional configuration (see documentation)'));
|
571
|
-
|
572
|
-
// Show specific configuration hints
|
573
|
-
const serversNeedingConfig = selectedServers.filter(key =>
|
574
|
-
MCP_SERVERS[key].env && Object.keys(MCP_SERVERS[key].env).length > 0
|
575
|
-
);
|
576
|
-
|
577
|
-
if (serversNeedingConfig.length > 0) {
|
578
|
-
console.log(chalk.cyan('\nš§ Servers requiring configuration:'));
|
579
|
-
for (const serverKey of serversNeedingConfig) {
|
580
|
-
const server = MCP_SERVERS[serverKey];
|
581
|
-
console.log(chalk.cyan(` ⢠${serverKey}:`));
|
582
|
-
for (const [envKey, envValue] of Object.entries(server.env)) {
|
583
|
-
console.log(chalk.gray(` ${envKey}: ${envValue}`));
|
584
|
-
}
|
585
|
-
}
|
586
|
-
}
|
587
|
-
}
|
588
|
-
|
589
|
-
} catch (error) {
|
590
|
-
console.error(chalk.red(`ā Error: ${error.message}`));
|
591
|
-
process.exit(1);
|
592
|
-
}
|
593
|
-
}
|
594
|
-
|
595
|
-
// List command function with dynamic loading
|
596
|
-
async function listServers() {
|
597
|
-
try {
|
598
|
-
// Check if config exists, if not, create it
|
599
|
-
await setupLocalConfig();
|
600
|
-
|
601
|
-
// Load servers (without edit prompt for list command)
|
602
|
-
const localConfigPath = path.join(process.cwd(), 'my_mcps.md');
|
603
|
-
if (!fs.existsSync(localConfigPath)) {
|
604
|
-
console.log(chalk.red('ā my_mcps.md not found in current directory'));
|
605
|
-
console.log(chalk.yellow('š” Run without arguments to create and configure it first'));
|
606
|
-
process.exit(1);
|
607
|
-
}
|
608
|
-
|
609
|
-
const mcpContent = fs.readFileSync(localConfigPath, 'utf8');
|
610
|
-
const validation = validateMCPConfig(mcpContent);
|
611
|
-
|
612
|
-
if (!validation.valid) {
|
613
|
-
console.log(chalk.red('ā Configuration Error:'));
|
614
|
-
console.log(chalk.white(validation.error));
|
615
|
-
console.log(chalk.yellow('š” Fix the error in my_mcps.md and try again'));
|
616
|
-
process.exit(1);
|
617
|
-
}
|
618
|
-
|
619
|
-
const MCP_SERVERS = validation.servers;
|
620
|
-
|
621
|
-
// List available servers
|
622
|
-
console.log(chalk.blue.bold('\nš Available MCP Servers:\n'));
|
623
|
-
|
624
|
-
// Server descriptions for display
|
625
|
-
const serverDescriptions = {
|
626
|
-
'sequential-thinking': 'Structured thinking for complex problem solving',
|
627
|
-
'puppeteer': 'Browser automation and web scraping',
|
628
|
-
'claude-continuity': 'Enhanced thread continuity for Claude',
|
629
|
-
'extended-memory': 'Enhanced memory capabilities for AI assistants',
|
630
|
-
'@21st-dev/magic': 'UI builder for MCP - like v0 but in your IDE',
|
631
|
-
'dart': 'Dart SDK integration for Flutter/Dart projects',
|
632
|
-
'firebase': 'Firebase services - Auth, Firestore, Functions',
|
633
|
-
'supabase': 'Supabase integration - database, auth, storage',
|
634
|
-
'context7': 'Up-to-date code documentation for any library',
|
635
|
-
'stripe': 'Stripe payment integration'
|
636
|
-
};
|
637
|
-
|
638
|
-
console.log(chalk.green.bold('š GLOBAL SERVERS:'));
|
639
|
-
const globalServerKeys = ['sequential-thinking', 'puppeteer', 'claude-continuity'];
|
640
|
-
for (const key of globalServerKeys) {
|
641
|
-
const server = MCP_SERVERS[key];
|
642
|
-
if (server) {
|
643
|
-
const description = serverDescriptions[key] || 'MCP Server';
|
644
|
-
console.log(chalk.cyan(` ${key}: ${description}`));
|
645
|
-
}
|
646
|
-
}
|
647
|
-
|
648
|
-
console.log(chalk.yellow.bold('\nš LOCAL SERVERS:'));
|
649
|
-
for (const [key, server] of Object.entries(MCP_SERVERS)) {
|
650
|
-
if (!globalServerKeys.includes(key)) {
|
651
|
-
const description = serverDescriptions[key] || 'MCP Server';
|
652
|
-
console.log(chalk.cyan(` ${key}: ${description}`));
|
653
|
-
}
|
654
|
-
}
|
655
|
-
console.log();
|
656
|
-
|
657
|
-
} catch (error) {
|
658
|
-
console.error(chalk.red(`ā Error: ${error.message}`));
|
659
|
-
process.exit(1);
|
660
|
-
}
|
661
|
-
}
|
662
|
-
|
663
|
-
// Process command line arguments
|
664
|
-
const args = process.argv.slice(2);
|
665
|
-
if (args.includes('list')) {
|
666
|
-
listServers();
|
667
|
-
} else if (args.includes('uninstall')) {
|
668
|
-
console.log(chalk.red('š§ Uninstall feature coming in a future version'));
|
669
|
-
} else {
|
670
|
-
// Main installation
|
671
|
-
main();
|
672
|
-
}
|