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,681 +0,0 @@
|
|
1
|
-
const fs = require("node:fs").promises;
|
2
|
-
const path = require("node:path");
|
3
|
-
const DependencyResolver = require("../lib/dependency-resolver");
|
4
|
-
const yamlUtils = require("../lib/yaml-utils");
|
5
|
-
|
6
|
-
class WebBuilder {
|
7
|
-
constructor(options = {}) {
|
8
|
-
this.rootDir = options.rootDir || process.cwd();
|
9
|
-
this.outputDirs = options.outputDirs || [path.join(this.rootDir, "dist")];
|
10
|
-
this.resolver = new DependencyResolver(this.rootDir);
|
11
|
-
this.templatePath = path.join(
|
12
|
-
this.rootDir,
|
13
|
-
"tools",
|
14
|
-
"md-assets",
|
15
|
-
"web-agent-startup-instructions.md"
|
16
|
-
);
|
17
|
-
}
|
18
|
-
|
19
|
-
parseYaml(content) {
|
20
|
-
const yaml = require("js-yaml");
|
21
|
-
return yaml.load(content);
|
22
|
-
}
|
23
|
-
|
24
|
-
convertToWebPath(filePath, bundleRoot = 'bmad-core') {
|
25
|
-
// Convert absolute paths to web bundle paths with dot prefix
|
26
|
-
// All resources get installed under the bundle root, so use that path
|
27
|
-
const relativePath = path.relative(this.rootDir, filePath);
|
28
|
-
const pathParts = relativePath.split(path.sep);
|
29
|
-
|
30
|
-
let resourcePath;
|
31
|
-
if (pathParts[0] === 'expansion-packs') {
|
32
|
-
// For expansion packs, remove 'expansion-packs/packname' and use the rest
|
33
|
-
resourcePath = pathParts.slice(2).join('/');
|
34
|
-
} else {
|
35
|
-
// For bmad-core, common, etc., remove the first part
|
36
|
-
resourcePath = pathParts.slice(1).join('/');
|
37
|
-
}
|
38
|
-
|
39
|
-
return `.${bundleRoot}/${resourcePath}`;
|
40
|
-
}
|
41
|
-
|
42
|
-
generateWebInstructions(bundleType, packName = null) {
|
43
|
-
// Generate dynamic web instructions based on bundle type
|
44
|
-
const rootExample = packName ? `.${packName}` : '.bmad-core';
|
45
|
-
const examplePath = packName ? `.${packName}/folder/filename.md` : '.bmad-core/folder/filename.md';
|
46
|
-
const personasExample = packName ? `.${packName}/personas/analyst.md` : '.bmad-core/personas/analyst.md';
|
47
|
-
const tasksExample = packName ? `.${packName}/tasks/create-story.md` : '.bmad-core/tasks/create-story.md';
|
48
|
-
const utilsExample = packName ? `.${packName}/utils/template-format.md` : '.bmad-core/utils/template-format.md';
|
49
|
-
const tasksRef = packName ? `.${packName}/tasks/create-story.md` : '.bmad-core/tasks/create-story.md';
|
50
|
-
|
51
|
-
return `# Web Agent Bundle Instructions
|
52
|
-
|
53
|
-
You are now operating as a specialized AI agent from the BMad-Method framework. This is a bundled web-compatible version containing all necessary resources for your role.
|
54
|
-
|
55
|
-
## Important Instructions
|
56
|
-
|
57
|
-
1. **Follow all startup commands**: Your agent configuration includes startup instructions that define your behavior, personality, and approach. These MUST be followed exactly.
|
58
|
-
|
59
|
-
2. **Resource Navigation**: This bundle contains all resources you need. Resources are marked with tags like:
|
60
|
-
|
61
|
-
- \`==================== START: ${examplePath} ====================\`
|
62
|
-
- \`==================== END: ${examplePath} ====================\`
|
63
|
-
|
64
|
-
When you need to reference a resource mentioned in your instructions:
|
65
|
-
|
66
|
-
- Look for the corresponding START/END tags
|
67
|
-
- The format is always the full path with dot prefix (e.g., \`${personasExample}\`, \`${tasksExample}\`)
|
68
|
-
- If a section is specified (e.g., \`{root}/tasks/create-story.md#section-name\`), navigate to that section within the file
|
69
|
-
|
70
|
-
**Understanding YAML References**: In the agent configuration, resources are referenced in the dependencies section. For example:
|
71
|
-
|
72
|
-
\`\`\`yaml
|
73
|
-
dependencies:
|
74
|
-
utils:
|
75
|
-
- template-format
|
76
|
-
tasks:
|
77
|
-
- create-story
|
78
|
-
\`\`\`
|
79
|
-
|
80
|
-
These references map directly to bundle sections:
|
81
|
-
|
82
|
-
- \`utils: template-format\` → Look for \`==================== START: ${utilsExample} ====================\`
|
83
|
-
- \`tasks: create-story\` → Look for \`==================== START: ${tasksRef} ====================\`
|
84
|
-
|
85
|
-
3. **Execution Context**: You are operating in a web environment. All your capabilities and knowledge are contained within this bundle. Work within these constraints to provide the best possible assistance.
|
86
|
-
|
87
|
-
4. **Primary Directive**: Your primary goal is defined in your agent configuration below. Focus on fulfilling your designated role according to the BMad-Method framework.
|
88
|
-
|
89
|
-
---
|
90
|
-
|
91
|
-
`;
|
92
|
-
}
|
93
|
-
|
94
|
-
async cleanOutputDirs() {
|
95
|
-
for (const dir of this.outputDirs) {
|
96
|
-
try {
|
97
|
-
await fs.rm(dir, { recursive: true, force: true });
|
98
|
-
console.log(`Cleaned: ${path.relative(this.rootDir, dir)}`);
|
99
|
-
} catch (error) {
|
100
|
-
console.debug(`Failed to clean directory ${dir}:`, error.message);
|
101
|
-
// Directory might not exist, that's fine
|
102
|
-
}
|
103
|
-
}
|
104
|
-
}
|
105
|
-
|
106
|
-
async buildAgents() {
|
107
|
-
const agents = await this.resolver.listAgents();
|
108
|
-
|
109
|
-
for (const agentId of agents) {
|
110
|
-
console.log(` Building agent: ${agentId}`);
|
111
|
-
const bundle = await this.buildAgentBundle(agentId);
|
112
|
-
|
113
|
-
// Write to all output directories
|
114
|
-
for (const outputDir of this.outputDirs) {
|
115
|
-
const outputPath = path.join(outputDir, "agents");
|
116
|
-
await fs.mkdir(outputPath, { recursive: true });
|
117
|
-
const outputFile = path.join(outputPath, `${agentId}.txt`);
|
118
|
-
await fs.writeFile(outputFile, bundle, "utf8");
|
119
|
-
}
|
120
|
-
}
|
121
|
-
|
122
|
-
console.log(`Built ${agents.length} agent bundles in ${this.outputDirs.length} locations`);
|
123
|
-
}
|
124
|
-
|
125
|
-
async buildTeams() {
|
126
|
-
const teams = await this.resolver.listTeams();
|
127
|
-
|
128
|
-
for (const teamId of teams) {
|
129
|
-
console.log(` Building team: ${teamId}`);
|
130
|
-
const bundle = await this.buildTeamBundle(teamId);
|
131
|
-
|
132
|
-
// Write to all output directories
|
133
|
-
for (const outputDir of this.outputDirs) {
|
134
|
-
const outputPath = path.join(outputDir, "teams");
|
135
|
-
await fs.mkdir(outputPath, { recursive: true });
|
136
|
-
const outputFile = path.join(outputPath, `${teamId}.txt`);
|
137
|
-
await fs.writeFile(outputFile, bundle, "utf8");
|
138
|
-
}
|
139
|
-
}
|
140
|
-
|
141
|
-
console.log(`Built ${teams.length} team bundles in ${this.outputDirs.length} locations`);
|
142
|
-
}
|
143
|
-
|
144
|
-
async buildAgentBundle(agentId) {
|
145
|
-
const dependencies = await this.resolver.resolveAgentDependencies(agentId);
|
146
|
-
const template = this.generateWebInstructions('agent');
|
147
|
-
|
148
|
-
const sections = [template];
|
149
|
-
|
150
|
-
// Add agent configuration
|
151
|
-
const agentPath = this.convertToWebPath(dependencies.agent.path, 'bmad-core');
|
152
|
-
sections.push(this.formatSection(agentPath, dependencies.agent.content, 'bmad-core'));
|
153
|
-
|
154
|
-
// Add all dependencies
|
155
|
-
for (const resource of dependencies.resources) {
|
156
|
-
const resourcePath = this.convertToWebPath(resource.path, 'bmad-core');
|
157
|
-
sections.push(this.formatSection(resourcePath, resource.content, 'bmad-core'));
|
158
|
-
}
|
159
|
-
|
160
|
-
return sections.join("\n");
|
161
|
-
}
|
162
|
-
|
163
|
-
async buildTeamBundle(teamId) {
|
164
|
-
const dependencies = await this.resolver.resolveTeamDependencies(teamId);
|
165
|
-
const template = this.generateWebInstructions('team');
|
166
|
-
|
167
|
-
const sections = [template];
|
168
|
-
|
169
|
-
// Add team configuration
|
170
|
-
const teamPath = this.convertToWebPath(dependencies.team.path, 'bmad-core');
|
171
|
-
sections.push(this.formatSection(teamPath, dependencies.team.content, 'bmad-core'));
|
172
|
-
|
173
|
-
// Add all agents
|
174
|
-
for (const agent of dependencies.agents) {
|
175
|
-
const agentPath = this.convertToWebPath(agent.path, 'bmad-core');
|
176
|
-
sections.push(this.formatSection(agentPath, agent.content, 'bmad-core'));
|
177
|
-
}
|
178
|
-
|
179
|
-
// Add all deduplicated resources
|
180
|
-
for (const resource of dependencies.resources) {
|
181
|
-
const resourcePath = this.convertToWebPath(resource.path, 'bmad-core');
|
182
|
-
sections.push(this.formatSection(resourcePath, resource.content, 'bmad-core'));
|
183
|
-
}
|
184
|
-
|
185
|
-
return sections.join("\n");
|
186
|
-
}
|
187
|
-
|
188
|
-
processAgentContent(content) {
|
189
|
-
// First, replace content before YAML with the template
|
190
|
-
const yamlContent = yamlUtils.extractYamlFromAgent(content);
|
191
|
-
if (!yamlContent) return content;
|
192
|
-
|
193
|
-
const yamlMatch = content.match(/```ya?ml\n([\s\S]*?)\n```/);
|
194
|
-
if (!yamlMatch) return content;
|
195
|
-
|
196
|
-
const yamlStartIndex = content.indexOf(yamlMatch[0]);
|
197
|
-
const yamlEndIndex = yamlStartIndex + yamlMatch[0].length;
|
198
|
-
|
199
|
-
// Parse YAML and remove root and IDE-FILE-RESOLUTION properties
|
200
|
-
try {
|
201
|
-
const yaml = require("js-yaml");
|
202
|
-
const parsed = yaml.load(yamlContent);
|
203
|
-
|
204
|
-
// Remove the properties if they exist at root level
|
205
|
-
delete parsed.root;
|
206
|
-
delete parsed["IDE-FILE-RESOLUTION"];
|
207
|
-
delete parsed["REQUEST-RESOLUTION"];
|
208
|
-
|
209
|
-
// Also remove from activation-instructions if they exist
|
210
|
-
if (parsed["activation-instructions"] && Array.isArray(parsed["activation-instructions"])) {
|
211
|
-
parsed["activation-instructions"] = parsed["activation-instructions"].filter(
|
212
|
-
(instruction) => {
|
213
|
-
return (
|
214
|
-
typeof instruction === 'string' &&
|
215
|
-
!instruction.startsWith("IDE-FILE-RESOLUTION:") &&
|
216
|
-
!instruction.startsWith("REQUEST-RESOLUTION:")
|
217
|
-
);
|
218
|
-
}
|
219
|
-
);
|
220
|
-
}
|
221
|
-
|
222
|
-
// Reconstruct the YAML
|
223
|
-
const cleanedYaml = yaml.dump(parsed, { lineWidth: -1 });
|
224
|
-
|
225
|
-
// Get the agent name from the YAML for the header
|
226
|
-
const agentName = parsed.agent?.id || "agent";
|
227
|
-
|
228
|
-
// Build the new content with just the agent header and YAML
|
229
|
-
const newHeader = `# ${agentName}\n\nCRITICAL: Read the full YAML, start activation to alter your state of being, follow startup section instructions, stay in this being until told to exit this mode:\n\n`;
|
230
|
-
const afterYaml = content.substring(yamlEndIndex);
|
231
|
-
|
232
|
-
return newHeader + "```yaml\n" + cleanedYaml.trim() + "\n```" + afterYaml;
|
233
|
-
} catch (error) {
|
234
|
-
console.warn("Failed to process agent YAML:", error.message);
|
235
|
-
// If parsing fails, return original content
|
236
|
-
return content;
|
237
|
-
}
|
238
|
-
}
|
239
|
-
|
240
|
-
formatSection(path, content, bundleRoot = 'bmad-core') {
|
241
|
-
const separator = "====================";
|
242
|
-
|
243
|
-
// Process agent content if this is an agent file
|
244
|
-
if (path.includes("/agents/")) {
|
245
|
-
content = this.processAgentContent(content);
|
246
|
-
}
|
247
|
-
|
248
|
-
// Replace {root} references with the actual bundle root
|
249
|
-
content = this.replaceRootReferences(content, bundleRoot);
|
250
|
-
|
251
|
-
return [
|
252
|
-
`${separator} START: ${path} ${separator}`,
|
253
|
-
content.trim(),
|
254
|
-
`${separator} END: ${path} ${separator}`,
|
255
|
-
"",
|
256
|
-
].join("\n");
|
257
|
-
}
|
258
|
-
|
259
|
-
replaceRootReferences(content, bundleRoot) {
|
260
|
-
// Replace {root} with the appropriate bundle root path
|
261
|
-
return content.replace(/\{root\}/g, `.${bundleRoot}`);
|
262
|
-
}
|
263
|
-
|
264
|
-
async validate() {
|
265
|
-
console.log("Validating agent configurations...");
|
266
|
-
const agents = await this.resolver.listAgents();
|
267
|
-
for (const agentId of agents) {
|
268
|
-
try {
|
269
|
-
await this.resolver.resolveAgentDependencies(agentId);
|
270
|
-
console.log(` ✓ ${agentId}`);
|
271
|
-
} catch (error) {
|
272
|
-
console.log(` ✗ ${agentId}: ${error.message}`);
|
273
|
-
throw error;
|
274
|
-
}
|
275
|
-
}
|
276
|
-
|
277
|
-
console.log("\nValidating team configurations...");
|
278
|
-
const teams = await this.resolver.listTeams();
|
279
|
-
for (const teamId of teams) {
|
280
|
-
try {
|
281
|
-
await this.resolver.resolveTeamDependencies(teamId);
|
282
|
-
console.log(` ✓ ${teamId}`);
|
283
|
-
} catch (error) {
|
284
|
-
console.log(` ✗ ${teamId}: ${error.message}`);
|
285
|
-
throw error;
|
286
|
-
}
|
287
|
-
}
|
288
|
-
}
|
289
|
-
|
290
|
-
async buildAllExpansionPacks(options = {}) {
|
291
|
-
const expansionPacks = await this.listExpansionPacks();
|
292
|
-
|
293
|
-
for (const packName of expansionPacks) {
|
294
|
-
console.log(` Building expansion pack: ${packName}`);
|
295
|
-
await this.buildExpansionPack(packName, options);
|
296
|
-
}
|
297
|
-
|
298
|
-
console.log(`Built ${expansionPacks.length} expansion pack bundles`);
|
299
|
-
}
|
300
|
-
|
301
|
-
async buildExpansionPack(packName, options = {}) {
|
302
|
-
const packDir = path.join(this.rootDir, "expansion-packs", packName);
|
303
|
-
const outputDirs = [path.join(this.rootDir, "dist", "expansion-packs", packName)];
|
304
|
-
|
305
|
-
// Clean output directories if requested
|
306
|
-
if (options.clean !== false) {
|
307
|
-
for (const outputDir of outputDirs) {
|
308
|
-
try {
|
309
|
-
await fs.rm(outputDir, { recursive: true, force: true });
|
310
|
-
} catch (error) {
|
311
|
-
// Directory might not exist, that's fine
|
312
|
-
}
|
313
|
-
}
|
314
|
-
}
|
315
|
-
|
316
|
-
// Build individual agents first
|
317
|
-
const agentsDir = path.join(packDir, "agents");
|
318
|
-
try {
|
319
|
-
const agentFiles = await fs.readdir(agentsDir);
|
320
|
-
const agentMarkdownFiles = agentFiles.filter((f) => f.endsWith(".md"));
|
321
|
-
|
322
|
-
if (agentMarkdownFiles.length > 0) {
|
323
|
-
console.log(` Building individual agents for ${packName}:`);
|
324
|
-
|
325
|
-
for (const agentFile of agentMarkdownFiles) {
|
326
|
-
const agentName = agentFile.replace(".md", "");
|
327
|
-
console.log(` - ${agentName}`);
|
328
|
-
|
329
|
-
// Build individual agent bundle
|
330
|
-
const bundle = await this.buildExpansionAgentBundle(packName, packDir, agentName);
|
331
|
-
|
332
|
-
// Write to all output directories
|
333
|
-
for (const outputDir of outputDirs) {
|
334
|
-
const agentsOutputDir = path.join(outputDir, "agents");
|
335
|
-
await fs.mkdir(agentsOutputDir, { recursive: true });
|
336
|
-
const outputFile = path.join(agentsOutputDir, `${agentName}.txt`);
|
337
|
-
await fs.writeFile(outputFile, bundle, "utf8");
|
338
|
-
}
|
339
|
-
}
|
340
|
-
}
|
341
|
-
} catch (error) {
|
342
|
-
console.debug(` No agents directory found for ${packName}`);
|
343
|
-
}
|
344
|
-
|
345
|
-
// Build team bundle
|
346
|
-
const agentTeamsDir = path.join(packDir, "agent-teams");
|
347
|
-
try {
|
348
|
-
const teamFiles = await fs.readdir(agentTeamsDir);
|
349
|
-
const teamFile = teamFiles.find((f) => f.endsWith(".yaml"));
|
350
|
-
|
351
|
-
if (teamFile) {
|
352
|
-
console.log(` Building team bundle for ${packName}`);
|
353
|
-
const teamConfigPath = path.join(agentTeamsDir, teamFile);
|
354
|
-
|
355
|
-
// Build expansion pack as a team bundle
|
356
|
-
const bundle = await this.buildExpansionTeamBundle(packName, packDir, teamConfigPath);
|
357
|
-
|
358
|
-
// Write to all output directories
|
359
|
-
for (const outputDir of outputDirs) {
|
360
|
-
const teamsOutputDir = path.join(outputDir, "teams");
|
361
|
-
await fs.mkdir(teamsOutputDir, { recursive: true });
|
362
|
-
const outputFile = path.join(teamsOutputDir, teamFile.replace(".yaml", ".txt"));
|
363
|
-
await fs.writeFile(outputFile, bundle, "utf8");
|
364
|
-
console.log(` ✓ Created bundle: ${path.relative(this.rootDir, outputFile)}`);
|
365
|
-
}
|
366
|
-
} else {
|
367
|
-
console.warn(` ⚠ No team configuration found in ${packName}/agent-teams/`);
|
368
|
-
}
|
369
|
-
} catch (error) {
|
370
|
-
console.warn(` ⚠ No agent-teams directory found for ${packName}`);
|
371
|
-
}
|
372
|
-
}
|
373
|
-
|
374
|
-
async buildExpansionAgentBundle(packName, packDir, agentName) {
|
375
|
-
const template = this.generateWebInstructions('expansion-agent', packName);
|
376
|
-
const sections = [template];
|
377
|
-
|
378
|
-
// Add agent configuration
|
379
|
-
const agentPath = path.join(packDir, "agents", `${agentName}.md`);
|
380
|
-
const agentContent = await fs.readFile(agentPath, "utf8");
|
381
|
-
const agentWebPath = this.convertToWebPath(agentPath, packName);
|
382
|
-
sections.push(this.formatSection(agentWebPath, agentContent, packName));
|
383
|
-
|
384
|
-
// Resolve and add agent dependencies
|
385
|
-
const yamlContent = yamlUtils.extractYamlFromAgent(agentContent);
|
386
|
-
if (yamlContent) {
|
387
|
-
try {
|
388
|
-
const yaml = require("js-yaml");
|
389
|
-
const agentConfig = yaml.load(yamlContent);
|
390
|
-
|
391
|
-
if (agentConfig.dependencies) {
|
392
|
-
// Add resources, first try expansion pack, then core
|
393
|
-
for (const [resourceType, resources] of Object.entries(agentConfig.dependencies)) {
|
394
|
-
if (Array.isArray(resources)) {
|
395
|
-
for (const resourceName of resources) {
|
396
|
-
let found = false;
|
397
|
-
|
398
|
-
// Try expansion pack first
|
399
|
-
const resourcePath = path.join(packDir, resourceType, resourceName);
|
400
|
-
try {
|
401
|
-
const resourceContent = await fs.readFile(resourcePath, "utf8");
|
402
|
-
const resourceWebPath = this.convertToWebPath(resourcePath, packName);
|
403
|
-
sections.push(
|
404
|
-
this.formatSection(resourceWebPath, resourceContent, packName)
|
405
|
-
);
|
406
|
-
found = true;
|
407
|
-
} catch (error) {
|
408
|
-
// Not in expansion pack, continue
|
409
|
-
}
|
410
|
-
|
411
|
-
// If not found in expansion pack, try core
|
412
|
-
if (!found) {
|
413
|
-
const corePath = path.join(
|
414
|
-
this.rootDir,
|
415
|
-
"bmad-core",
|
416
|
-
resourceType,
|
417
|
-
resourceName
|
418
|
-
);
|
419
|
-
try {
|
420
|
-
const coreContent = await fs.readFile(corePath, "utf8");
|
421
|
-
const coreWebPath = this.convertToWebPath(corePath, packName);
|
422
|
-
sections.push(
|
423
|
-
this.formatSection(coreWebPath, coreContent, packName)
|
424
|
-
);
|
425
|
-
found = true;
|
426
|
-
} catch (error) {
|
427
|
-
// Not in core either, continue
|
428
|
-
}
|
429
|
-
}
|
430
|
-
|
431
|
-
// If not found in core, try common folder
|
432
|
-
if (!found) {
|
433
|
-
const commonPath = path.join(
|
434
|
-
this.rootDir,
|
435
|
-
"common",
|
436
|
-
resourceType,
|
437
|
-
resourceName
|
438
|
-
);
|
439
|
-
try {
|
440
|
-
const commonContent = await fs.readFile(commonPath, "utf8");
|
441
|
-
const commonWebPath = this.convertToWebPath(commonPath, packName);
|
442
|
-
sections.push(
|
443
|
-
this.formatSection(commonWebPath, commonContent, packName)
|
444
|
-
);
|
445
|
-
found = true;
|
446
|
-
} catch (error) {
|
447
|
-
// Not in common either, continue
|
448
|
-
}
|
449
|
-
}
|
450
|
-
|
451
|
-
if (!found) {
|
452
|
-
console.warn(
|
453
|
-
` ⚠ Dependency ${resourceType}#${resourceName} not found in expansion pack or core`
|
454
|
-
);
|
455
|
-
}
|
456
|
-
}
|
457
|
-
}
|
458
|
-
}
|
459
|
-
}
|
460
|
-
} catch (error) {
|
461
|
-
console.debug(`Failed to parse agent YAML for ${agentName}:`, error.message);
|
462
|
-
}
|
463
|
-
}
|
464
|
-
|
465
|
-
return sections.join("\n");
|
466
|
-
}
|
467
|
-
|
468
|
-
async buildExpansionTeamBundle(packName, packDir, teamConfigPath) {
|
469
|
-
const template = this.generateWebInstructions('expansion-team', packName);
|
470
|
-
|
471
|
-
const sections = [template];
|
472
|
-
|
473
|
-
// Add team configuration and parse to get agent list
|
474
|
-
const teamContent = await fs.readFile(teamConfigPath, "utf8");
|
475
|
-
const teamFileName = path.basename(teamConfigPath, ".yaml");
|
476
|
-
const teamConfig = this.parseYaml(teamContent);
|
477
|
-
const teamWebPath = this.convertToWebPath(teamConfigPath, packName);
|
478
|
-
sections.push(this.formatSection(teamWebPath, teamContent, packName));
|
479
|
-
|
480
|
-
// Get list of expansion pack agents
|
481
|
-
const expansionAgents = new Set();
|
482
|
-
const agentsDir = path.join(packDir, "agents");
|
483
|
-
try {
|
484
|
-
const agentFiles = await fs.readdir(agentsDir);
|
485
|
-
for (const agentFile of agentFiles.filter((f) => f.endsWith(".md"))) {
|
486
|
-
const agentName = agentFile.replace(".md", "");
|
487
|
-
expansionAgents.add(agentName);
|
488
|
-
}
|
489
|
-
} catch (error) {
|
490
|
-
console.warn(` ⚠ No agents directory found in ${packName}`);
|
491
|
-
}
|
492
|
-
|
493
|
-
// Build a map of all available expansion pack resources for override checking
|
494
|
-
const expansionResources = new Map();
|
495
|
-
const resourceDirs = ["templates", "tasks", "checklists", "workflows", "data"];
|
496
|
-
for (const resourceDir of resourceDirs) {
|
497
|
-
const resourcePath = path.join(packDir, resourceDir);
|
498
|
-
try {
|
499
|
-
const resourceFiles = await fs.readdir(resourcePath);
|
500
|
-
for (const resourceFile of resourceFiles.filter(
|
501
|
-
(f) => f.endsWith(".md") || f.endsWith(".yaml")
|
502
|
-
)) {
|
503
|
-
expansionResources.set(`${resourceDir}#${resourceFile}`, true);
|
504
|
-
}
|
505
|
-
} catch (error) {
|
506
|
-
// Directory might not exist, that's fine
|
507
|
-
}
|
508
|
-
}
|
509
|
-
|
510
|
-
// Process all agents listed in team configuration
|
511
|
-
const agentsToProcess = teamConfig.agents || [];
|
512
|
-
|
513
|
-
// Ensure bmad-orchestrator is always included for teams
|
514
|
-
if (!agentsToProcess.includes("bmad-orchestrator")) {
|
515
|
-
console.warn(` ⚠ Team ${teamFileName} missing bmad-orchestrator, adding automatically`);
|
516
|
-
agentsToProcess.unshift("bmad-orchestrator");
|
517
|
-
}
|
518
|
-
|
519
|
-
// Track all dependencies from all agents (deduplicated)
|
520
|
-
const allDependencies = new Map();
|
521
|
-
|
522
|
-
for (const agentId of agentsToProcess) {
|
523
|
-
if (expansionAgents.has(agentId)) {
|
524
|
-
// Use expansion pack version (override)
|
525
|
-
const agentPath = path.join(agentsDir, `${agentId}.md`);
|
526
|
-
const agentContent = await fs.readFile(agentPath, "utf8");
|
527
|
-
const expansionAgentWebPath = this.convertToWebPath(agentPath, packName);
|
528
|
-
sections.push(this.formatSection(expansionAgentWebPath, agentContent, packName));
|
529
|
-
|
530
|
-
// Parse and collect dependencies from expansion agent
|
531
|
-
const agentYaml = agentContent.match(/```yaml\n([\s\S]*?)\n```/);
|
532
|
-
if (agentYaml) {
|
533
|
-
try {
|
534
|
-
const agentConfig = this.parseYaml(agentYaml[1]);
|
535
|
-
if (agentConfig.dependencies) {
|
536
|
-
for (const [resourceType, resources] of Object.entries(agentConfig.dependencies)) {
|
537
|
-
if (Array.isArray(resources)) {
|
538
|
-
for (const resourceName of resources) {
|
539
|
-
const key = `${resourceType}#${resourceName}`;
|
540
|
-
if (!allDependencies.has(key)) {
|
541
|
-
allDependencies.set(key, { type: resourceType, name: resourceName });
|
542
|
-
}
|
543
|
-
}
|
544
|
-
}
|
545
|
-
}
|
546
|
-
}
|
547
|
-
} catch (error) {
|
548
|
-
console.debug(`Failed to parse agent YAML for ${agentId}:`, error.message);
|
549
|
-
}
|
550
|
-
}
|
551
|
-
} else {
|
552
|
-
// Use core BMad version
|
553
|
-
try {
|
554
|
-
const coreAgentPath = path.join(this.rootDir, "bmad-core", "agents", `${agentId}.md`);
|
555
|
-
const coreAgentContent = await fs.readFile(coreAgentPath, "utf8");
|
556
|
-
const coreAgentWebPath = this.convertToWebPath(coreAgentPath, packName);
|
557
|
-
sections.push(this.formatSection(coreAgentWebPath, coreAgentContent, packName));
|
558
|
-
|
559
|
-
// Parse and collect dependencies from core agent
|
560
|
-
const yamlContent = yamlUtils.extractYamlFromAgent(coreAgentContent, true);
|
561
|
-
if (yamlContent) {
|
562
|
-
try {
|
563
|
-
const agentConfig = this.parseYaml(yamlContent);
|
564
|
-
if (agentConfig.dependencies) {
|
565
|
-
for (const [resourceType, resources] of Object.entries(agentConfig.dependencies)) {
|
566
|
-
if (Array.isArray(resources)) {
|
567
|
-
for (const resourceName of resources) {
|
568
|
-
const key = `${resourceType}#${resourceName}`;
|
569
|
-
if (!allDependencies.has(key)) {
|
570
|
-
allDependencies.set(key, { type: resourceType, name: resourceName });
|
571
|
-
}
|
572
|
-
}
|
573
|
-
}
|
574
|
-
}
|
575
|
-
}
|
576
|
-
} catch (error) {
|
577
|
-
console.debug(`Failed to parse agent YAML for ${agentId}:`, error.message);
|
578
|
-
}
|
579
|
-
}
|
580
|
-
} catch (error) {
|
581
|
-
console.warn(` ⚠ Agent ${agentId} not found in core or expansion pack`);
|
582
|
-
}
|
583
|
-
}
|
584
|
-
}
|
585
|
-
|
586
|
-
// Add all collected dependencies from agents
|
587
|
-
// Always prefer expansion pack versions if they exist
|
588
|
-
for (const [key, dep] of allDependencies) {
|
589
|
-
let found = false;
|
590
|
-
|
591
|
-
// Always check expansion pack first, even if the dependency came from a core agent
|
592
|
-
if (expansionResources.has(key)) {
|
593
|
-
// We know it exists in expansion pack, find and load it
|
594
|
-
const expansionPath = path.join(packDir, dep.type, dep.name);
|
595
|
-
try {
|
596
|
-
const content = await fs.readFile(expansionPath, "utf8");
|
597
|
-
const expansionWebPath = this.convertToWebPath(expansionPath, packName);
|
598
|
-
sections.push(this.formatSection(expansionWebPath, content, packName));
|
599
|
-
console.log(` ✓ Using expansion override for ${key}`);
|
600
|
-
found = true;
|
601
|
-
} catch (error) {
|
602
|
-
// Try next extension
|
603
|
-
}
|
604
|
-
}
|
605
|
-
|
606
|
-
// If not found in expansion pack (or doesn't exist there), try core
|
607
|
-
if (!found) {
|
608
|
-
const corePath = path.join(this.rootDir, "bmad-core", dep.type, dep.name);
|
609
|
-
try {
|
610
|
-
const content = await fs.readFile(corePath, "utf8");
|
611
|
-
const coreWebPath = this.convertToWebPath(corePath, packName);
|
612
|
-
sections.push(this.formatSection(coreWebPath, content, packName));
|
613
|
-
found = true;
|
614
|
-
} catch (error) {
|
615
|
-
// Not in core either, continue
|
616
|
-
}
|
617
|
-
}
|
618
|
-
|
619
|
-
// If not found in core, try common folder
|
620
|
-
if (!found) {
|
621
|
-
const commonPath = path.join(this.rootDir, "common", dep.type, dep.name);
|
622
|
-
try {
|
623
|
-
const content = await fs.readFile(commonPath, "utf8");
|
624
|
-
const commonWebPath = this.convertToWebPath(commonPath, packName);
|
625
|
-
sections.push(this.formatSection(commonWebPath, content, packName));
|
626
|
-
found = true;
|
627
|
-
} catch (error) {
|
628
|
-
// Not in common either, continue
|
629
|
-
}
|
630
|
-
}
|
631
|
-
|
632
|
-
if (!found) {
|
633
|
-
console.warn(` ⚠ Dependency ${key} not found in expansion pack or core`);
|
634
|
-
}
|
635
|
-
}
|
636
|
-
|
637
|
-
// Add remaining expansion pack resources not already included as dependencies
|
638
|
-
for (const resourceDir of resourceDirs) {
|
639
|
-
const resourcePath = path.join(packDir, resourceDir);
|
640
|
-
try {
|
641
|
-
const resourceFiles = await fs.readdir(resourcePath);
|
642
|
-
for (const resourceFile of resourceFiles.filter(
|
643
|
-
(f) => f.endsWith(".md") || f.endsWith(".yaml")
|
644
|
-
)) {
|
645
|
-
const filePath = path.join(resourcePath, resourceFile);
|
646
|
-
const fileContent = await fs.readFile(filePath, "utf8");
|
647
|
-
const fileName = resourceFile.replace(/\.(md|yaml)$/, "");
|
648
|
-
|
649
|
-
// Only add if not already included as a dependency
|
650
|
-
const resourceKey = `${resourceDir}#${fileName}`;
|
651
|
-
if (!allDependencies.has(resourceKey)) {
|
652
|
-
const fullResourcePath = path.join(resourcePath, resourceFile);
|
653
|
-
const resourceWebPath = this.convertToWebPath(fullResourcePath, packName);
|
654
|
-
sections.push(this.formatSection(resourceWebPath, fileContent, packName));
|
655
|
-
}
|
656
|
-
}
|
657
|
-
} catch (error) {
|
658
|
-
// Directory might not exist, that's fine
|
659
|
-
}
|
660
|
-
}
|
661
|
-
|
662
|
-
return sections.join("\n");
|
663
|
-
}
|
664
|
-
|
665
|
-
async listExpansionPacks() {
|
666
|
-
const expansionPacksDir = path.join(this.rootDir, "expansion-packs");
|
667
|
-
try {
|
668
|
-
const entries = await fs.readdir(expansionPacksDir, { withFileTypes: true });
|
669
|
-
return entries.filter((entry) => entry.isDirectory()).map((entry) => entry.name);
|
670
|
-
} catch (error) {
|
671
|
-
console.warn("No expansion-packs directory found");
|
672
|
-
return [];
|
673
|
-
}
|
674
|
-
}
|
675
|
-
|
676
|
-
listAgents() {
|
677
|
-
return this.resolver.listAgents();
|
678
|
-
}
|
679
|
-
}
|
680
|
-
|
681
|
-
module.exports = WebBuilder;
|