bmad-method 6.0.0-alpha.1 → 6.0.0-alpha.11
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/.github/ISSUE_TEMPLATE/idea_submission.md +1 -1
- package/.github/workflows/bundle-latest.yaml +277 -0
- package/.github/workflows/manual-release.yaml +64 -17
- package/.github/workflows/{lint.yaml → quality.yaml} +19 -2
- package/.husky/pre-commit +4 -0
- package/.prettierignore +4 -0
- package/.vscode/settings.json +3 -1
- package/CHANGELOG.md +321 -12
- package/CONTRIBUTING.md +1 -13
- package/README.md +138 -187
- package/docs/BUNDLE_DISTRIBUTION_SETUP.md +95 -0
- package/docs/agent-customization-guide.md +208 -0
- package/docs/custom-agent-installation.md +169 -0
- package/docs/document-sharding-guide.md +449 -0
- package/docs/ide-info/crush.md +1 -1
- package/docs/ide-info/cursor.md +7 -7
- package/docs/ide-info/iflow.md +3 -3
- package/docs/ide-info/opencode.md +1 -1
- package/docs/index.md +227 -0
- package/docs/installers-bundlers/ide-injections.md +2 -2
- package/docs/installers-bundlers/installers-modules-platforms-reference.md +80 -19
- package/docs/v4-to-v6-upgrade.md +21 -19
- package/docs/v6-open-items.md +17 -0
- package/docs/web-bundles-gemini-gpt-guide.md +473 -0
- package/eslint.config.mjs +2 -0
- package/package.json +6 -3
- package/src/core/_module-installer/install-config.yaml +17 -10
- package/src/core/_module-installer/installer.js +0 -8
- package/src/core/agents/bmad-master.agent.yaml +5 -5
- package/src/core/agents/bmad-web-orchestrator.agent.xml +8 -17
- package/src/core/resources/excalidraw/README.md +160 -0
- package/src/core/resources/excalidraw/excalidraw-helpers.md +127 -0
- package/src/core/resources/excalidraw/library-loader.md +50 -0
- package/src/core/resources/excalidraw/validate-json-instructions.md +79 -0
- package/src/core/tasks/advanced-elicitation-methods.csv +21 -0
- package/{bmad/core/tasks/adv-elicit.xml → src/core/tasks/advanced-elicitation.xml} +6 -4
- package/src/core/tasks/index-docs.xml +1 -1
- package/src/core/tasks/validate-workflow.xml +1 -1
- package/src/core/tasks/workflow.xml +126 -22
- package/src/core/tools/shard-doc.xml +54 -45
- package/src/core/workflows/brainstorming/README.md +6 -16
- package/src/core/workflows/brainstorming/instructions.md +6 -5
- package/src/core/workflows/brainstorming/template.md +4 -0
- package/src/core/workflows/brainstorming/workflow.yaml +8 -13
- package/src/core/workflows/party-mode/instructions.md +2 -7
- package/src/core/workflows/party-mode/workflow.yaml +11 -6
- package/src/modules/bmb/README.md +135 -73
- package/src/modules/bmb/_module-installer/install-config.yaml +9 -4
- package/src/modules/bmb/agents/bmad-builder.agent.yaml +11 -12
- package/src/modules/bmb/docs/agent-compilation.md +340 -0
- package/src/modules/bmb/docs/agent-menu-patterns.md +524 -0
- package/src/modules/bmb/docs/expert-agent-architecture.md +364 -0
- package/src/modules/bmb/docs/index.md +55 -0
- package/src/modules/bmb/docs/module-agent-architecture.md +367 -0
- package/src/modules/bmb/docs/simple-agent-architecture.md +288 -0
- package/src/modules/bmb/docs/understanding-agent-types.md +184 -0
- package/src/modules/bmb/reference/agents/expert-examples/journal-keeper/README.md +242 -0
- package/src/modules/bmb/reference/agents/expert-examples/journal-keeper/journal-keeper-sidecar/breakthroughs.md +24 -0
- package/src/modules/bmb/reference/agents/expert-examples/journal-keeper/journal-keeper-sidecar/instructions.md +108 -0
- package/src/modules/bmb/reference/agents/expert-examples/journal-keeper/journal-keeper-sidecar/memories.md +46 -0
- package/src/modules/bmb/reference/agents/expert-examples/journal-keeper/journal-keeper-sidecar/mood-patterns.md +39 -0
- package/src/modules/bmb/reference/agents/expert-examples/journal-keeper/journal-keeper.agent.yaml +152 -0
- package/src/modules/bmb/reference/agents/module-examples/README.md +50 -0
- package/src/modules/bmb/reference/agents/module-examples/security-engineer.agent.yaml +53 -0
- package/src/modules/bmb/reference/agents/module-examples/trend-analyst.agent.yaml +57 -0
- package/src/modules/bmb/reference/agents/simple-examples/README.md +223 -0
- package/src/modules/bmb/reference/agents/simple-examples/commit-poet.agent.yaml +126 -0
- package/src/modules/bmb/reference/readme.md +3 -0
- package/src/modules/bmb/workflows/audit-workflow/checklist.md +5 -6
- package/src/modules/bmb/workflows/audit-workflow/instructions.md +6 -6
- package/src/modules/bmb/workflows/audit-workflow/workflow.yaml +2 -2
- package/src/modules/bmb/workflows/convert-legacy/README.md +5 -5
- package/src/modules/bmb/workflows/convert-legacy/checklist.md +2 -2
- package/src/modules/bmb/workflows/convert-legacy/instructions.md +17 -17
- package/src/modules/bmb/workflows/convert-legacy/workflow.yaml +6 -10
- package/src/modules/bmb/workflows/create-agent/agent-validation-checklist.md +174 -0
- package/src/modules/bmb/workflows/create-agent/brainstorm-context.md +99 -120
- package/src/modules/bmb/workflows/create-agent/communication-presets.csv +61 -0
- package/src/modules/bmb/workflows/create-agent/instructions.md +171 -82
- package/src/modules/bmb/workflows/create-agent/workflow.yaml +26 -20
- package/src/modules/bmb/workflows/create-module/README.md +163 -154
- package/src/modules/bmb/workflows/create-module/checklist.md +1 -10
- package/src/modules/bmb/workflows/create-module/installer-templates/install-config.yaml +1 -1
- package/src/modules/bmb/workflows/create-module/instructions.md +13 -17
- package/src/modules/bmb/workflows/create-module/module-structure.md +39 -5
- package/src/modules/bmb/workflows/create-module/workflow.yaml +21 -13
- package/src/modules/bmb/workflows/create-workflow/README.md +4 -4
- package/src/modules/bmb/workflows/create-workflow/checklist.md +1 -1
- package/src/modules/bmb/workflows/create-workflow/instructions.md +46 -37
- package/src/modules/bmb/workflows/create-workflow/workflow-creation-guide.md +219 -42
- package/src/modules/bmb/workflows/create-workflow/workflow-template/instructions.md +4 -2
- package/src/modules/bmb/workflows/create-workflow/workflow-template/workflow.yaml +12 -16
- package/src/modules/bmb/workflows/create-workflow/workflow.yaml +7 -8
- package/src/modules/bmb/workflows/edit-agent/README.md +174 -47
- package/src/modules/bmb/workflows/edit-agent/instructions.md +399 -35
- package/src/modules/bmb/workflows/edit-agent/workflow.yaml +27 -13
- package/src/modules/bmb/workflows/edit-module/README.md +2 -2
- package/src/modules/bmb/workflows/edit-module/checklist.md +2 -2
- package/src/modules/bmb/workflows/edit-module/instructions.md +7 -5
- package/src/modules/bmb/workflows/edit-module/workflow.yaml +11 -13
- package/src/modules/bmb/workflows/edit-workflow/instructions.md +4 -4
- package/src/modules/bmb/workflows/edit-workflow/workflow.yaml +6 -8
- package/src/modules/bmb/workflows/module-brief/README.md +2 -2
- package/src/modules/bmb/workflows/module-brief/checklist.md +2 -2
- package/src/modules/bmb/workflows/module-brief/instructions.md +3 -2
- package/src/modules/bmb/workflows/module-brief/workflow.yaml +12 -7
- package/src/modules/bmgd/README.md +208 -0
- package/src/modules/bmgd/_module-installer/install-config.yaml +54 -0
- package/src/modules/bmgd/agents/game-architect.agent.yaml +33 -0
- package/src/modules/bmgd/agents/game-designer.agent.yaml +40 -0
- package/src/modules/bmgd/agents/game-dev.agent.yaml +40 -0
- package/src/modules/bmgd/agents/game-scrum-master.agent.yaml +75 -0
- package/src/modules/bmgd/teams/default-party.csv +10 -0
- package/src/modules/{bmm → bmgd}/teams/team-gamedev.yaml +5 -1
- package/src/modules/bmgd/workflows/1-preproduction/brainstorm-game/instructions.md +130 -0
- package/src/modules/{bmm/workflows/1-analysis → bmgd/workflows/1-preproduction}/brainstorm-game/workflow.yaml +10 -10
- package/src/modules/{bmm/workflows/1-analysis → bmgd/workflows/1-preproduction}/game-brief/instructions.md +44 -28
- package/src/modules/{bmm/workflows/1-analysis → bmgd/workflows/1-preproduction}/game-brief/workflow.yaml +9 -17
- package/src/modules/{bmm/workflows/2-plan-workflows → bmgd/workflows/2-design}/gdd/instructions-gdd.md +58 -31
- package/src/modules/bmgd/workflows/2-design/gdd/workflow.yaml +81 -0
- package/src/modules/{bmm/workflows/2-plan-workflows → bmgd/workflows/2-design}/narrative/instructions-narrative.md +75 -28
- package/src/modules/{bmm/workflows/2-plan-workflows → bmgd/workflows/2-design}/narrative/workflow.yaml +6 -12
- package/src/modules/bmgd/workflows/3-technical/game-architecture/architecture-patterns.yaml +321 -0
- package/src/modules/bmgd/workflows/3-technical/game-architecture/architecture-template.md +103 -0
- package/src/modules/bmgd/workflows/3-technical/game-architecture/checklist.md +240 -0
- package/src/modules/bmgd/workflows/3-technical/game-architecture/decision-catalog.yaml +222 -0
- package/src/modules/bmgd/workflows/3-technical/game-architecture/instructions.md +701 -0
- package/src/modules/bmgd/workflows/3-technical/game-architecture/pattern-categories.csv +13 -0
- package/src/modules/bmgd/workflows/3-technical/game-architecture/workflow.yaml +69 -0
- package/src/modules/bmgd/workflows/4-production/code-review/backlog_template.md +12 -0
- package/src/modules/bmgd/workflows/4-production/code-review/checklist.md +22 -0
- package/src/modules/bmgd/workflows/4-production/code-review/instructions.md +398 -0
- package/src/modules/bmgd/workflows/4-production/code-review/workflow.yaml +61 -0
- package/src/modules/bmgd/workflows/4-production/correct-course/checklist.md +279 -0
- package/src/modules/bmgd/workflows/4-production/correct-course/instructions.md +206 -0
- package/src/modules/bmgd/workflows/4-production/correct-course/workflow.yaml +58 -0
- package/src/modules/bmgd/workflows/4-production/create-story/checklist.md +240 -0
- package/src/modules/bmgd/workflows/4-production/create-story/instructions.md +256 -0
- package/src/modules/bmgd/workflows/4-production/create-story/template.md +51 -0
- package/src/modules/bmgd/workflows/4-production/create-story/workflow.yaml +74 -0
- package/src/modules/bmgd/workflows/4-production/dev-story/checklist.md +38 -0
- package/src/modules/bmgd/workflows/4-production/dev-story/instructions.md +267 -0
- package/src/modules/bmgd/workflows/4-production/dev-story/workflow.yaml +58 -0
- package/src/modules/bmgd/workflows/4-production/epic-tech-context/checklist.md +17 -0
- package/src/modules/bmgd/workflows/4-production/epic-tech-context/instructions.md +164 -0
- package/src/modules/bmgd/workflows/4-production/epic-tech-context/template.md +76 -0
- package/src/modules/bmgd/workflows/4-production/epic-tech-context/workflow.yaml +58 -0
- package/src/modules/bmgd/workflows/4-production/retrospective/instructions.md +1443 -0
- package/src/modules/bmgd/workflows/4-production/retrospective/workflow.yaml +57 -0
- package/src/modules/bmgd/workflows/4-production/sprint-planning/checklist.md +33 -0
- package/src/modules/bmgd/workflows/4-production/sprint-planning/instructions.md +234 -0
- package/src/modules/bmgd/workflows/4-production/sprint-planning/sprint-status-template.yaml +55 -0
- package/src/modules/bmgd/workflows/4-production/sprint-planning/workflow.yaml +51 -0
- package/src/modules/bmgd/workflows/4-production/story-context/checklist.md +16 -0
- package/src/modules/bmgd/workflows/4-production/story-context/context-template.xml +34 -0
- package/src/modules/bmgd/workflows/4-production/story-context/instructions.md +209 -0
- package/src/modules/bmgd/workflows/4-production/story-context/workflow.yaml +63 -0
- package/src/modules/bmgd/workflows/4-production/story-done/instructions.md +111 -0
- package/src/modules/bmgd/workflows/4-production/story-done/workflow.yaml +28 -0
- package/src/modules/bmgd/workflows/4-production/story-ready/instructions.md +117 -0
- package/src/modules/bmgd/workflows/4-production/story-ready/workflow.yaml +25 -0
- package/src/modules/bmm/README.md +79 -92
- package/src/modules/bmm/_module-installer/install-config.yaml +9 -23
- package/src/modules/bmm/_module-installer/installer.js +2 -2
- package/src/modules/bmm/agents/analyst.agent.yaml +25 -19
- package/src/modules/bmm/agents/architect.agent.yaml +28 -19
- package/src/modules/bmm/agents/dev.agent.yaml +12 -15
- package/src/modules/bmm/agents/pm.agent.yaml +40 -22
- package/src/modules/bmm/agents/sm.agent.yaml +30 -24
- package/src/modules/bmm/agents/tea.agent.yaml +25 -17
- package/src/modules/bmm/agents/tech-writer.agent.yaml +80 -0
- package/src/modules/bmm/agents/ux-designer.agent.yaml +22 -12
- package/src/modules/bmm/docs/README.md +240 -0
- package/src/modules/bmm/docs/agents-guide.md +1058 -0
- package/src/modules/bmm/docs/brownfield-guide.md +762 -0
- package/src/modules/bmm/docs/enterprise-agentic-development.md +686 -0
- package/src/modules/bmm/docs/faq.md +588 -0
- package/src/modules/bmm/docs/glossary.md +320 -0
- package/src/modules/bmm/docs/images/workflow-method-greenfield.excalidraw +5919 -0
- package/src/modules/bmm/docs/images/workflow-method-greenfield.svg +2 -0
- package/src/modules/bmm/docs/party-mode.md +224 -0
- package/src/modules/bmm/docs/quick-spec-flow.md +652 -0
- package/src/modules/bmm/docs/quick-start.md +382 -0
- package/src/modules/bmm/docs/scale-adaptive-system.md +618 -0
- package/src/modules/bmm/docs/test-architecture.md +396 -0
- package/src/modules/bmm/{workflows/3-solutioning/architecture/readme.md → docs/workflow-architecture-reference.md} +132 -84
- package/src/modules/bmm/{workflows/document-project/README.md → docs/workflow-document-project-reference.md} +49 -4
- package/src/modules/bmm/docs/workflows-analysis.md +370 -0
- package/src/modules/bmm/docs/workflows-implementation.md +296 -0
- package/src/modules/bmm/docs/workflows-planning.md +612 -0
- package/src/modules/bmm/docs/workflows-solutioning.md +554 -0
- package/src/modules/bmm/teams/default-party.csv +20 -0
- package/src/modules/bmm/teams/team-fullstack.yaml +2 -0
- package/src/modules/bmm/workflows/1-analysis/brainstorm-project/instructions.md +45 -24
- package/src/modules/bmm/workflows/1-analysis/brainstorm-project/workflow.yaml +8 -8
- package/src/modules/bmm/workflows/1-analysis/domain-research/instructions.md +425 -0
- package/src/modules/bmm/workflows/1-analysis/domain-research/template.md +180 -0
- package/src/modules/bmm/workflows/1-analysis/domain-research/workflow.yaml +56 -0
- package/src/modules/bmm/workflows/1-analysis/product-brief/instructions.md +435 -232
- package/src/modules/bmm/workflows/1-analysis/product-brief/template.md +93 -77
- package/src/modules/bmm/workflows/1-analysis/product-brief/workflow.yaml +32 -14
- package/src/modules/bmm/workflows/1-analysis/research/checklist-deep-prompt.md +144 -0
- package/src/modules/bmm/workflows/1-analysis/research/checklist-technical.md +249 -0
- package/src/modules/bmm/workflows/1-analysis/research/checklist.md +156 -59
- package/src/modules/bmm/workflows/1-analysis/research/instructions-deep-prompt.md +70 -65
- package/src/modules/bmm/workflows/1-analysis/research/instructions-market.md +205 -143
- package/src/modules/bmm/workflows/1-analysis/research/instructions-router.md +55 -46
- package/src/modules/bmm/workflows/1-analysis/research/instructions-technical.md +116 -83
- package/src/modules/bmm/workflows/1-analysis/research/template-market.md +37 -1
- package/src/modules/bmm/workflows/1-analysis/research/template-technical.md +36 -1
- package/src/modules/bmm/workflows/1-analysis/research/workflow.yaml +25 -12
- package/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/instructions.md +51 -26
- package/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/workflow.yaml +67 -16
- package/src/modules/bmm/workflows/2-plan-workflows/prd/checklist.md +292 -63
- package/src/modules/bmm/workflows/2-plan-workflows/prd/domain-complexity.csv +13 -0
- package/src/modules/bmm/workflows/2-plan-workflows/prd/instructions.md +544 -290
- package/src/modules/bmm/workflows/2-plan-workflows/prd/prd-template.md +165 -23
- package/src/modules/bmm/workflows/2-plan-workflows/prd/project-types.csv +11 -0
- package/src/modules/bmm/workflows/2-plan-workflows/prd/workflow.yaml +50 -18
- package/src/modules/bmm/workflows/2-plan-workflows/tech-spec/checklist.md +146 -36
- package/src/modules/bmm/workflows/2-plan-workflows/tech-spec/epics-template.md +67 -4
- package/src/modules/bmm/workflows/2-plan-workflows/tech-spec/instructions-generate-stories.md +436 -0
- package/src/modules/bmm/workflows/2-plan-workflows/tech-spec/instructions.md +874 -163
- package/src/modules/bmm/workflows/2-plan-workflows/tech-spec/tech-spec-template.md +132 -6
- package/src/modules/bmm/workflows/2-plan-workflows/tech-spec/user-story-template.md +54 -20
- package/src/modules/bmm/workflows/2-plan-workflows/tech-spec/workflow.yaml +36 -28
- package/src/modules/bmm/workflows/3-solutioning/architecture/architecture-patterns.yaml +0 -26
- package/src/modules/bmm/workflows/3-solutioning/architecture/architecture-template.md +1 -1
- package/src/modules/bmm/workflows/3-solutioning/architecture/checklist.md +5 -9
- package/src/modules/bmm/workflows/3-solutioning/architecture/instructions.md +215 -150
- package/src/modules/bmm/workflows/3-solutioning/architecture/workflow.yaml +72 -26
- package/src/modules/bmm/workflows/3-solutioning/create-epics-and-stories/epics-template.md +80 -0
- package/src/modules/bmm/workflows/3-solutioning/create-epics-and-stories/instructions.md +616 -0
- package/src/modules/bmm/workflows/3-solutioning/create-epics-and-stories/workflow.yaml +63 -0
- package/src/modules/bmm/workflows/3-solutioning/{solutioning-gate-check → implementation-readiness}/checklist.md +7 -13
- package/src/modules/bmm/workflows/3-solutioning/implementation-readiness/instructions.md +332 -0
- package/src/modules/bmm/workflows/3-solutioning/{solutioning-gate-check → implementation-readiness}/template.md +1 -1
- package/src/modules/bmm/workflows/3-solutioning/implementation-readiness/workflow.yaml +64 -0
- package/src/modules/bmm/workflows/4-implementation/code-review/instructions.md +25 -18
- package/src/modules/bmm/workflows/4-implementation/code-review/workflow.yaml +31 -26
- package/src/modules/bmm/workflows/4-implementation/correct-course/checklist.md +1 -1
- package/src/modules/bmm/workflows/4-implementation/correct-course/instructions.md +7 -2
- package/src/modules/bmm/workflows/4-implementation/correct-course/workflow.yaml +38 -25
- package/src/modules/bmm/workflows/4-implementation/create-story/instructions.md +22 -18
- package/src/modules/bmm/workflows/4-implementation/create-story/workflow.yaml +38 -14
- package/src/modules/bmm/workflows/4-implementation/dev-story/instructions.md +8 -3
- package/src/modules/bmm/workflows/4-implementation/dev-story/workflow.yaml +35 -5
- package/src/modules/bmm/workflows/4-implementation/epic-tech-context/checklist.md +1 -1
- package/src/modules/bmm/workflows/4-implementation/epic-tech-context/instructions.md +10 -6
- package/src/modules/bmm/workflows/4-implementation/epic-tech-context/workflow.yaml +40 -16
- package/src/modules/bmm/workflows/4-implementation/retrospective/instructions.md +1207 -243
- package/src/modules/bmm/workflows/4-implementation/retrospective/workflow.yaml +38 -26
- package/src/modules/bmm/workflows/4-implementation/sprint-planning/instructions.md +28 -15
- package/src/modules/bmm/workflows/4-implementation/sprint-planning/sprint-status-template.yaml +1 -1
- package/src/modules/bmm/workflows/4-implementation/sprint-planning/workflow.yaml +16 -6
- package/src/modules/bmm/workflows/4-implementation/story-context/checklist.md +1 -1
- package/src/modules/bmm/workflows/4-implementation/story-context/context-template.xml +1 -1
- package/src/modules/bmm/workflows/4-implementation/story-context/instructions.md +23 -15
- package/src/modules/bmm/workflows/4-implementation/story-context/workflow.yaml +39 -8
- package/src/modules/bmm/workflows/4-implementation/story-done/instructions.md +1 -1
- package/src/modules/bmm/workflows/4-implementation/story-done/workflow.yaml +5 -4
- package/src/modules/bmm/workflows/4-implementation/story-ready/instructions.md +6 -6
- package/src/modules/bmm/workflows/4-implementation/story-ready/workflow.yaml +5 -7
- package/src/modules/bmm/workflows/diagrams/_shared/excalidraw-library.json +90 -0
- package/src/modules/bmm/workflows/diagrams/_shared/excalidraw-templates.yaml +127 -0
- package/src/modules/bmm/workflows/diagrams/create-dataflow/checklist.md +39 -0
- package/src/modules/bmm/workflows/diagrams/create-dataflow/instructions.md +130 -0
- package/src/modules/bmm/workflows/diagrams/create-dataflow/workflow.yaml +27 -0
- package/src/modules/bmm/workflows/diagrams/create-diagram/checklist.md +43 -0
- package/src/modules/bmm/workflows/diagrams/create-diagram/instructions.md +141 -0
- package/src/modules/bmm/workflows/diagrams/create-diagram/workflow.yaml +27 -0
- package/src/modules/bmm/workflows/diagrams/create-flowchart/checklist.md +49 -0
- package/src/modules/bmm/workflows/diagrams/create-flowchart/instructions.md +241 -0
- package/src/modules/bmm/workflows/diagrams/create-flowchart/workflow.yaml +27 -0
- package/src/modules/bmm/workflows/diagrams/create-wireframe/checklist.md +38 -0
- package/src/modules/bmm/workflows/diagrams/create-wireframe/instructions.md +133 -0
- package/src/modules/bmm/workflows/diagrams/create-wireframe/workflow.yaml +27 -0
- package/src/modules/bmm/workflows/document-project/checklist.md +1 -1
- package/src/modules/bmm/workflows/document-project/instructions.md +5 -5
- package/src/modules/bmm/workflows/document-project/workflow.yaml +2 -7
- package/src/modules/bmm/workflows/document-project/workflows/deep-dive-instructions.md +4 -4
- package/src/modules/bmm/workflows/document-project/workflows/deep-dive.yaml +5 -5
- package/src/modules/bmm/workflows/document-project/workflows/full-scan-instructions.md +13 -13
- package/src/modules/bmm/workflows/document-project/workflows/full-scan.yaml +5 -5
- package/src/modules/bmm/workflows/techdoc/documentation-standards.md +262 -0
- package/src/modules/bmm/workflows/testarch/atdd/atdd-checklist-template.md +2 -2
- package/src/modules/bmm/workflows/testarch/atdd/instructions.md +2 -2
- package/src/modules/bmm/workflows/testarch/atdd/workflow.yaml +2 -9
- package/src/modules/bmm/workflows/testarch/automate/instructions.md +2 -2
- package/src/modules/bmm/workflows/testarch/automate/workflow.yaml +2 -11
- package/src/modules/bmm/workflows/testarch/ci/checklist.md +4 -4
- package/src/modules/bmm/workflows/testarch/ci/instructions.md +2 -2
- package/src/modules/bmm/workflows/testarch/ci/workflow.yaml +2 -10
- package/src/modules/bmm/workflows/testarch/framework/checklist.md +4 -4
- package/src/modules/bmm/workflows/testarch/framework/instructions.md +2 -2
- package/src/modules/bmm/workflows/testarch/framework/workflow.yaml +2 -8
- package/src/modules/bmm/workflows/testarch/nfr-assess/instructions.md +1 -1
- package/src/modules/bmm/workflows/testarch/nfr-assess/workflow.yaml +2 -11
- package/src/modules/bmm/workflows/testarch/test-design/checklist.md +4 -4
- package/src/modules/bmm/workflows/testarch/test-design/instructions.md +175 -14
- package/src/modules/bmm/workflows/testarch/test-design/test-design-template.md +4 -4
- package/src/modules/bmm/workflows/testarch/test-design/workflow.yaml +7 -11
- package/src/modules/bmm/workflows/testarch/test-review/instructions.md +1 -1
- package/src/modules/bmm/workflows/testarch/test-review/workflow.yaml +2 -9
- package/src/modules/bmm/workflows/testarch/trace/instructions.md +9 -9
- package/src/modules/bmm/workflows/testarch/trace/workflow.yaml +2 -13
- package/src/modules/bmm/workflows/workflow-status/init/instructions.md +249 -212
- package/src/modules/bmm/workflows/workflow-status/init/workflow.yaml +6 -5
- package/src/modules/bmm/workflows/workflow-status/instructions.md +177 -113
- package/src/modules/bmm/workflows/workflow-status/paths/enterprise-brownfield.yaml +126 -0
- package/src/modules/bmm/workflows/workflow-status/paths/enterprise-greenfield.yaml +114 -0
- package/src/modules/bmm/workflows/workflow-status/paths/{brownfield-level-3.yaml → method-brownfield.yaml} +48 -33
- package/src/modules/bmm/workflows/workflow-status/paths/method-greenfield.yaml +101 -0
- package/src/modules/bmm/workflows/workflow-status/paths/{brownfield-level-1.yaml → quick-flow-brownfield.yaml} +18 -18
- package/src/modules/bmm/workflows/workflow-status/paths/{greenfield-level-1.yaml → quick-flow-greenfield.yaml} +16 -18
- package/src/modules/bmm/workflows/workflow-status/project-levels.yaml +1 -1
- package/src/modules/bmm/workflows/workflow-status/workflow-status-template.yaml +24 -0
- package/src/modules/bmm/workflows/workflow-status/workflow.yaml +5 -5
- package/src/modules/cis/README.md +153 -0
- package/src/modules/cis/_module-installer/install-config.yaml +6 -4
- package/src/modules/cis/agents/README.md +1 -1
- package/src/modules/cis/agents/brainstorming-coach.agent.yaml +13 -8
- package/src/modules/cis/agents/creative-problem-solver.agent.yaml +13 -8
- package/src/modules/cis/agents/design-thinking-coach.agent.yaml +13 -8
- package/src/modules/cis/agents/innovation-strategist.agent.yaml +13 -8
- package/src/modules/cis/agents/presentation-master.agent.yaml +60 -0
- package/src/modules/cis/agents/storyteller.agent.yaml +13 -8
- package/src/modules/cis/teams/creative-squad.yaml +1 -0
- package/src/modules/cis/teams/default-party.csv +11 -0
- package/src/modules/cis/workflows/README.md +102 -30
- package/src/modules/cis/workflows/design-thinking/instructions.md +4 -2
- package/src/modules/cis/workflows/design-thinking/workflow.yaml +7 -12
- package/src/modules/cis/workflows/innovation-strategy/instructions.md +7 -5
- package/src/modules/cis/workflows/innovation-strategy/template.md +3 -3
- package/src/modules/cis/workflows/innovation-strategy/workflow.yaml +7 -12
- package/src/modules/cis/workflows/problem-solving/instructions.md +4 -2
- package/src/modules/cis/workflows/problem-solving/workflow.yaml +7 -12
- package/src/modules/cis/workflows/storytelling/instructions.md +14 -4
- package/src/modules/cis/workflows/storytelling/workflow.yaml +7 -12
- package/src/utility/models/action-command-header.md +0 -0
- package/src/utility/models/agent-activation-ide.xml +3 -3
- package/src/utility/models/agent-activation-web.xml +4 -4
- package/src/utility/models/agent-command-header.md +1 -0
- package/src/utility/models/fragments/activation-steps.xml +3 -2
- package/src/utility/models/fragments/handler-validate-workflow.xml +1 -1
- package/src/utility/models/fragments/handler-workflow.xml +1 -1
- package/src/utility/models/fragments/web-bundle-activation-steps.xml +3 -3
- package/test/test-installation-components.js +214 -0
- package/tools/bmad-npx-wrapper.js +10 -98
- package/tools/cli/README.md +50 -32
- package/tools/cli/bundlers/web-bundler.js +322 -26
- package/tools/cli/commands/agent-install.js +409 -0
- package/tools/cli/commands/install.js +2 -5
- package/tools/cli/installers/lib/core/config-collector.js +279 -39
- package/tools/cli/installers/lib/core/detector.js +62 -7
- package/tools/cli/installers/lib/core/ide-config-manager.js +3 -1
- package/tools/cli/installers/lib/core/installer.js +338 -46
- package/tools/cli/installers/lib/core/manifest-generator.js +33 -117
- package/tools/cli/installers/lib/core/manifest.js +6 -2
- package/tools/cli/installers/lib/ide/_base-ide.js +82 -3
- package/tools/cli/installers/lib/ide/antigravity.js +463 -0
- package/tools/cli/installers/lib/ide/auggie.js +81 -238
- package/tools/cli/installers/lib/ide/claude-code.js +90 -25
- package/tools/cli/installers/lib/ide/cline.js +15 -18
- package/tools/cli/installers/lib/ide/codex.js +225 -71
- package/tools/cli/installers/lib/ide/crush.js +14 -50
- package/tools/cli/installers/lib/ide/cursor.js +116 -8
- package/tools/cli/installers/lib/ide/gemini.js +87 -37
- package/tools/cli/installers/lib/ide/github-copilot.js +121 -35
- package/tools/cli/installers/lib/ide/iflow.js +13 -30
- package/tools/cli/installers/lib/ide/kilo.js +20 -16
- package/tools/cli/installers/lib/ide/manager.js +50 -0
- package/tools/cli/installers/lib/ide/opencode.js +61 -17
- package/tools/cli/installers/lib/ide/qwen.js +39 -11
- package/tools/cli/installers/lib/ide/roo.js +27 -62
- package/tools/cli/installers/lib/ide/shared/agent-command-generator.js +90 -0
- package/tools/cli/installers/lib/ide/{task-tool-command-generator.js → shared/task-tool-command-generator.js} +1 -1
- package/tools/cli/installers/lib/ide/{workflow-command-generator.js → shared/workflow-command-generator.js} +11 -9
- package/tools/cli/installers/lib/ide/templates/agent-command-template.md +14 -0
- package/tools/cli/installers/lib/ide/templates/gemini-agent-command.toml +14 -0
- package/tools/cli/installers/lib/ide/templates/gemini-task-command.toml +12 -0
- package/tools/cli/installers/lib/ide/{workflow-command-template.md → templates/workflow-command-template.md} +3 -5
- package/tools/cli/installers/lib/ide/trae.js +20 -32
- package/tools/cli/installers/lib/ide/windsurf.js +65 -8
- package/tools/cli/installers/lib/modules/manager.js +213 -7
- package/tools/cli/lib/agent/compiler.js +390 -0
- package/tools/cli/lib/agent/installer.js +725 -0
- package/tools/cli/lib/agent/template-engine.js +152 -0
- package/tools/cli/lib/cli-utils.js +52 -50
- package/tools/cli/lib/config.js +3 -1
- package/tools/cli/lib/ui.js +34 -17
- package/tools/cli/lib/xml-handler.js +1 -0
- package/tools/cli/lib/yaml-format.js +2 -1
- package/tools/cli/lib/yaml-xml-builder.js +76 -8
- package/tools/schema/agent.js +12 -3
- package/.claude/commands/bmad/bmb/agents/bmad-builder.md +0 -70
- package/.claude/commands/bmad/bmb/workflows/README.md +0 -67
- package/.claude/commands/bmad/bmb/workflows/audit-workflow.md +0 -15
- package/.claude/commands/bmad/bmb/workflows/convert-legacy.md +0 -15
- package/.claude/commands/bmad/bmb/workflows/create-agent.md +0 -15
- package/.claude/commands/bmad/bmb/workflows/create-module.md +0 -15
- package/.claude/commands/bmad/bmb/workflows/create-workflow.md +0 -15
- package/.claude/commands/bmad/bmb/workflows/edit-agent.md +0 -15
- package/.claude/commands/bmad/bmb/workflows/edit-module.md +0 -15
- package/.claude/commands/bmad/bmb/workflows/edit-workflow.md +0 -15
- package/.claude/commands/bmad/bmb/workflows/module-brief.md +0 -15
- package/.claude/commands/bmad/bmb/workflows/redoc.md +0 -15
- package/.claude/commands/bmad/bmd/agents/cli-chief.md +0 -108
- package/.claude/commands/bmad/bmd/agents/doc-keeper.md +0 -115
- package/.claude/commands/bmad/bmd/agents/release-chief.md +0 -109
- package/.claude/commands/bmad/core/agents/bmad-master.md +0 -71
- package/.claude/commands/bmad/core/tasks/index-docs.md +0 -9
- package/.claude/commands/bmad/core/tools/shard-doc.md +0 -9
- package/.claude/commands/bmad/core/workflows/README.md +0 -27
- package/.claude/commands/bmad/core/workflows/brainstorming.md +0 -15
- package/.claude/commands/bmad/core/workflows/party-mode.md +0 -15
- package/.claude/hooks/bmad-tts-injector.sh +0 -415
- package/.claude/hooks/bmad-voice-manager.sh +0 -511
- package/.claude/hooks/check-output-style.sh +0 -112
- package/.claude/hooks/download-extra-voices.sh +0 -244
- package/.claude/hooks/github-star-reminder.sh +0 -154
- package/.claude/hooks/language-manager.sh +0 -392
- package/.claude/hooks/learn-manager.sh +0 -475
- package/.claude/hooks/personality-manager.sh +0 -438
- package/.claude/hooks/piper-download-voices.sh +0 -165
- package/.claude/hooks/piper-installer.sh +0 -178
- package/.claude/hooks/piper-multispeaker-registry.sh +0 -165
- package/.claude/hooks/piper-voice-manager.sh +0 -293
- package/.claude/hooks/play-tts-elevenlabs.sh +0 -404
- package/.claude/hooks/play-tts-piper.sh +0 -338
- package/.claude/hooks/play-tts.sh +0 -100
- package/.claude/hooks/provider-commands.sh +0 -540
- package/.claude/hooks/provider-manager.sh +0 -298
- package/.claude/hooks/replay-target-audio.sh +0 -95
- package/.claude/hooks/sentiment-manager.sh +0 -201
- package/.claude/hooks/speed-manager.sh +0 -291
- package/.claude/hooks/voice-manager.sh +0 -594
- package/.claude/hooks/voices-config.sh +0 -70
- package/.claude/settings.local.json +0 -41
- package/bmad/_cfg/agent-manifest.csv +0 -7
- package/bmad/_cfg/agents/bmb-bmad-builder.customize.yaml +0 -42
- package/bmad/_cfg/agents/bmd-cli-chief.customize.yaml +0 -32
- package/bmad/_cfg/agents/bmd-doc-keeper.customize.yaml +0 -42
- package/bmad/_cfg/agents/bmd-release-chief.customize.yaml +0 -42
- package/bmad/_cfg/agents/core-bmad-master.customize.yaml +0 -42
- package/bmad/_cfg/files-manifest.csv +0 -83
- package/bmad/_cfg/manifest.yaml +0 -12
- package/bmad/_cfg/task-manifest.csv +0 -5
- package/bmad/_cfg/tool-manifest.csv +0 -2
- package/bmad/_cfg/workflow-manifest.csv +0 -15
- package/bmad/bmb/README.md +0 -132
- package/bmad/bmb/agents/bmad-builder.md +0 -70
- package/bmad/bmb/config.yaml +0 -14
- package/bmad/bmb/workflows/audit-workflow/checklist.md +0 -143
- package/bmad/bmb/workflows/audit-workflow/instructions.md +0 -341
- package/bmad/bmb/workflows/audit-workflow/template.md +0 -118
- package/bmad/bmb/workflows/audit-workflow/workflow.yaml +0 -23
- package/bmad/bmb/workflows/audit-workflow/workflow.yaml.bak +0 -21
- package/bmad/bmb/workflows/convert-legacy/README.md +0 -262
- package/bmad/bmb/workflows/convert-legacy/checklist.md +0 -205
- package/bmad/bmb/workflows/convert-legacy/instructions.md +0 -377
- package/bmad/bmb/workflows/convert-legacy/workflow.yaml +0 -32
- package/bmad/bmb/workflows/create-agent/README.md +0 -320
- package/bmad/bmb/workflows/create-agent/agent-architecture.md +0 -419
- package/bmad/bmb/workflows/create-agent/agent-architecture.md.bak +0 -412
- package/bmad/bmb/workflows/create-agent/agent-command-patterns.md +0 -759
- package/bmad/bmb/workflows/create-agent/agent-command-patterns.md.bak +0 -759
- package/bmad/bmb/workflows/create-agent/agent-types.md +0 -292
- package/bmad/bmb/workflows/create-agent/brainstorm-context.md +0 -174
- package/bmad/bmb/workflows/create-agent/checklist.md +0 -62
- package/bmad/bmb/workflows/create-agent/communication-styles.md +0 -202
- package/bmad/bmb/workflows/create-agent/instructions.md +0 -430
- package/bmad/bmb/workflows/create-agent/workflow.yaml +0 -37
- package/bmad/bmb/workflows/create-module/README.md +0 -220
- package/bmad/bmb/workflows/create-module/README.md.bak +0 -218
- package/bmad/bmb/workflows/create-module/brainstorm-context.md +0 -137
- package/bmad/bmb/workflows/create-module/checklist.md +0 -244
- package/bmad/bmb/workflows/create-module/checklist.md.bak +0 -245
- package/bmad/bmb/workflows/create-module/installer-templates/install-config.yaml +0 -92
- package/bmad/bmb/workflows/create-module/installer-templates/installer.js +0 -231
- package/bmad/bmb/workflows/create-module/installer-templates/installer.js.bak +0 -231
- package/bmad/bmb/workflows/create-module/instructions.md +0 -581
- package/bmad/bmb/workflows/create-module/instructions.md.bak +0 -521
- package/bmad/bmb/workflows/create-module/module-structure.md +0 -366
- package/bmad/bmb/workflows/create-module/module-structure.md.bak +0 -310
- package/bmad/bmb/workflows/create-module/workflow.yaml +0 -42
- package/bmad/bmb/workflows/create-module/workflow.yaml.bak +0 -40
- package/bmad/bmb/workflows/create-workflow/README.md +0 -277
- package/bmad/bmb/workflows/create-workflow/brainstorm-context.md +0 -197
- package/bmad/bmb/workflows/create-workflow/checklist.md +0 -94
- package/bmad/bmb/workflows/create-workflow/instructions.md +0 -716
- package/bmad/bmb/workflows/create-workflow/workflow-creation-guide.md +0 -1150
- package/bmad/bmb/workflows/create-workflow/workflow-template/checklist.md +0 -24
- package/bmad/bmb/workflows/create-workflow/workflow-template/instructions.md +0 -13
- package/bmad/bmb/workflows/create-workflow/workflow-template/template.md +0 -9
- package/bmad/bmb/workflows/create-workflow/workflow-template/workflow.yaml +0 -39
- package/bmad/bmb/workflows/create-workflow/workflow-template/workflow.yaml.bak +0 -39
- package/bmad/bmb/workflows/create-workflow/workflow.yaml +0 -40
- package/bmad/bmb/workflows/create-workflow/workflow.yaml.bak +0 -38
- package/bmad/bmb/workflows/edit-agent/README.md +0 -112
- package/bmad/bmb/workflows/edit-agent/checklist.md +0 -112
- package/bmad/bmb/workflows/edit-agent/instructions.md +0 -290
- package/bmad/bmb/workflows/edit-agent/workflow.yaml +0 -33
- package/bmad/bmb/workflows/edit-module/README.md +0 -187
- package/bmad/bmb/workflows/edit-module/checklist.md +0 -165
- package/bmad/bmb/workflows/edit-module/instructions.md +0 -339
- package/bmad/bmb/workflows/edit-module/workflow.yaml +0 -34
- package/bmad/bmb/workflows/edit-workflow/README.md +0 -119
- package/bmad/bmb/workflows/edit-workflow/checklist.md +0 -70
- package/bmad/bmb/workflows/edit-workflow/instructions.md +0 -342
- package/bmad/bmb/workflows/edit-workflow/workflow.yaml +0 -27
- package/bmad/bmb/workflows/edit-workflow/workflow.yaml.bak +0 -25
- package/bmad/bmb/workflows/module-brief/README.md +0 -264
- package/bmad/bmb/workflows/module-brief/checklist.md +0 -116
- package/bmad/bmb/workflows/module-brief/instructions.md +0 -267
- package/bmad/bmb/workflows/module-brief/template.md +0 -275
- package/bmad/bmb/workflows/module-brief/workflow.yaml +0 -29
- package/bmad/bmb/workflows/module-brief/workflow.yaml.bak +0 -27
- package/bmad/bmb/workflows/redoc/README.md +0 -87
- package/bmad/bmb/workflows/redoc/checklist.md +0 -99
- package/bmad/bmb/workflows/redoc/instructions.md +0 -265
- package/bmad/bmb/workflows/redoc/workflow.yaml +0 -32
- package/bmad/bmb/workflows/redoc/workflow.yaml.bak +0 -31
- package/bmad/bmd/README.md +0 -193
- package/bmad/bmd/README.md.bak +0 -193
- package/bmad/bmd/agents/cli-chief-sidecar/instructions.md +0 -102
- package/bmad/bmd/agents/cli-chief-sidecar/instructions.md.bak +0 -102
- package/bmad/bmd/agents/cli-chief-sidecar/knowledge/README.md +0 -68
- package/bmad/bmd/agents/cli-chief-sidecar/knowledge/README.md.bak +0 -68
- package/bmad/bmd/agents/cli-chief-sidecar/knowledge/cli-reference.md +0 -123
- package/bmad/bmd/agents/cli-chief-sidecar/knowledge/cli-reference.md.bak +0 -123
- package/bmad/bmd/agents/cli-chief-sidecar/memories.md +0 -53
- package/bmad/bmd/agents/cli-chief-sidecar/memories.md.bak +0 -53
- package/bmad/bmd/agents/cli-chief.md +0 -108
- package/bmad/bmd/agents/cli-chief.md.bak +0 -108
- package/bmad/bmd/agents/doc-keeper-sidecar/instructions.md +0 -177
- package/bmad/bmd/agents/doc-keeper-sidecar/instructions.md.bak +0 -177
- package/bmad/bmd/agents/doc-keeper-sidecar/knowledge/README.md +0 -81
- package/bmad/bmd/agents/doc-keeper-sidecar/knowledge/README.md.bak +0 -81
- package/bmad/bmd/agents/doc-keeper-sidecar/memories.md +0 -88
- package/bmad/bmd/agents/doc-keeper-sidecar/memories.md.bak +0 -88
- package/bmad/bmd/agents/doc-keeper.md +0 -115
- package/bmad/bmd/agents/doc-keeper.md.bak +0 -115
- package/bmad/bmd/agents/release-chief-sidecar/instructions.md +0 -164
- package/bmad/bmd/agents/release-chief-sidecar/instructions.md.bak +0 -164
- package/bmad/bmd/agents/release-chief-sidecar/knowledge/README.md +0 -82
- package/bmad/bmd/agents/release-chief-sidecar/knowledge/README.md.bak +0 -82
- package/bmad/bmd/agents/release-chief-sidecar/memories.md +0 -73
- package/bmad/bmd/agents/release-chief-sidecar/memories.md.bak +0 -73
- package/bmad/bmd/agents/release-chief.md +0 -109
- package/bmad/bmd/agents/release-chief.md.bak +0 -109
- package/bmad/bmd/config.yaml +0 -10
- package/bmad/core/agents/bmad-master.md +0 -71
- package/bmad/core/agents/bmad-web-orchestrator.agent.xml +0 -122
- package/bmad/core/config.yaml +0 -9
- package/bmad/core/tasks/adv-elicit-methods.csv +0 -39
- package/bmad/core/tasks/index-docs.xml +0 -65
- package/bmad/core/tasks/validate-workflow.xml +0 -89
- package/bmad/core/tasks/workflow.xml +0 -174
- package/bmad/core/tools/shard-doc.xml +0 -100
- package/bmad/core/workflows/brainstorming/README.md +0 -271
- package/bmad/core/workflows/brainstorming/brain-methods.csv +0 -36
- package/bmad/core/workflows/brainstorming/instructions.md +0 -314
- package/bmad/core/workflows/brainstorming/template.md +0 -102
- package/bmad/core/workflows/brainstorming/workflow.yaml +0 -43
- package/bmad/core/workflows/party-mode/instructions.md +0 -188
- package/bmad/core/workflows/party-mode/workflow.yaml +0 -23
- package/bmad/docs/claude-code-instructions.md +0 -25
- package/bmad/docs/codex-instructions.md +0 -21
- package/bmd/README.md +0 -193
- package/bmd/agents/cli-chief-sidecar/instructions.md +0 -102
- package/bmd/agents/cli-chief-sidecar/knowledge/README.md +0 -68
- package/bmd/agents/cli-chief-sidecar/knowledge/cli-reference.md +0 -123
- package/bmd/agents/cli-chief-sidecar/memories.md +0 -53
- package/bmd/agents/cli-chief.agent.yaml +0 -126
- package/bmd/agents/doc-keeper-sidecar/instructions.md +0 -177
- package/bmd/agents/doc-keeper-sidecar/knowledge/README.md +0 -81
- package/bmd/agents/doc-keeper-sidecar/memories.md +0 -88
- package/bmd/agents/doc-keeper.agent.yaml +0 -137
- package/bmd/agents/release-chief-sidecar/instructions.md +0 -164
- package/bmd/agents/release-chief-sidecar/knowledge/README.md +0 -82
- package/bmd/agents/release-chief-sidecar/memories.md +0 -73
- package/bmd/agents/release-chief.agent.yaml +0 -127
- package/bmd/bmad-custom-module-installer-plan.md +0 -1176
- package/bmd/config.yaml +0 -12
- package/docs/bmad-brownfield-guide.md +0 -1260
- package/docs/conversion-report-shard-doc-2025-10-26.md +0 -188
- package/docs/installers-bundlers/web-bundler-usage.md +0 -54
- package/src/core/tasks/adv-elicit.xml +0 -104
- package/src/modules/bmb/workflows/create-agent/README.md +0 -320
- package/src/modules/bmb/workflows/create-agent/agent-architecture.md +0 -419
- package/src/modules/bmb/workflows/create-agent/agent-command-patterns.md +0 -759
- package/src/modules/bmb/workflows/create-agent/agent-types.md +0 -292
- package/src/modules/bmb/workflows/create-agent/checklist.md +0 -62
- package/src/modules/bmb/workflows/create-agent/communication-styles.md +0 -202
- package/src/modules/bmb/workflows/edit-agent/checklist.md +0 -112
- package/src/modules/bmb/workflows/redoc/README.md +0 -87
- package/src/modules/bmb/workflows/redoc/checklist.md +0 -99
- package/src/modules/bmb/workflows/redoc/instructions.md +0 -265
- package/src/modules/bmb/workflows/redoc/workflow.yaml +0 -34
- package/src/modules/bmm/agents/game-architect.agent.yaml +0 -35
- package/src/modules/bmm/agents/game-designer.agent.yaml +0 -47
- package/src/modules/bmm/agents/game-dev.agent.yaml +0 -39
- package/src/modules/bmm/sub-modules/claude-code/config.yaml +0 -5
- package/src/modules/bmm/sub-modules/claude-code/injections.yaml +0 -242
- package/src/modules/bmm/sub-modules/claude-code/readme.md +0 -87
- package/src/modules/bmm/sub-modules/claude-code/sub-agents/bmad-analysis/api-documenter.md +0 -102
- package/src/modules/bmm/sub-modules/claude-code/sub-agents/bmad-analysis/codebase-analyzer.md +0 -82
- package/src/modules/bmm/sub-modules/claude-code/sub-agents/bmad-analysis/data-analyst.md +0 -101
- package/src/modules/bmm/sub-modules/claude-code/sub-agents/bmad-analysis/pattern-detector.md +0 -84
- package/src/modules/bmm/sub-modules/claude-code/sub-agents/bmad-planning/dependency-mapper.md +0 -83
- package/src/modules/bmm/sub-modules/claude-code/sub-agents/bmad-planning/epic-optimizer.md +0 -81
- package/src/modules/bmm/sub-modules/claude-code/sub-agents/bmad-planning/requirements-analyst.md +0 -61
- package/src/modules/bmm/sub-modules/claude-code/sub-agents/bmad-planning/technical-decisions-curator.md +0 -168
- package/src/modules/bmm/sub-modules/claude-code/sub-agents/bmad-planning/trend-spotter.md +0 -115
- package/src/modules/bmm/sub-modules/claude-code/sub-agents/bmad-planning/user-journey-mapper.md +0 -123
- package/src/modules/bmm/sub-modules/claude-code/sub-agents/bmad-planning/user-researcher.md +0 -72
- package/src/modules/bmm/sub-modules/claude-code/sub-agents/bmad-research/market-researcher.md +0 -51
- package/src/modules/bmm/sub-modules/claude-code/sub-agents/bmad-research/tech-debt-auditor.md +0 -106
- package/src/modules/bmm/sub-modules/claude-code/sub-agents/bmad-review/document-reviewer.md +0 -102
- package/src/modules/bmm/sub-modules/claude-code/sub-agents/bmad-review/technical-evaluator.md +0 -68
- package/src/modules/bmm/sub-modules/claude-code/sub-agents/bmad-review/test-coverage-analyzer.md +0 -108
- package/src/modules/bmm/tasks/daily-standup.xml +0 -85
- package/src/modules/bmm/tasks/retrospective.xml +0 -104
- package/src/modules/bmm/testarch/README.md +0 -311
- package/src/modules/bmm/workflows/1-analysis/brainstorm-game/README.md +0 -38
- package/src/modules/bmm/workflows/1-analysis/brainstorm-game/instructions.md +0 -109
- package/src/modules/bmm/workflows/1-analysis/brainstorm-project/README.md +0 -29
- package/src/modules/bmm/workflows/1-analysis/game-brief/README.md +0 -221
- package/src/modules/bmm/workflows/1-analysis/product-brief/README.md +0 -180
- package/src/modules/bmm/workflows/1-analysis/research/README.md +0 -454
- package/src/modules/bmm/workflows/1-analysis/research/claude-code/sub-agents/bmm-competitor-analyzer.md +0 -259
- package/src/modules/bmm/workflows/1-analysis/research/claude-code/sub-agents/bmm-data-analyst.md +0 -190
- package/src/modules/bmm/workflows/1-analysis/research/claude-code/sub-agents/bmm-market-researcher.md +0 -337
- package/src/modules/bmm/workflows/1-analysis/research/claude-code/sub-agents/bmm-trend-spotter.md +0 -107
- package/src/modules/bmm/workflows/1-analysis/research/claude-code/sub-agents/bmm-user-researcher.md +0 -329
- package/src/modules/bmm/workflows/2-plan-workflows/README.md +0 -258
- package/src/modules/bmm/workflows/2-plan-workflows/gdd/README.md +0 -222
- package/src/modules/bmm/workflows/2-plan-workflows/gdd/workflow.yaml +0 -67
- package/src/modules/bmm/workflows/2-plan-workflows/prd/epics-template.md +0 -63
- package/src/modules/bmm/workflows/2-plan-workflows/tech-spec/instructions-level0-story.md +0 -167
- package/src/modules/bmm/workflows/2-plan-workflows/tech-spec/instructions-level1-stories.md +0 -278
- package/src/modules/bmm/workflows/3-solutioning/README.md +0 -1
- package/src/modules/bmm/workflows/3-solutioning/solutioning-gate-check/README.md +0 -177
- package/src/modules/bmm/workflows/3-solutioning/solutioning-gate-check/instructions.md +0 -273
- package/src/modules/bmm/workflows/3-solutioning/solutioning-gate-check/validation-criteria.yaml +0 -189
- package/src/modules/bmm/workflows/3-solutioning/solutioning-gate-check/workflow.yaml +0 -40
- package/src/modules/bmm/workflows/4-implementation/README.md +0 -221
- package/src/modules/bmm/workflows/4-implementation/code-review/README.md +0 -69
- package/src/modules/bmm/workflows/4-implementation/correct-course/README.md +0 -73
- package/src/modules/bmm/workflows/4-implementation/create-story/README.md +0 -129
- package/src/modules/bmm/workflows/4-implementation/dev-story/AUDIT-REPORT.md +0 -367
- package/src/modules/bmm/workflows/4-implementation/dev-story/README.md +0 -206
- package/src/modules/bmm/workflows/4-implementation/epic-tech-context/README.md +0 -195
- package/src/modules/bmm/workflows/4-implementation/retrospective/README.md +0 -77
- package/src/modules/bmm/workflows/4-implementation/sprint-planning/README.md +0 -156
- package/src/modules/bmm/workflows/4-implementation/story-context/README.md +0 -234
- package/src/modules/bmm/workflows/README.md +0 -577
- package/src/modules/bmm/workflows/document-project/templates/README.md +0 -38
- package/src/modules/bmm/workflows/testarch/README.md +0 -26
- package/src/modules/bmm/workflows/testarch/atdd/README.md +0 -672
- package/src/modules/bmm/workflows/testarch/automate/README.md +0 -869
- package/src/modules/bmm/workflows/testarch/ci/README.md +0 -493
- package/src/modules/bmm/workflows/testarch/framework/README.md +0 -340
- package/src/modules/bmm/workflows/testarch/nfr-assess/README.md +0 -469
- package/src/modules/bmm/workflows/testarch/test-design/README.md +0 -493
- package/src/modules/bmm/workflows/testarch/test-review/README.md +0 -775
- package/src/modules/bmm/workflows/testarch/trace/README.md +0 -802
- package/src/modules/bmm/workflows/workflow-status/README.md +0 -241
- package/src/modules/bmm/workflows/workflow-status/paths/brownfield-level-0.yaml +0 -54
- package/src/modules/bmm/workflows/workflow-status/paths/brownfield-level-2.yaml +0 -76
- package/src/modules/bmm/workflows/workflow-status/paths/brownfield-level-4.yaml +0 -88
- package/src/modules/bmm/workflows/workflow-status/paths/game-design.yaml +0 -75
- package/src/modules/bmm/workflows/workflow-status/paths/greenfield-level-0.yaml +0 -45
- package/src/modules/bmm/workflows/workflow-status/paths/greenfield-level-2.yaml +0 -78
- package/src/modules/bmm/workflows/workflow-status/paths/greenfield-level-3.yaml +0 -73
- package/src/modules/bmm/workflows/workflow-status/paths/greenfield-level-4.yaml +0 -75
- package/src/modules/bmm/workflows/workflow-status/workflow-status-template.md +0 -30
- package/src/modules/cis/readme.md +0 -86
- package/test/fixtures/agent-schema/invalid/persona/principles-as-string.agent.yaml +0 -23
- package/v6-open-items.md +0 -23
- /package/src/modules/{bmm/workflows/1-analysis → bmgd/workflows/1-preproduction}/brainstorm-game/game-brain-methods.csv +0 -0
- /package/src/modules/{bmm/workflows/1-analysis → bmgd/workflows/1-preproduction}/brainstorm-game/game-context.md +0 -0
- /package/src/modules/{bmm/workflows/1-analysis → bmgd/workflows/1-preproduction}/game-brief/checklist.md +0 -0
- /package/src/modules/{bmm/workflows/1-analysis → bmgd/workflows/1-preproduction}/game-brief/template.md +0 -0
- /package/src/modules/{bmm/workflows/2-plan-workflows → bmgd/workflows/2-design}/gdd/checklist.md +0 -0
- /package/src/modules/{bmm/workflows/2-plan-workflows → bmgd/workflows/2-design}/gdd/game-types/action-platformer.md +0 -0
- /package/src/modules/{bmm/workflows/2-plan-workflows → bmgd/workflows/2-design}/gdd/game-types/adventure.md +0 -0
- /package/src/modules/{bmm/workflows/2-plan-workflows → bmgd/workflows/2-design}/gdd/game-types/card-game.md +0 -0
- /package/src/modules/{bmm/workflows/2-plan-workflows → bmgd/workflows/2-design}/gdd/game-types/fighting.md +0 -0
- /package/src/modules/{bmm/workflows/2-plan-workflows → bmgd/workflows/2-design}/gdd/game-types/horror.md +0 -0
- /package/src/modules/{bmm/workflows/2-plan-workflows → bmgd/workflows/2-design}/gdd/game-types/idle-incremental.md +0 -0
- /package/src/modules/{bmm/workflows/2-plan-workflows → bmgd/workflows/2-design}/gdd/game-types/metroidvania.md +0 -0
- /package/src/modules/{bmm/workflows/2-plan-workflows → bmgd/workflows/2-design}/gdd/game-types/moba.md +0 -0
- /package/src/modules/{bmm/workflows/2-plan-workflows → bmgd/workflows/2-design}/gdd/game-types/party-game.md +0 -0
- /package/src/modules/{bmm/workflows/2-plan-workflows → bmgd/workflows/2-design}/gdd/game-types/puzzle.md +0 -0
- /package/src/modules/{bmm/workflows/2-plan-workflows → bmgd/workflows/2-design}/gdd/game-types/racing.md +0 -0
- /package/src/modules/{bmm/workflows/2-plan-workflows → bmgd/workflows/2-design}/gdd/game-types/rhythm.md +0 -0
- /package/src/modules/{bmm/workflows/2-plan-workflows → bmgd/workflows/2-design}/gdd/game-types/roguelike.md +0 -0
- /package/src/modules/{bmm/workflows/2-plan-workflows → bmgd/workflows/2-design}/gdd/game-types/rpg.md +0 -0
- /package/src/modules/{bmm/workflows/2-plan-workflows → bmgd/workflows/2-design}/gdd/game-types/sandbox.md +0 -0
- /package/src/modules/{bmm/workflows/2-plan-workflows → bmgd/workflows/2-design}/gdd/game-types/shooter.md +0 -0
- /package/src/modules/{bmm/workflows/2-plan-workflows → bmgd/workflows/2-design}/gdd/game-types/simulation.md +0 -0
- /package/src/modules/{bmm/workflows/2-plan-workflows → bmgd/workflows/2-design}/gdd/game-types/sports.md +0 -0
- /package/src/modules/{bmm/workflows/2-plan-workflows → bmgd/workflows/2-design}/gdd/game-types/strategy.md +0 -0
- /package/src/modules/{bmm/workflows/2-plan-workflows → bmgd/workflows/2-design}/gdd/game-types/survival.md +0 -0
- /package/src/modules/{bmm/workflows/2-plan-workflows → bmgd/workflows/2-design}/gdd/game-types/text-based.md +0 -0
- /package/src/modules/{bmm/workflows/2-plan-workflows → bmgd/workflows/2-design}/gdd/game-types/tower-defense.md +0 -0
- /package/src/modules/{bmm/workflows/2-plan-workflows → bmgd/workflows/2-design}/gdd/game-types/turn-based-tactics.md +0 -0
- /package/src/modules/{bmm/workflows/2-plan-workflows → bmgd/workflows/2-design}/gdd/game-types/visual-novel.md +0 -0
- /package/src/modules/{bmm/workflows/2-plan-workflows → bmgd/workflows/2-design}/gdd/game-types.csv +0 -0
- /package/src/modules/{bmm/workflows/2-plan-workflows → bmgd/workflows/2-design}/gdd/gdd-template.md +0 -0
- /package/src/modules/{bmm/workflows/2-plan-workflows → bmgd/workflows/2-design}/narrative/checklist.md +0 -0
- /package/src/modules/{bmm/workflows/2-plan-workflows → bmgd/workflows/2-design}/narrative/narrative-template.md +0 -0
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
const path = require('node:path');
|
|
2
|
+
const fs = require('fs-extra');
|
|
3
|
+
const yaml = require('js-yaml');
|
|
2
4
|
const { BaseIdeSetup } = require('./_base-ide');
|
|
3
5
|
const chalk = require('chalk');
|
|
6
|
+
const { AgentCommandGenerator } = require('./shared/agent-command-generator');
|
|
4
7
|
|
|
5
8
|
/**
|
|
6
9
|
* Gemini CLI setup handler
|
|
@@ -8,9 +11,39 @@ const chalk = require('chalk');
|
|
|
8
11
|
*/
|
|
9
12
|
class GeminiSetup extends BaseIdeSetup {
|
|
10
13
|
constructor() {
|
|
11
|
-
super('gemini', 'Gemini CLI',
|
|
14
|
+
super('gemini', 'Gemini CLI', false);
|
|
12
15
|
this.configDir = '.gemini';
|
|
13
16
|
this.commandsDir = 'commands';
|
|
17
|
+
this.agentTemplatePath = path.join(__dirname, 'templates', 'gemini-agent-command.toml');
|
|
18
|
+
this.taskTemplatePath = path.join(__dirname, 'templates', 'gemini-task-command.toml');
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* Load config values from bmad installation
|
|
23
|
+
* @param {string} bmadDir - BMAD installation directory
|
|
24
|
+
* @returns {Object} Config values
|
|
25
|
+
*/
|
|
26
|
+
async loadConfigValues(bmadDir) {
|
|
27
|
+
const configValues = {
|
|
28
|
+
user_name: 'User', // Default fallback
|
|
29
|
+
};
|
|
30
|
+
|
|
31
|
+
// Try to load core config.yaml
|
|
32
|
+
const coreConfigPath = path.join(bmadDir, 'core', 'config.yaml');
|
|
33
|
+
if (await fs.pathExists(coreConfigPath)) {
|
|
34
|
+
try {
|
|
35
|
+
const configContent = await fs.readFile(coreConfigPath, 'utf8');
|
|
36
|
+
const config = yaml.load(configContent);
|
|
37
|
+
|
|
38
|
+
if (config.user_name) {
|
|
39
|
+
configValues.user_name = config.user_name;
|
|
40
|
+
}
|
|
41
|
+
} catch (error) {
|
|
42
|
+
console.warn(chalk.yellow(` Warning: Could not load config values: ${error.message}`));
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
return configValues;
|
|
14
47
|
}
|
|
15
48
|
|
|
16
49
|
/**
|
|
@@ -31,29 +64,31 @@ class GeminiSetup extends BaseIdeSetup {
|
|
|
31
64
|
// Clean up any existing BMAD files before reinstalling
|
|
32
65
|
await this.cleanup(projectDir);
|
|
33
66
|
|
|
34
|
-
//
|
|
35
|
-
const
|
|
67
|
+
// Generate agent launchers
|
|
68
|
+
const agentGen = new AgentCommandGenerator(this.bmadFolderName);
|
|
69
|
+
const { artifacts: agentArtifacts } = await agentGen.collectAgentArtifacts(bmadDir, options.selectedModules || []);
|
|
70
|
+
|
|
71
|
+
// Get tasks
|
|
36
72
|
const tasks = await this.getTasks(bmadDir);
|
|
37
73
|
|
|
38
74
|
// Install agents as TOML files with bmad- prefix (flat structure)
|
|
39
75
|
let agentCount = 0;
|
|
40
|
-
for (const
|
|
41
|
-
const
|
|
42
|
-
const tomlContent = this.createAgentToml(agent, content, bmadDir);
|
|
76
|
+
for (const artifact of agentArtifacts) {
|
|
77
|
+
const tomlContent = await this.createAgentLauncherToml(artifact);
|
|
43
78
|
|
|
44
79
|
// Flat structure: bmad-agent-{module}-{name}.toml
|
|
45
|
-
const tomlPath = path.join(commandsDir, `bmad-agent-${
|
|
80
|
+
const tomlPath = path.join(commandsDir, `bmad-agent-${artifact.module}-${artifact.name}.toml`);
|
|
46
81
|
await this.writeFile(tomlPath, tomlContent);
|
|
47
82
|
agentCount++;
|
|
48
83
|
|
|
49
|
-
console.log(chalk.green(` ✓ Added agent: /bmad:agents:${
|
|
84
|
+
console.log(chalk.green(` ✓ Added agent: /bmad:agents:${artifact.module}:${artifact.name}`));
|
|
50
85
|
}
|
|
51
86
|
|
|
52
87
|
// Install tasks as TOML files with bmad- prefix (flat structure)
|
|
53
88
|
let taskCount = 0;
|
|
54
89
|
for (const task of tasks) {
|
|
55
90
|
const content = await this.readFile(task.path);
|
|
56
|
-
const tomlContent = this.createTaskToml(task, content
|
|
91
|
+
const tomlContent = await this.createTaskToml(task, content);
|
|
57
92
|
|
|
58
93
|
// Flat structure: bmad-task-{module}-{name}.toml
|
|
59
94
|
const tomlPath = path.join(commandsDir, `bmad-task-${task.module}-${task.name}.toml`);
|
|
@@ -78,51 +113,66 @@ class GeminiSetup extends BaseIdeSetup {
|
|
|
78
113
|
}
|
|
79
114
|
|
|
80
115
|
/**
|
|
81
|
-
* Create agent TOML content
|
|
116
|
+
* Create agent launcher TOML content from artifact
|
|
82
117
|
*/
|
|
83
|
-
|
|
84
|
-
//
|
|
85
|
-
const
|
|
86
|
-
const
|
|
118
|
+
async createAgentLauncherToml(artifact) {
|
|
119
|
+
// Strip frontmatter from launcher content
|
|
120
|
+
const frontmatterRegex = /^---\s*\n[\s\S]*?\n---\s*\n/;
|
|
121
|
+
const contentWithoutFrontmatter = artifact.content.replace(frontmatterRegex, '').trim();
|
|
87
122
|
|
|
88
|
-
//
|
|
89
|
-
const
|
|
123
|
+
// Extract title from launcher frontmatter
|
|
124
|
+
const titleMatch = artifact.content.match(/description:\s*"([^"]+)"/);
|
|
125
|
+
const title = titleMatch ? titleMatch[1] : this.formatTitle(artifact.name);
|
|
90
126
|
|
|
91
|
-
// Create TOML content
|
|
92
|
-
const
|
|
93
|
-
prompt = """
|
|
94
|
-
CRITICAL: You are now the BMad '${title}' agent. Adopt its persona and capabilities as defined in the following configuration.
|
|
127
|
+
// Create TOML wrapper around launcher content (without frontmatter)
|
|
128
|
+
const description = `BMAD ${artifact.module.toUpperCase()} Agent: ${title}`;
|
|
95
129
|
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
130
|
+
return `description = "${description}"
|
|
131
|
+
prompt = """
|
|
132
|
+
${contentWithoutFrontmatter}
|
|
99
133
|
"""
|
|
100
134
|
`;
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
/**
|
|
138
|
+
* Create agent TOML content using template
|
|
139
|
+
*/
|
|
140
|
+
async createAgentToml(agent, content) {
|
|
141
|
+
// Extract metadata
|
|
142
|
+
const titleMatch = content.match(/title="([^"]+)"/);
|
|
143
|
+
const title = titleMatch ? titleMatch[1] : this.formatTitle(agent.name);
|
|
144
|
+
|
|
145
|
+
// Load template
|
|
146
|
+
const template = await fs.readFile(this.agentTemplatePath, 'utf8');
|
|
147
|
+
|
|
148
|
+
// Replace template variables
|
|
149
|
+
// Note: {user_name} and other {config_values} are left as-is for runtime substitution by Gemini
|
|
150
|
+
const tomlContent = template
|
|
151
|
+
.replaceAll('{{title}}', title)
|
|
152
|
+
.replaceAll('{{bmad_folder}}', this.bmadFolderName)
|
|
153
|
+
.replaceAll('{{module}}', agent.module)
|
|
154
|
+
.replaceAll('{{name}}', agent.name);
|
|
101
155
|
|
|
102
156
|
return tomlContent;
|
|
103
157
|
}
|
|
104
158
|
|
|
105
159
|
/**
|
|
106
|
-
* Create task TOML content
|
|
160
|
+
* Create task TOML content using template
|
|
107
161
|
*/
|
|
108
|
-
createTaskToml(task, content
|
|
162
|
+
async createTaskToml(task, content) {
|
|
109
163
|
// Extract task name from XML if available
|
|
110
164
|
const nameMatch = content.match(/<name>([^<]+)<\/name>/);
|
|
111
165
|
const taskName = nameMatch ? nameMatch[1] : this.formatTitle(task.name);
|
|
112
166
|
|
|
113
|
-
//
|
|
114
|
-
const
|
|
115
|
-
|
|
116
|
-
// Create TOML content
|
|
117
|
-
const tomlContent = `description = "Executes the ${taskName} task from the BMad Method."
|
|
118
|
-
prompt = """
|
|
119
|
-
Execute the following BMad Method task workflow:
|
|
120
|
-
|
|
121
|
-
@${relativePath}
|
|
167
|
+
// Load template
|
|
168
|
+
const template = await fs.readFile(this.taskTemplatePath, 'utf8');
|
|
122
169
|
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
170
|
+
// Replace template variables
|
|
171
|
+
const tomlContent = template
|
|
172
|
+
.replaceAll('{{taskName}}', taskName)
|
|
173
|
+
.replaceAll('{{bmad_folder}}', this.bmadFolderName)
|
|
174
|
+
.replaceAll('{{module}}', task.module)
|
|
175
|
+
.replaceAll('{{filename}}', task.filename);
|
|
126
176
|
|
|
127
177
|
return tomlContent;
|
|
128
178
|
}
|
|
@@ -2,6 +2,7 @@ const path = require('node:path');
|
|
|
2
2
|
const { BaseIdeSetup } = require('./_base-ide');
|
|
3
3
|
const chalk = require('chalk');
|
|
4
4
|
const inquirer = require('inquirer');
|
|
5
|
+
const { AgentCommandGenerator } = require('./shared/agent-command-generator');
|
|
5
6
|
|
|
6
7
|
/**
|
|
7
8
|
* GitHub Copilot setup handler
|
|
@@ -104,21 +105,22 @@ class GitHubCopilotSetup extends BaseIdeSetup {
|
|
|
104
105
|
// Clean up any existing BMAD files before reinstalling
|
|
105
106
|
await this.cleanup(projectDir);
|
|
106
107
|
|
|
107
|
-
//
|
|
108
|
-
const
|
|
108
|
+
// Generate agent launchers
|
|
109
|
+
const agentGen = new AgentCommandGenerator(this.bmadFolderName);
|
|
110
|
+
const { artifacts: agentArtifacts } = await agentGen.collectAgentArtifacts(bmadDir, options.selectedModules || []);
|
|
109
111
|
|
|
110
112
|
// Create chat mode files with bmad- prefix
|
|
111
113
|
let modeCount = 0;
|
|
112
|
-
for (const
|
|
113
|
-
const content =
|
|
114
|
-
const chatmodeContent = this.createChatmodeContent(
|
|
114
|
+
for (const artifact of agentArtifacts) {
|
|
115
|
+
const content = artifact.content;
|
|
116
|
+
const chatmodeContent = await this.createChatmodeContent({ module: artifact.module, name: artifact.name }, content);
|
|
115
117
|
|
|
116
118
|
// Use bmad- prefix: bmad-agent-{module}-{name}.chatmode.md
|
|
117
|
-
const targetPath = path.join(chatmodesDir, `bmad-agent-${
|
|
119
|
+
const targetPath = path.join(chatmodesDir, `bmad-agent-${artifact.module}-${artifact.name}.chatmode.md`);
|
|
118
120
|
await this.writeFile(targetPath, chatmodeContent);
|
|
119
121
|
modeCount++;
|
|
120
122
|
|
|
121
|
-
console.log(chalk.green(` ✓ Created chat mode: bmad-agent-${
|
|
123
|
+
console.log(chalk.green(` ✓ Created chat mode: bmad-agent-${artifact.module}-${artifact.name}`));
|
|
122
124
|
}
|
|
123
125
|
|
|
124
126
|
console.log(chalk.green(`✓ ${this.name} configured:`));
|
|
@@ -206,32 +208,45 @@ class GitHubCopilotSetup extends BaseIdeSetup {
|
|
|
206
208
|
/**
|
|
207
209
|
* Create chat mode content
|
|
208
210
|
*/
|
|
209
|
-
createChatmodeContent(agent, content) {
|
|
210
|
-
// Extract metadata
|
|
211
|
-
const
|
|
212
|
-
const title =
|
|
213
|
-
|
|
214
|
-
const
|
|
215
|
-
|
|
211
|
+
async createChatmodeContent(agent, content) {
|
|
212
|
+
// Extract metadata from launcher frontmatter if present
|
|
213
|
+
const descMatch = content.match(/description:\s*"([^"]+)"/);
|
|
214
|
+
const title = descMatch ? descMatch[1] : this.formatTitle(agent.name);
|
|
215
|
+
|
|
216
|
+
const description = `Activates the ${title} agent persona.`;
|
|
217
|
+
|
|
218
|
+
// Strip any existing frontmatter from the content
|
|
219
|
+
const frontmatterRegex = /^---\s*\n[\s\S]*?\n---\s*\n/;
|
|
220
|
+
let cleanContent = content;
|
|
221
|
+
if (frontmatterRegex.test(content)) {
|
|
222
|
+
cleanContent = content.replace(frontmatterRegex, '').trim();
|
|
223
|
+
}
|
|
216
224
|
|
|
217
|
-
// Available GitHub Copilot tools
|
|
225
|
+
// Available GitHub Copilot tools (November 2025 - Official VS Code Documentation)
|
|
226
|
+
// Reference: https://code.visualstudio.com/docs/copilot/reference/copilot-vscode-features#_chat-tools
|
|
218
227
|
const tools = [
|
|
219
|
-
'changes',
|
|
220
|
-
'codebase',
|
|
221
|
-
'
|
|
222
|
-
'
|
|
223
|
-
'
|
|
224
|
-
'
|
|
225
|
-
'
|
|
226
|
-
'
|
|
227
|
-
'
|
|
228
|
-
'
|
|
229
|
-
'
|
|
230
|
-
'
|
|
231
|
-
'
|
|
232
|
-
'
|
|
233
|
-
'
|
|
234
|
-
'
|
|
228
|
+
'changes', // List of source control changes
|
|
229
|
+
'codebase', // Perform code search in workspace
|
|
230
|
+
'createDirectory', // Create new directory in workspace
|
|
231
|
+
'createFile', // Create new file in workspace
|
|
232
|
+
'editFiles', // Apply edits to files in workspace
|
|
233
|
+
'fetch', // Fetch content from web page
|
|
234
|
+
'fileSearch', // Search files using glob patterns
|
|
235
|
+
'githubRepo', // Perform code search in GitHub repo
|
|
236
|
+
'listDirectory', // List files in a directory
|
|
237
|
+
'problems', // Add workspace issues from Problems panel
|
|
238
|
+
'readFile', // Read content of a file in workspace
|
|
239
|
+
'runInTerminal', // Run shell command in integrated terminal
|
|
240
|
+
'runTask', // Run existing task in workspace
|
|
241
|
+
'runTests', // Run unit tests in workspace
|
|
242
|
+
'runVscodeCommand', // Run VS Code command
|
|
243
|
+
'search', // Enable file searching in workspace
|
|
244
|
+
'searchResults', // Get search results from Search view
|
|
245
|
+
'terminalLastCommand', // Get last terminal command and output
|
|
246
|
+
'terminalSelection', // Get current terminal selection
|
|
247
|
+
'testFailure', // Get unit test failure information
|
|
248
|
+
'textSearch', // Find text in files
|
|
249
|
+
'usages', // Find references and navigate definitions
|
|
235
250
|
];
|
|
236
251
|
|
|
237
252
|
let chatmodeContent = `---
|
|
@@ -241,11 +256,8 @@ tools: ${JSON.stringify(tools)}
|
|
|
241
256
|
|
|
242
257
|
# ${title} Agent
|
|
243
258
|
|
|
244
|
-
${
|
|
245
|
-
|
|
246
|
-
## Module
|
|
259
|
+
${cleanContent}
|
|
247
260
|
|
|
248
|
-
Part of the BMAD ${agent.module.toUpperCase()} module.
|
|
249
261
|
`;
|
|
250
262
|
|
|
251
263
|
return chatmodeContent;
|
|
@@ -285,6 +297,80 @@ Part of the BMAD ${agent.module.toUpperCase()} module.
|
|
|
285
297
|
}
|
|
286
298
|
}
|
|
287
299
|
}
|
|
300
|
+
|
|
301
|
+
/**
|
|
302
|
+
* Install a custom agent launcher for GitHub Copilot
|
|
303
|
+
* @param {string} projectDir - Project directory
|
|
304
|
+
* @param {string} agentName - Agent name (e.g., "fred-commit-poet")
|
|
305
|
+
* @param {string} agentPath - Path to compiled agent (relative to project root)
|
|
306
|
+
* @param {Object} metadata - Agent metadata
|
|
307
|
+
* @returns {Object|null} Info about created command
|
|
308
|
+
*/
|
|
309
|
+
async installCustomAgentLauncher(projectDir, agentName, agentPath, metadata) {
|
|
310
|
+
const chatmodesDir = path.join(projectDir, this.configDir, this.chatmodesDir);
|
|
311
|
+
|
|
312
|
+
if (!(await this.exists(path.join(projectDir, this.configDir)))) {
|
|
313
|
+
return null; // IDE not configured for this project
|
|
314
|
+
}
|
|
315
|
+
|
|
316
|
+
await this.ensureDir(chatmodesDir);
|
|
317
|
+
|
|
318
|
+
const launcherContent = `You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command.
|
|
319
|
+
|
|
320
|
+
<agent-activation CRITICAL="TRUE">
|
|
321
|
+
1. LOAD the FULL agent file from @${agentPath}
|
|
322
|
+
2. READ its entire contents - this contains the complete agent persona, menu, and instructions
|
|
323
|
+
3. FOLLOW every step in the <activation> section precisely
|
|
324
|
+
4. DISPLAY the welcome/greeting as instructed
|
|
325
|
+
5. PRESENT the numbered menu
|
|
326
|
+
6. WAIT for user input before proceeding
|
|
327
|
+
</agent-activation>
|
|
328
|
+
`;
|
|
329
|
+
|
|
330
|
+
// GitHub Copilot needs specific tools in frontmatter
|
|
331
|
+
const copilotTools = [
|
|
332
|
+
'changes',
|
|
333
|
+
'codebase',
|
|
334
|
+
'createDirectory',
|
|
335
|
+
'createFile',
|
|
336
|
+
'editFiles',
|
|
337
|
+
'fetch',
|
|
338
|
+
'fileSearch',
|
|
339
|
+
'githubRepo',
|
|
340
|
+
'listDirectory',
|
|
341
|
+
'problems',
|
|
342
|
+
'readFile',
|
|
343
|
+
'runInTerminal',
|
|
344
|
+
'runTask',
|
|
345
|
+
'runTests',
|
|
346
|
+
'runVscodeCommand',
|
|
347
|
+
'search',
|
|
348
|
+
'searchResults',
|
|
349
|
+
'terminalLastCommand',
|
|
350
|
+
'terminalSelection',
|
|
351
|
+
'testFailure',
|
|
352
|
+
'textSearch',
|
|
353
|
+
'usages',
|
|
354
|
+
];
|
|
355
|
+
|
|
356
|
+
const chatmodeContent = `---
|
|
357
|
+
description: "Activates the ${metadata.title || agentName} agent persona."
|
|
358
|
+
tools: ${JSON.stringify(copilotTools)}
|
|
359
|
+
---
|
|
360
|
+
|
|
361
|
+
# ${metadata.title || agentName} Agent
|
|
362
|
+
|
|
363
|
+
${launcherContent}
|
|
364
|
+
`;
|
|
365
|
+
|
|
366
|
+
const chatmodePath = path.join(chatmodesDir, `bmad-agent-custom-${agentName}.chatmode.md`);
|
|
367
|
+
await this.writeFile(chatmodePath, chatmodeContent);
|
|
368
|
+
|
|
369
|
+
return {
|
|
370
|
+
path: chatmodePath,
|
|
371
|
+
command: `bmad-agent-custom-${agentName}`,
|
|
372
|
+
};
|
|
373
|
+
}
|
|
288
374
|
}
|
|
289
375
|
|
|
290
376
|
module.exports = { GitHubCopilotSetup };
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
const path = require('node:path');
|
|
2
2
|
const { BaseIdeSetup } = require('./_base-ide');
|
|
3
3
|
const chalk = require('chalk');
|
|
4
|
+
const { AgentCommandGenerator } = require('./shared/agent-command-generator');
|
|
4
5
|
|
|
5
6
|
/**
|
|
6
7
|
* iFlow CLI setup handler
|
|
@@ -31,21 +32,23 @@ class IFlowSetup extends BaseIdeSetup {
|
|
|
31
32
|
await this.ensureDir(agentsDir);
|
|
32
33
|
await this.ensureDir(tasksDir);
|
|
33
34
|
|
|
34
|
-
//
|
|
35
|
-
const
|
|
36
|
-
const
|
|
35
|
+
// Generate agent launchers
|
|
36
|
+
const agentGen = new AgentCommandGenerator(this.bmadFolderName);
|
|
37
|
+
const { artifacts: agentArtifacts } = await agentGen.collectAgentArtifacts(bmadDir, options.selectedModules || []);
|
|
37
38
|
|
|
38
39
|
// Setup agents as commands
|
|
39
40
|
let agentCount = 0;
|
|
40
|
-
for (const
|
|
41
|
-
const
|
|
42
|
-
const commandContent = this.createAgentCommand(agent, content);
|
|
41
|
+
for (const artifact of agentArtifacts) {
|
|
42
|
+
const commandContent = await this.createAgentCommand(artifact);
|
|
43
43
|
|
|
44
|
-
const targetPath = path.join(agentsDir, `${
|
|
44
|
+
const targetPath = path.join(agentsDir, `${artifact.module}-${artifact.name}.md`);
|
|
45
45
|
await this.writeFile(targetPath, commandContent);
|
|
46
46
|
agentCount++;
|
|
47
47
|
}
|
|
48
48
|
|
|
49
|
+
// Get tasks
|
|
50
|
+
const tasks = await this.getTasks(bmadDir);
|
|
51
|
+
|
|
49
52
|
// Setup tasks as commands
|
|
50
53
|
let taskCount = 0;
|
|
51
54
|
for (const task of tasks) {
|
|
@@ -72,29 +75,9 @@ class IFlowSetup extends BaseIdeSetup {
|
|
|
72
75
|
/**
|
|
73
76
|
* Create agent command content
|
|
74
77
|
*/
|
|
75
|
-
createAgentCommand(
|
|
76
|
-
//
|
|
77
|
-
|
|
78
|
-
const title = titleMatch ? titleMatch[1] : this.formatTitle(agent.name);
|
|
79
|
-
|
|
80
|
-
let commandContent = `# /${agent.name} Command
|
|
81
|
-
|
|
82
|
-
When this command is used, adopt the following agent persona:
|
|
83
|
-
|
|
84
|
-
## ${title} Agent
|
|
85
|
-
|
|
86
|
-
${content}
|
|
87
|
-
|
|
88
|
-
## Usage
|
|
89
|
-
|
|
90
|
-
This command activates the ${title} agent from the BMAD ${agent.module.toUpperCase()} module.
|
|
91
|
-
|
|
92
|
-
## Module
|
|
93
|
-
|
|
94
|
-
Part of the BMAD ${agent.module.toUpperCase()} module.
|
|
95
|
-
`;
|
|
96
|
-
|
|
97
|
-
return commandContent;
|
|
78
|
+
async createAgentCommand(artifact) {
|
|
79
|
+
// The launcher content is already complete - just return it as-is
|
|
80
|
+
return artifact.content;
|
|
98
81
|
}
|
|
99
82
|
|
|
100
83
|
/**
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
const path = require('node:path');
|
|
2
2
|
const { BaseIdeSetup } = require('./_base-ide');
|
|
3
3
|
const chalk = require('chalk');
|
|
4
|
+
const { AgentCommandGenerator } = require('./shared/agent-command-generator');
|
|
4
5
|
|
|
5
6
|
/**
|
|
6
7
|
* KiloCode IDE setup handler
|
|
@@ -36,16 +37,17 @@ class KiloSetup extends BaseIdeSetup {
|
|
|
36
37
|
console.log(chalk.yellow(`Found existing .kilocodemodes file with ${existingModes.length} modes`));
|
|
37
38
|
}
|
|
38
39
|
|
|
39
|
-
//
|
|
40
|
-
const
|
|
40
|
+
// Generate agent launchers
|
|
41
|
+
const agentGen = new AgentCommandGenerator(this.bmadFolderName);
|
|
42
|
+
const { artifacts: agentArtifacts } = await agentGen.collectAgentArtifacts(bmadDir, options.selectedModules || []);
|
|
41
43
|
|
|
42
44
|
// Create modes content
|
|
43
45
|
let newModesContent = '';
|
|
44
46
|
let addedCount = 0;
|
|
45
47
|
let skippedCount = 0;
|
|
46
48
|
|
|
47
|
-
for (const
|
|
48
|
-
const slug = `bmad-${
|
|
49
|
+
for (const artifact of agentArtifacts) {
|
|
50
|
+
const slug = `bmad-${artifact.module}-${artifact.name}`;
|
|
49
51
|
|
|
50
52
|
// Skip if already exists
|
|
51
53
|
if (existingModes.includes(slug)) {
|
|
@@ -54,8 +56,7 @@ class KiloSetup extends BaseIdeSetup {
|
|
|
54
56
|
continue;
|
|
55
57
|
}
|
|
56
58
|
|
|
57
|
-
const
|
|
58
|
-
const modeEntry = this.createModeEntry(agent, content, projectDir);
|
|
59
|
+
const modeEntry = await this.createModeEntry(artifact, projectDir);
|
|
59
60
|
|
|
60
61
|
newModesContent += modeEntry;
|
|
61
62
|
addedCount++;
|
|
@@ -90,32 +91,35 @@ class KiloSetup extends BaseIdeSetup {
|
|
|
90
91
|
/**
|
|
91
92
|
* Create a mode entry for an agent
|
|
92
93
|
*/
|
|
93
|
-
createModeEntry(
|
|
94
|
-
// Extract metadata
|
|
95
|
-
const titleMatch = content.match(/title="([^"]+)"/);
|
|
96
|
-
const title = titleMatch ? titleMatch[1] : this.formatTitle(
|
|
94
|
+
async createModeEntry(artifact, projectDir) {
|
|
95
|
+
// Extract metadata from launcher content
|
|
96
|
+
const titleMatch = artifact.content.match(/title="([^"]+)"/);
|
|
97
|
+
const title = titleMatch ? titleMatch[1] : this.formatTitle(artifact.name);
|
|
97
98
|
|
|
98
|
-
const iconMatch = content.match(/icon="([^"]+)"/);
|
|
99
|
+
const iconMatch = artifact.content.match(/icon="([^"]+)"/);
|
|
99
100
|
const icon = iconMatch ? iconMatch[1] : '🤖';
|
|
100
101
|
|
|
101
|
-
const whenToUseMatch = content.match(/whenToUse="([^"]+)"/);
|
|
102
|
+
const whenToUseMatch = artifact.content.match(/whenToUse="([^"]+)"/);
|
|
102
103
|
const whenToUse = whenToUseMatch ? whenToUseMatch[1] : `Use for ${title} tasks`;
|
|
103
104
|
|
|
104
|
-
|
|
105
|
+
// Get the activation header from central template
|
|
106
|
+
const activationHeader = await this.getAgentCommandHeader();
|
|
107
|
+
|
|
108
|
+
const roleDefinitionMatch = artifact.content.match(/roleDefinition="([^"]+)"/);
|
|
105
109
|
const roleDefinition = roleDefinitionMatch
|
|
106
110
|
? roleDefinitionMatch[1]
|
|
107
111
|
: `You are a ${title} specializing in ${title.toLowerCase()} tasks.`;
|
|
108
112
|
|
|
109
113
|
// Get relative path
|
|
110
|
-
const relativePath = path.relative(projectDir,
|
|
114
|
+
const relativePath = path.relative(projectDir, artifact.sourcePath).replaceAll('\\', '/');
|
|
111
115
|
|
|
112
116
|
// Build mode entry (KiloCode uses same schema as Roo)
|
|
113
|
-
const slug = `bmad-${
|
|
117
|
+
const slug = `bmad-${artifact.module}-${artifact.name}`;
|
|
114
118
|
let modeEntry = ` - slug: ${slug}\n`;
|
|
115
119
|
modeEntry += ` name: '${icon} ${title}'\n`;
|
|
116
120
|
modeEntry += ` roleDefinition: ${roleDefinition}\n`;
|
|
117
121
|
modeEntry += ` whenToUse: ${whenToUse}\n`;
|
|
118
|
-
modeEntry += ` customInstructions:
|
|
122
|
+
modeEntry += ` customInstructions: ${activationHeader} Read the full YAML from ${relativePath} start activation to alter your state of being follow startup section instructions stay in this being until told to exit this mode\n`;
|
|
119
123
|
modeEntry += ` groups:\n`;
|
|
120
124
|
modeEntry += ` - read\n`;
|
|
121
125
|
modeEntry += ` - edit\n`;
|
|
@@ -10,6 +10,21 @@ class IdeManager {
|
|
|
10
10
|
constructor() {
|
|
11
11
|
this.handlers = new Map();
|
|
12
12
|
this.loadHandlers();
|
|
13
|
+
this.bmadFolderName = 'bmad'; // Default, can be overridden
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* Set the bmad folder name for all IDE handlers
|
|
18
|
+
* @param {string} bmadFolderName - The bmad folder name
|
|
19
|
+
*/
|
|
20
|
+
setBmadFolderName(bmadFolderName) {
|
|
21
|
+
this.bmadFolderName = bmadFolderName;
|
|
22
|
+
// Update all loaded handlers
|
|
23
|
+
for (const handler of this.handlers.values()) {
|
|
24
|
+
if (typeof handler.setBmadFolderName === 'function') {
|
|
25
|
+
handler.setBmadFolderName(bmadFolderName);
|
|
26
|
+
}
|
|
27
|
+
}
|
|
13
28
|
}
|
|
14
29
|
|
|
15
30
|
/**
|
|
@@ -189,6 +204,41 @@ class IdeManager {
|
|
|
189
204
|
|
|
190
205
|
return detected;
|
|
191
206
|
}
|
|
207
|
+
|
|
208
|
+
/**
|
|
209
|
+
* Install custom agent launchers for specified IDEs
|
|
210
|
+
* @param {Array} ides - List of IDE names to install for
|
|
211
|
+
* @param {string} projectDir - Project directory
|
|
212
|
+
* @param {string} agentName - Agent name (e.g., "fred-commit-poet")
|
|
213
|
+
* @param {string} agentPath - Path to compiled agent (relative to project root)
|
|
214
|
+
* @param {Object} metadata - Agent metadata
|
|
215
|
+
* @returns {Object} Results for each IDE
|
|
216
|
+
*/
|
|
217
|
+
async installCustomAgentLaunchers(ides, projectDir, agentName, agentPath, metadata) {
|
|
218
|
+
const results = {};
|
|
219
|
+
|
|
220
|
+
for (const ideName of ides) {
|
|
221
|
+
const handler = this.handlers.get(ideName.toLowerCase());
|
|
222
|
+
|
|
223
|
+
if (!handler) {
|
|
224
|
+
console.warn(chalk.yellow(`⚠️ IDE '${ideName}' is not yet supported for custom agent installation`));
|
|
225
|
+
continue;
|
|
226
|
+
}
|
|
227
|
+
|
|
228
|
+
try {
|
|
229
|
+
if (typeof handler.installCustomAgentLauncher === 'function') {
|
|
230
|
+
const result = await handler.installCustomAgentLauncher(projectDir, agentName, agentPath, metadata);
|
|
231
|
+
if (result) {
|
|
232
|
+
results[ideName] = result;
|
|
233
|
+
}
|
|
234
|
+
}
|
|
235
|
+
} catch (error) {
|
|
236
|
+
console.warn(chalk.yellow(`⚠️ Failed to install ${ideName} launcher: ${error.message}`));
|
|
237
|
+
}
|
|
238
|
+
}
|
|
239
|
+
|
|
240
|
+
return results;
|
|
241
|
+
}
|
|
192
242
|
}
|
|
193
243
|
|
|
194
244
|
module.exports = { IdeManager };
|