bmad-method 6.0.0-alpha.6 → 6.0.0-alpha.8
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/.bmad/_cfg/agent-manifest.csv +11 -0
- package/{bmad → .bmad}/_cfg/files-manifest.csv +170 -157
- package/{bmad → .bmad}/_cfg/ides/claude-code.yaml +2 -2
- package/.bmad/_cfg/manifest.yaml +10 -0
- package/{bmad → .bmad}/_cfg/task-manifest.csv +1 -1
- package/{bmad → .bmad}/_cfg/workflow-manifest.csv +1 -1
- package/{bmad → .bmad}/bmb/agents/bmad-builder.md +12 -12
- package/.bmad/bmb/config.yaml +16 -0
- package/{bmad → .bmad}/bmb/workflows/audit-workflow/checklist.md +2 -2
- package/{bmad → .bmad}/bmb/workflows/audit-workflow/instructions.md +5 -5
- package/{bmad → .bmad}/bmb/workflows/audit-workflow/workflow.yaml +2 -2
- package/{bmad → .bmad}/bmb/workflows/convert-legacy/README.md +5 -5
- package/{bmad → .bmad}/bmb/workflows/convert-legacy/checklist.md +2 -2
- package/{bmad → .bmad}/bmb/workflows/convert-legacy/instructions.md +17 -17
- package/{bmad → .bmad}/bmb/workflows/convert-legacy/workflow.yaml +6 -6
- package/{bmad → .bmad}/bmb/workflows/create-agent/README.md +5 -5
- package/{bmad → .bmad}/bmb/workflows/create-agent/agent-architecture.md +15 -15
- package/{bmad → .bmad}/bmb/workflows/create-agent/agent-command-patterns.md +28 -28
- package/{bmad → .bmad}/bmb/workflows/create-agent/agent-types.md +15 -15
- package/{bmad → .bmad}/bmb/workflows/create-agent/checklist.md +3 -3
- package/{bmad → .bmad}/bmb/workflows/create-agent/instructions.md +34 -18
- package/{bmad → .bmad}/bmb/workflows/create-agent/workflow.yaml +6 -6
- package/{bmad → .bmad}/bmb/workflows/create-module/README.md +1 -1
- package/{bmad → .bmad}/bmb/workflows/create-module/checklist.md +1 -1
- package/{bmad → .bmad}/bmb/workflows/create-module/installer-templates/install-config.yaml +1 -1
- package/{bmad → .bmad}/bmb/workflows/create-module/instructions.md +7 -7
- package/{bmad → .bmad}/bmb/workflows/create-module/module-structure.md +36 -2
- package/{bmad → .bmad}/bmb/workflows/create-module/workflow.yaml +9 -9
- package/{bmad → .bmad}/bmb/workflows/create-workflow/README.md +4 -4
- package/{bmad → .bmad}/bmb/workflows/create-workflow/checklist.md +1 -1
- package/{bmad → .bmad}/bmb/workflows/create-workflow/instructions.md +29 -29
- package/{bmad → .bmad}/bmb/workflows/create-workflow/workflow-creation-guide.md +36 -36
- package/{bmad → .bmad}/bmb/workflows/create-workflow/workflow-template/instructions.md +2 -2
- package/{bmad → .bmad}/bmb/workflows/create-workflow/workflow-template/workflow.yaml +1 -1
- package/{bmad → .bmad}/bmb/workflows/create-workflow/workflow.yaml +5 -5
- package/{bmad → .bmad}/bmb/workflows/edit-agent/checklist.md +1 -1
- package/{bmad → .bmad}/bmb/workflows/edit-agent/instructions.md +2 -2
- package/{bmad → .bmad}/bmb/workflows/edit-agent/workflow.yaml +8 -8
- package/{bmad → .bmad}/bmb/workflows/edit-module/README.md +2 -2
- package/{bmad → .bmad}/bmb/workflows/edit-module/checklist.md +2 -2
- package/{bmad → .bmad}/bmb/workflows/edit-module/instructions.md +4 -4
- package/{bmad → .bmad}/bmb/workflows/edit-module/workflow.yaml +10 -10
- package/{bmad → .bmad}/bmb/workflows/edit-workflow/instructions.md +4 -4
- package/{bmad → .bmad}/bmb/workflows/edit-workflow/workflow.yaml +5 -5
- package/{bmad → .bmad}/bmb/workflows/module-brief/README.md +2 -2
- package/{bmad → .bmad}/bmb/workflows/module-brief/instructions.md +2 -2
- package/{bmad → .bmad}/bmb/workflows/module-brief/workflow.yaml +4 -4
- package/{bmad → .bmad}/bmb/workflows/redoc/README.md +5 -5
- package/{bmad → .bmad}/bmb/workflows/redoc/instructions.md +1 -1
- package/{bmad → .bmad}/bmb/workflows/redoc/workflow.yaml +1 -1
- package/{bmad → .bmad}/bmm/agents/analyst.md +20 -12
- package/{bmad → .bmad}/bmm/agents/architect.md +19 -11
- package/{bmad → .bmad}/bmm/agents/dev.md +10 -10
- package/{bmad → .bmad}/bmm/agents/pm.md +23 -15
- package/{bmad → .bmad}/bmm/agents/sm.md +26 -18
- package/{bmad → .bmad}/bmm/agents/tea.md +25 -17
- package/{bmad → .bmad}/bmm/agents/tech-writer.md +16 -8
- package/{bmad → .bmad}/bmm/agents/ux-designer.md +18 -10
- package/{bmad → .bmad}/bmm/config.yaml +7 -7
- package/.bmad/bmm/docs/README.md +235 -0
- package/.bmad/bmm/docs/agents-guide.md +1056 -0
- package/.bmad/bmm/docs/brownfield-guide.md +754 -0
- package/.bmad/bmm/docs/enterprise-agentic-development.md +680 -0
- package/.bmad/bmm/docs/faq.md +587 -0
- package/.bmad/bmm/docs/glossary.md +320 -0
- package/.bmad/bmm/docs/party-mode.md +224 -0
- package/.bmad/bmm/docs/quick-spec-flow.md +652 -0
- package/.bmad/bmm/docs/quick-start.md +366 -0
- package/.bmad/bmm/docs/scale-adaptive-system.md +599 -0
- package/.bmad/bmm/docs/test-architecture.md +394 -0
- package/.bmad/bmm/docs/workflow-architecture-reference.md +371 -0
- package/.bmad/bmm/docs/workflow-document-project-reference.md +487 -0
- package/.bmad/bmm/docs/workflows-analysis.md +370 -0
- package/.bmad/bmm/docs/workflows-implementation.md +284 -0
- package/.bmad/bmm/docs/workflows-planning.md +601 -0
- package/.bmad/bmm/docs/workflows-solutioning.md +501 -0
- package/{bmad → .bmad}/bmm/tasks/daily-standup.xml +2 -2
- package/.bmad/bmm/teams/default-party.csv +19 -0
- package/{bmad → .bmad}/bmm/teams/team-fullstack.yaml +1 -0
- package/{bmad → .bmad}/bmm/workflows/1-analysis/brainstorm-project/instructions.md +1 -1
- package/{bmad → .bmad}/bmm/workflows/1-analysis/brainstorm-project/workflow.yaml +3 -3
- package/{bmad → .bmad}/bmm/workflows/1-analysis/domain-research/instructions.md +1 -1
- package/.bmad/bmm/workflows/1-analysis/domain-research/workflow.yaml +40 -0
- package/{bmad → .bmad}/bmm/workflows/1-analysis/product-brief/instructions.md +1 -1
- package/{bmad → .bmad}/bmm/workflows/1-analysis/product-brief/workflow.yaml +2 -2
- package/{bmad → .bmad}/bmm/workflows/1-analysis/research/instructions-deep-prompt.md +2 -2
- package/{bmad → .bmad}/bmm/workflows/1-analysis/research/instructions-market.md +6 -6
- package/{bmad → .bmad}/bmm/workflows/1-analysis/research/instructions-router.md +1 -1
- package/{bmad → .bmad}/bmm/workflows/1-analysis/research/instructions-technical.md +4 -4
- package/{bmad → .bmad}/bmm/workflows/1-analysis/research/workflow.yaml +2 -2
- package/{bmad → .bmad}/bmm/workflows/2-plan-workflows/create-ux-design/instructions.md +1 -1
- package/{bmad → .bmad}/bmm/workflows/2-plan-workflows/create-ux-design/workflow.yaml +3 -7
- package/{bmad → .bmad}/bmm/workflows/2-plan-workflows/prd/create-epics-and-stories/instructions.md +3 -3
- package/{bmad → .bmad}/bmm/workflows/2-plan-workflows/prd/create-epics-and-stories/workflow.yaml +2 -2
- package/{bmad → .bmad}/bmm/workflows/2-plan-workflows/prd/instructions.md +6 -6
- package/{bmad → .bmad}/bmm/workflows/2-plan-workflows/prd/workflow.yaml +2 -2
- package/{bmad → .bmad}/bmm/workflows/2-plan-workflows/tech-spec/checklist.md +1 -1
- package/{bmad → .bmad}/bmm/workflows/2-plan-workflows/tech-spec/instructions-level0-story.md +5 -5
- package/{bmad → .bmad}/bmm/workflows/2-plan-workflows/tech-spec/instructions-level1-stories.md +6 -6
- package/{bmad → .bmad}/bmm/workflows/2-plan-workflows/tech-spec/instructions.md +2 -2
- package/{bmad → .bmad}/bmm/workflows/2-plan-workflows/tech-spec/workflow.yaml +2 -2
- package/{bmad → .bmad}/bmm/workflows/3-solutioning/architecture/instructions.md +6 -6
- package/{bmad → .bmad}/bmm/workflows/3-solutioning/architecture/workflow.yaml +3 -2
- package/{bmad → .bmad}/bmm/workflows/3-solutioning/solutioning-gate-check/instructions.md +2 -2
- package/{bmad → .bmad}/bmm/workflows/3-solutioning/solutioning-gate-check/workflow.yaml +4 -4
- package/{bmad → .bmad}/bmm/workflows/4-implementation/code-review/instructions.md +2 -2
- package/{bmad → .bmad}/bmm/workflows/4-implementation/code-review/workflow.yaml +4 -13
- package/{bmad → .bmad}/bmm/workflows/4-implementation/correct-course/checklist.md +1 -1
- package/{bmad → .bmad}/bmm/workflows/4-implementation/correct-course/instructions.md +2 -2
- package/{bmad → .bmad}/bmm/workflows/4-implementation/correct-course/workflow.yaml +2 -2
- package/{bmad → .bmad}/bmm/workflows/4-implementation/create-story/instructions.md +3 -3
- package/{bmad → .bmad}/bmm/workflows/4-implementation/create-story/workflow.yaml +3 -3
- package/{bmad → .bmad}/bmm/workflows/4-implementation/dev-story/AUDIT-REPORT.md +3 -3
- package/{bmad → .bmad}/bmm/workflows/4-implementation/dev-story/instructions.md +2 -2
- package/{bmad → .bmad}/bmm/workflows/4-implementation/dev-story/workflow.yaml +3 -3
- package/{bmad → .bmad}/bmm/workflows/4-implementation/epic-tech-context/checklist.md +1 -1
- package/{bmad → .bmad}/bmm/workflows/4-implementation/epic-tech-context/instructions.md +2 -2
- package/{bmad → .bmad}/bmm/workflows/4-implementation/epic-tech-context/workflow.yaml +2 -2
- package/{bmad → .bmad}/bmm/workflows/4-implementation/retrospective/instructions.md +2 -2
- package/{bmad → .bmad}/bmm/workflows/4-implementation/retrospective/workflow.yaml +4 -4
- package/{bmad → .bmad}/bmm/workflows/4-implementation/sprint-planning/instructions.md +2 -2
- package/{bmad → .bmad}/bmm/workflows/4-implementation/sprint-planning/workflow.yaml +3 -3
- package/{bmad → .bmad}/bmm/workflows/4-implementation/story-context/checklist.md +1 -1
- package/{bmad → .bmad}/bmm/workflows/4-implementation/story-context/context-template.xml +1 -1
- package/{bmad → .bmad}/bmm/workflows/4-implementation/story-context/instructions.md +2 -2
- package/{bmad → .bmad}/bmm/workflows/4-implementation/story-context/workflow.yaml +4 -4
- package/{bmad → .bmad}/bmm/workflows/4-implementation/story-done/instructions.md +1 -1
- package/{bmad → .bmad}/bmm/workflows/4-implementation/story-done/workflow.yaml +3 -3
- package/{bmad → .bmad}/bmm/workflows/4-implementation/story-ready/instructions.md +1 -1
- package/{bmad → .bmad}/bmm/workflows/4-implementation/story-ready/workflow.yaml +3 -3
- package/{bmad → .bmad}/bmm/workflows/document-project/instructions.md +5 -5
- package/{bmad → .bmad}/bmm/workflows/document-project/workflow.yaml +2 -2
- package/{bmad → .bmad}/bmm/workflows/document-project/workflows/deep-dive.yaml +5 -5
- package/{bmad → .bmad}/bmm/workflows/document-project/workflows/full-scan.yaml +5 -5
- package/{bmad → .bmad}/bmm/workflows/testarch/atdd/instructions.md +2 -2
- package/{bmad → .bmad}/bmm/workflows/testarch/atdd/workflow.yaml +2 -2
- package/{bmad → .bmad}/bmm/workflows/testarch/automate/instructions.md +2 -2
- package/{bmad → .bmad}/bmm/workflows/testarch/automate/workflow.yaml +2 -2
- package/{bmad → .bmad}/bmm/workflows/testarch/ci/instructions.md +2 -2
- package/{bmad → .bmad}/bmm/workflows/testarch/ci/workflow.yaml +2 -2
- package/{bmad → .bmad}/bmm/workflows/testarch/framework/instructions.md +2 -2
- package/{bmad → .bmad}/bmm/workflows/testarch/framework/workflow.yaml +2 -2
- package/{bmad → .bmad}/bmm/workflows/testarch/nfr-assess/instructions.md +1 -1
- package/{bmad → .bmad}/bmm/workflows/testarch/nfr-assess/workflow.yaml +2 -2
- package/{bmad → .bmad}/bmm/workflows/testarch/test-design/instructions.md +2 -2
- package/{bmad → .bmad}/bmm/workflows/testarch/test-design/test-design-template.md +1 -1
- package/{bmad → .bmad}/bmm/workflows/testarch/test-design/workflow.yaml +2 -2
- package/{bmad → .bmad}/bmm/workflows/testarch/test-review/instructions.md +1 -1
- package/{bmad → .bmad}/bmm/workflows/testarch/test-review/workflow.yaml +2 -2
- package/{bmad → .bmad}/bmm/workflows/testarch/trace/instructions.md +9 -9
- package/{bmad → .bmad}/bmm/workflows/testarch/trace/workflow.yaml +2 -2
- package/{bmad → .bmad}/bmm/workflows/workflow-status/init/instructions.md +74 -23
- package/{bmad → .bmad}/bmm/workflows/workflow-status/init/workflow.yaml +4 -4
- package/{bmad → .bmad}/bmm/workflows/workflow-status/instructions.md +5 -4
- package/{bmad → .bmad}/bmm/workflows/workflow-status/paths/enterprise-brownfield.yaml +18 -11
- package/{bmad → .bmad}/bmm/workflows/workflow-status/paths/enterprise-greenfield.yaml +18 -11
- package/.bmad/bmm/workflows/workflow-status/paths/game-design.yaml +52 -0
- package/{bmad → .bmad}/bmm/workflows/workflow-status/project-levels.yaml +1 -1
- package/{bmad → .bmad}/bmm/workflows/workflow-status/workflow.yaml +2 -2
- package/{bmad → .bmad}/core/agents/bmad-master.md +7 -7
- package/{bmad → .bmad}/core/agents/bmad-web-orchestrator.agent.xml +8 -17
- package/{bmad → .bmad}/core/config.yaml +4 -2
- package/{bmad → .bmad}/core/tasks/adv-elicit.xml +5 -3
- package/{bmad → .bmad}/core/tasks/index-docs.xml +1 -1
- package/{bmad → .bmad}/core/tasks/validate-workflow.xml +1 -1
- package/{bmad → .bmad}/core/tasks/workflow.xml +1 -1
- package/{bmad → .bmad}/core/tools/shard-doc.xml +1 -1
- package/{bmad → .bmad}/core/workflows/brainstorming/README.md +2 -2
- package/{bmad → .bmad}/core/workflows/brainstorming/instructions.md +3 -3
- package/{bmad → .bmad}/core/workflows/brainstorming/workflow.yaml +8 -8
- package/{bmad → .bmad}/core/workflows/party-mode/instructions.md +2 -7
- package/.bmad/core/workflows/party-mode/workflow.yaml +27 -0
- package/.claude/commands/bmad/bmb/agents/bmad-builder.md +12 -12
- package/.claude/commands/bmad/bmm/agents/analyst.md +20 -12
- package/.claude/commands/bmad/bmm/agents/architect.md +19 -11
- package/.claude/commands/bmad/bmm/agents/dev.md +10 -10
- package/.claude/commands/bmad/bmm/agents/pm.md +23 -15
- package/.claude/commands/bmad/bmm/agents/sm.md +26 -18
- package/.claude/commands/bmad/bmm/agents/tea.md +25 -17
- package/.claude/commands/bmad/bmm/agents/tech-writer.md +16 -8
- package/.claude/commands/bmad/bmm/agents/ux-designer.md +18 -10
- package/.claude/commands/bmad/bmm/workflows/domain-research.md +15 -0
- package/.claude/commands/bmad/core/agents/bmad-master.md +7 -7
- package/.claude/commands/bmad/core/tasks/adv-elicit.md +9 -0
- package/.claude/settings.local.json +6 -5
- package/.github/workflows/{lint.yaml → quality.yaml} +19 -2
- package/.husky/pre-commit +4 -0
- package/.vscode/settings.json +2 -1
- package/README.md +59 -1
- package/docs/installers-bundlers/installers-modules-platforms-reference.md +61 -0
- package/package.json +5 -3
- package/src/core/_module-installer/install-config.yaml +15 -9
- 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/tasks/adv-elicit.xml +5 -3
- package/src/core/tasks/index-docs.xml +1 -1
- package/src/core/tasks/validate-workflow.xml +1 -1
- package/src/core/tasks/workflow.xml +1 -1
- package/src/core/tools/shard-doc.xml +1 -1
- package/src/core/workflows/brainstorming/README.md +2 -2
- package/src/core/workflows/brainstorming/instructions.md +3 -3
- package/src/core/workflows/brainstorming/workflow.yaml +8 -8
- package/src/core/workflows/party-mode/instructions.md +2 -7
- package/src/core/workflows/party-mode/workflow.yaml +10 -6
- package/src/modules/bmb/_module-installer/install-config.yaml +9 -4
- package/src/modules/bmb/agents/bmad-builder.agent.yaml +11 -10
- package/src/modules/bmb/workflows/audit-workflow/checklist.md +2 -2
- package/src/modules/bmb/workflows/audit-workflow/instructions.md +5 -5
- 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 -6
- package/src/modules/bmb/workflows/create-agent/README.md +5 -5
- package/src/modules/bmb/workflows/create-agent/agent-architecture.md +15 -15
- package/src/modules/bmb/workflows/create-agent/agent-command-patterns.md +28 -28
- package/src/modules/bmb/workflows/create-agent/agent-types.md +15 -15
- package/src/modules/bmb/workflows/create-agent/checklist.md +3 -3
- package/src/modules/bmb/workflows/create-agent/instructions.md +34 -18
- package/src/modules/bmb/workflows/create-agent/workflow.yaml +12 -12
- package/src/modules/bmb/workflows/create-module/README.md +1 -1
- package/src/modules/bmb/workflows/create-module/checklist.md +1 -1
- package/src/modules/bmb/workflows/create-module/installer-templates/install-config.yaml +1 -1
- package/src/modules/bmb/workflows/create-module/instructions.md +7 -7
- package/src/modules/bmb/workflows/create-module/module-structure.md +36 -2
- package/src/modules/bmb/workflows/create-module/workflow.yaml +9 -9
- 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 +29 -29
- package/src/modules/bmb/workflows/create-workflow/workflow-creation-guide.md +42 -42
- package/src/modules/bmb/workflows/create-workflow/workflow-template/instructions.md +2 -2
- package/src/modules/bmb/workflows/create-workflow/workflow-template/workflow.yaml +12 -12
- package/src/modules/bmb/workflows/create-workflow/workflow.yaml +5 -5
- package/src/modules/bmb/workflows/edit-agent/checklist.md +1 -1
- package/src/modules/bmb/workflows/edit-agent/instructions.md +2 -2
- package/src/modules/bmb/workflows/edit-agent/workflow.yaml +8 -8
- 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 +4 -4
- package/src/modules/bmb/workflows/edit-module/workflow.yaml +10 -10
- package/src/modules/bmb/workflows/edit-workflow/instructions.md +4 -4
- package/src/modules/bmb/workflows/edit-workflow/workflow.yaml +5 -5
- package/src/modules/bmb/workflows/module-brief/README.md +2 -2
- package/src/modules/bmb/workflows/module-brief/instructions.md +2 -2
- package/src/modules/bmb/workflows/module-brief/workflow.yaml +4 -4
- package/src/modules/bmb/workflows/redoc/README.md +5 -5
- package/src/modules/bmb/workflows/redoc/instructions.md +1 -1
- package/src/modules/bmb/workflows/redoc/workflow.yaml +1 -1
- package/src/modules/bmgd/README.md +208 -0
- package/src/modules/bmgd/_module-installer/install-config.yaml +67 -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/{bmm/workflows/1-analysis → bmgd/workflows/1-preproduction}/brainstorm-game/instructions.md +1 -1
- 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 +1 -1
- package/src/modules/{bmm/workflows/1-analysis → bmgd/workflows/1-preproduction}/game-brief/workflow.yaml +9 -9
- package/src/modules/{bmm/workflows/2-plan-workflows → bmgd/workflows/2-design}/gdd/instructions-gdd.md +8 -8
- 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 +6 -6
- package/src/modules/{bmm/workflows/2-plan-workflows → bmgd/workflows/2-design}/narrative/workflow.yaml +6 -6
- package/src/modules/bmgd/workflows/3-technical/game-architecture/architecture-patterns.yaml +347 -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 +244 -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 +704 -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 +67 -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 +420 -0
- package/src/modules/bmgd/workflows/4-production/code-review/workflow.yaml +67 -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 +201 -0
- package/src/modules/bmgd/workflows/4-production/correct-course/workflow.yaml +45 -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 +283 -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 +76 -0
- package/src/modules/bmgd/workflows/4-production/dev-story/AUDIT-REPORT.md +367 -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 +262 -0
- package/src/modules/bmgd/workflows/4-production/dev-story/workflow.yaml +28 -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 +189 -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 +60 -0
- package/src/modules/bmgd/workflows/4-production/retrospective/instructions.md +1460 -0
- package/src/modules/bmgd/workflows/4-production/retrospective/workflow.yaml +73 -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 +238 -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 +49 -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 +234 -0
- package/src/modules/bmgd/workflows/4-production/story-context/workflow.yaml +59 -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 +27 -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 +27 -0
- package/src/modules/bmm/_module-installer/install-config.yaml +10 -24
- package/src/modules/bmm/_module-installer/installer.js +2 -2
- package/src/modules/bmm/agents/analyst.agent.yaml +20 -15
- package/src/modules/bmm/agents/architect.agent.yaml +17 -12
- package/src/modules/bmm/agents/dev.agent.yaml +9 -12
- package/src/modules/bmm/agents/pm.agent.yaml +24 -23
- package/src/modules/bmm/agents/sm.agent.yaml +24 -19
- package/src/modules/bmm/agents/tea.agent.yaml +23 -17
- package/src/modules/bmm/agents/tech-writer.agent.yaml +14 -10
- package/src/modules/bmm/agents/ux-designer.agent.yaml +16 -11
- package/src/modules/bmm/docs/README.md +8 -9
- package/src/modules/bmm/docs/agents-guide.md +4 -5
- package/src/modules/bmm/docs/brownfield-guide.md +9 -13
- package/src/modules/bmm/docs/enterprise-agentic-development.md +3 -3
- package/src/modules/bmm/docs/faq.md +5 -7
- package/src/modules/bmm/docs/glossary.md +0 -1
- package/src/modules/bmm/docs/party-mode.md +3 -3
- package/src/modules/bmm/docs/quick-spec-flow.md +4 -4
- package/src/modules/bmm/docs/quick-start.md +5 -5
- package/src/modules/bmm/docs/scale-adaptive-system.md +5 -5
- package/src/modules/bmm/docs/test-architecture.md +184 -119
- package/src/modules/bmm/docs/workflow-document-project-reference.md +1 -1
- package/src/modules/bmm/docs/workflows-analysis.md +203 -539
- package/src/modules/bmm/docs/workflows-planning.md +326 -850
- package/src/modules/bmm/docs/workflows-solutioning.md +250 -505
- package/src/modules/bmm/sub-modules/claude-code/README.md +1 -1
- package/src/modules/bmm/sub-modules/claude-code/injections.yaml +22 -22
- package/src/modules/bmm/tasks/daily-standup.xml +2 -2
- package/src/modules/bmm/teams/default-party.csv +19 -0
- package/src/modules/bmm/teams/team-fullstack.yaml +1 -0
- package/src/modules/bmm/workflows/1-analysis/brainstorm-project/instructions.md +1 -1
- package/src/modules/bmm/workflows/1-analysis/brainstorm-project/workflow.yaml +8 -8
- package/src/modules/bmm/workflows/1-analysis/domain-research/instructions.md +1 -1
- package/src/modules/bmm/workflows/1-analysis/domain-research/workflow.yaml +65 -32
- package/src/modules/bmm/workflows/1-analysis/product-brief/instructions.md +1 -1
- package/src/modules/bmm/workflows/1-analysis/product-brief/workflow.yaml +12 -8
- package/src/modules/bmm/workflows/1-analysis/research/instructions-deep-prompt.md +2 -2
- package/src/modules/bmm/workflows/1-analysis/research/instructions-market.md +6 -6
- package/src/modules/bmm/workflows/1-analysis/research/instructions-router.md +1 -1
- package/src/modules/bmm/workflows/1-analysis/research/instructions-technical.md +4 -4
- package/src/modules/bmm/workflows/1-analysis/research/workflow.yaml +14 -14
- package/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/instructions.md +1 -1
- package/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/workflow.yaml +36 -7
- package/src/modules/bmm/workflows/2-plan-workflows/prd/create-epics-and-stories/instructions.md +3 -3
- package/src/modules/bmm/workflows/2-plan-workflows/prd/create-epics-and-stories/workflow.yaml +6 -6
- package/src/modules/bmm/workflows/2-plan-workflows/prd/instructions.md +6 -6
- package/src/modules/bmm/workflows/2-plan-workflows/prd/workflow.yaml +21 -13
- package/src/modules/bmm/workflows/2-plan-workflows/tech-spec/checklist.md +1 -1
- package/src/modules/bmm/workflows/2-plan-workflows/tech-spec/instructions-level0-story.md +5 -5
- package/src/modules/bmm/workflows/2-plan-workflows/tech-spec/instructions-level1-stories.md +6 -6
- package/src/modules/bmm/workflows/2-plan-workflows/tech-spec/instructions.md +2 -2
- package/src/modules/bmm/workflows/2-plan-workflows/tech-spec/workflow.yaml +15 -9
- package/src/modules/bmm/workflows/3-solutioning/architecture/instructions.md +6 -6
- package/src/modules/bmm/workflows/3-solutioning/architecture/workflow.yaml +49 -2
- package/src/modules/bmm/workflows/3-solutioning/solutioning-gate-check/instructions.md +2 -2
- package/src/modules/bmm/workflows/3-solutioning/solutioning-gate-check/workflow.yaml +4 -4
- package/src/modules/bmm/workflows/4-implementation/code-review/instructions.md +38 -38
- package/src/modules/bmm/workflows/4-implementation/code-review/workflow.yaml +6 -23
- package/src/modules/bmm/workflows/4-implementation/correct-course/checklist.md +1 -1
- package/src/modules/bmm/workflows/4-implementation/correct-course/instructions.md +2 -2
- package/src/modules/bmm/workflows/4-implementation/correct-course/workflow.yaml +2 -2
- package/src/modules/bmm/workflows/4-implementation/create-story/instructions.md +38 -40
- package/src/modules/bmm/workflows/4-implementation/create-story/workflow.yaml +6 -19
- package/src/modules/bmm/workflows/4-implementation/dev-story/AUDIT-REPORT.md +3 -3
- package/src/modules/bmm/workflows/4-implementation/dev-story/instructions.md +2 -2
- package/src/modules/bmm/workflows/4-implementation/dev-story/workflow.yaml +3 -3
- 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 +26 -28
- package/src/modules/bmm/workflows/4-implementation/epic-tech-context/workflow.yaml +6 -18
- package/src/modules/bmm/workflows/4-implementation/retrospective/instructions.md +11 -11
- package/src/modules/bmm/workflows/4-implementation/retrospective/workflow.yaml +8 -11
- package/src/modules/bmm/workflows/4-implementation/sprint-planning/instructions.md +6 -15
- package/src/modules/bmm/workflows/4-implementation/sprint-planning/workflow.yaml +5 -4
- 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 +8 -9
- package/src/modules/bmm/workflows/4-implementation/story-context/workflow.yaml +6 -14
- package/src/modules/bmm/workflows/4-implementation/story-done/instructions.md +1 -1
- package/src/modules/bmm/workflows/4-implementation/story-done/workflow.yaml +4 -4
- package/src/modules/bmm/workflows/4-implementation/story-ready/instructions.md +1 -1
- package/src/modules/bmm/workflows/4-implementation/story-ready/workflow.yaml +4 -4
- package/src/modules/bmm/workflows/document-project/instructions.md +5 -5
- package/src/modules/bmm/workflows/document-project/workflow.yaml +2 -2
- package/src/modules/bmm/workflows/document-project/workflows/deep-dive.yaml +5 -5
- package/src/modules/bmm/workflows/document-project/workflows/full-scan.yaml +5 -5
- package/src/modules/bmm/workflows/testarch/atdd/instructions.md +2 -2
- package/src/modules/bmm/workflows/testarch/atdd/workflow.yaml +2 -2
- package/src/modules/bmm/workflows/testarch/automate/instructions.md +2 -2
- package/src/modules/bmm/workflows/testarch/automate/workflow.yaml +2 -2
- package/src/modules/bmm/workflows/testarch/ci/instructions.md +2 -2
- package/src/modules/bmm/workflows/testarch/ci/workflow.yaml +2 -2
- package/src/modules/bmm/workflows/testarch/framework/instructions.md +2 -2
- package/src/modules/bmm/workflows/testarch/framework/workflow.yaml +2 -2
- package/src/modules/bmm/workflows/testarch/nfr-assess/instructions.md +1 -1
- package/src/modules/bmm/workflows/testarch/nfr-assess/workflow.yaml +2 -2
- package/src/modules/bmm/workflows/testarch/test-design/instructions.md +2 -2
- package/src/modules/bmm/workflows/testarch/test-design/test-design-template.md +1 -1
- package/src/modules/bmm/workflows/testarch/test-design/workflow.yaml +2 -2
- package/src/modules/bmm/workflows/testarch/test-review/instructions.md +1 -1
- package/src/modules/bmm/workflows/testarch/test-review/workflow.yaml +2 -2
- package/src/modules/bmm/workflows/testarch/trace/instructions.md +9 -9
- package/src/modules/bmm/workflows/testarch/trace/workflow.yaml +2 -2
- package/src/modules/bmm/workflows/workflow-status/init/instructions.md +78 -26
- package/src/modules/bmm/workflows/workflow-status/init/workflow.yaml +5 -4
- package/src/modules/bmm/workflows/workflow-status/instructions.md +5 -4
- package/src/modules/bmm/workflows/workflow-status/paths/enterprise-brownfield.yaml +18 -11
- package/src/modules/bmm/workflows/workflow-status/paths/enterprise-greenfield.yaml +18 -11
- package/src/modules/bmm/workflows/workflow-status/paths/game-design.yaml +42 -65
- package/src/modules/bmm/workflows/workflow-status/project-levels.yaml +1 -1
- package/src/modules/bmm/workflows/workflow-status/workflow.yaml +2 -2
- package/src/modules/cis/README.md +1 -1
- 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/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 +1 -1
- package/src/modules/cis/workflows/design-thinking/instructions.md +2 -2
- package/src/modules/cis/workflows/design-thinking/workflow.yaml +7 -7
- package/src/modules/cis/workflows/innovation-strategy/instructions.md +2 -2
- package/src/modules/cis/workflows/innovation-strategy/workflow.yaml +7 -7
- package/src/modules/cis/workflows/problem-solving/instructions.md +2 -2
- package/src/modules/cis/workflows/problem-solving/workflow.yaml +7 -7
- package/src/modules/cis/workflows/storytelling/instructions.md +2 -2
- package/src/modules/cis/workflows/storytelling/workflow.yaml +7 -7
- 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/cli/bundlers/web-bundler.js +208 -20
- package/tools/cli/commands/install.js +1 -4
- package/tools/cli/installers/lib/core/config-collector.js +201 -28
- package/tools/cli/installers/lib/core/detector.js +62 -7
- package/tools/cli/installers/lib/core/installer.js +158 -23
- package/tools/cli/installers/lib/core/manifest-generator.js +26 -115
- package/tools/cli/installers/lib/ide/_base-ide.js +57 -3
- package/tools/cli/installers/lib/ide/auggie.js +81 -238
- package/tools/cli/installers/lib/ide/claude-code.js +47 -25
- package/tools/cli/installers/lib/ide/cline.js +15 -18
- package/tools/cli/installers/lib/ide/codex.js +17 -48
- package/tools/cli/installers/lib/ide/crush.js +14 -50
- package/tools/cli/installers/lib/ide/cursor.js +68 -8
- package/tools/cli/installers/lib/ide/gemini.js +87 -37
- package/tools/cli/installers/lib/ide/github-copilot.js +47 -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 +15 -0
- package/tools/cli/installers/lib/ide/opencode.js +16 -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 +18 -8
- package/tools/cli/installers/lib/modules/manager.js +207 -7
- package/tools/cli/lib/cli-utils.js +52 -50
- package/tools/cli/lib/ui.js +15 -8
- package/tools/cli/lib/yaml-xml-builder.js +9 -1
- package/tools/schema/agent.js +8 -3
- package/v6-open-items.md +3 -9
- package/web-bundles/bmgd/agents/game-architect.xml +664 -0
- package/web-bundles/bmgd/agents/game-designer.xml +5489 -0
- package/web-bundles/bmgd/agents/game-dev.xml +595 -0
- package/web-bundles/bmgd/agents/game-scrum-master.xml +699 -0
- package/web-bundles/bmgd/teams/team-gamedev.xml +6588 -0
- package/web-bundles/bmm/agents/analyst.xml +5263 -0
- package/web-bundles/bmm/agents/architect.xml +2378 -0
- package/web-bundles/bmm/agents/dev.xml +248 -0
- package/web-bundles/bmm/agents/pm.xml +4137 -0
- package/web-bundles/bmm/agents/sm.xml +708 -0
- package/web-bundles/bmm/agents/tea.xml +759 -0
- package/web-bundles/bmm/agents/tech-writer.xml +624 -0
- package/web-bundles/bmm/agents/ux-designer.xml +2492 -0
- package/web-bundles/bmm/teams/team-fullstack.xml +12369 -0
- package/web-bundles/cis/agents/brainstorming-coach.xml +1069 -0
- package/web-bundles/cis/agents/creative-problem-solver.xml +1060 -0
- package/web-bundles/cis/agents/design-thinking-coach.xml +955 -0
- package/web-bundles/cis/agents/innovation-strategist.xml +1108 -0
- package/web-bundles/cis/agents/storyteller.xml +598 -0
- package/web-bundles/cis/teams/creative-squad.xml +3449 -0
- package/.claude/agents/bmad-analysis/api-documenter.md +0 -102
- package/.claude/agents/bmad-analysis/codebase-analyzer.md +0 -82
- package/.claude/agents/bmad-analysis/data-analyst.md +0 -101
- package/.claude/agents/bmad-analysis/pattern-detector.md +0 -84
- package/.claude/agents/bmad-planning/dependency-mapper.md +0 -83
- package/.claude/agents/bmad-planning/epic-optimizer.md +0 -81
- package/.claude/agents/bmad-planning/requirements-analyst.md +0 -61
- package/.claude/agents/bmad-planning/technical-decisions-curator.md +0 -168
- package/.claude/agents/bmad-planning/trend-spotter.md +0 -115
- package/.claude/agents/bmad-planning/user-journey-mapper.md +0 -123
- package/.claude/agents/bmad-planning/user-researcher.md +0 -72
- package/.claude/agents/bmad-research/market-researcher.md +0 -51
- package/.claude/agents/bmad-research/tech-debt-auditor.md +0 -106
- package/.claude/agents/bmad-review/document-reviewer.md +0 -102
- package/.claude/agents/bmad-review/technical-evaluator.md +0 -68
- package/.claude/agents/bmad-review/test-coverage-analyzer.md +0 -108
- package/.claude/commands/bmad/bmb/workflows/README.md +0 -67
- package/.claude/commands/bmad/bmm/workflows/README.md +0 -132
- package/.claude/commands/bmad/bmm/workflows/narrative.md +0 -15
- package/.claude/commands/bmad/cis/agents/README.md +0 -104
- package/.claude/commands/bmad/cis/agents/brainstorming-coach.md +0 -62
- package/.claude/commands/bmad/cis/agents/creative-problem-solver.md +0 -62
- package/.claude/commands/bmad/cis/agents/design-thinking-coach.md +0 -62
- package/.claude/commands/bmad/cis/agents/innovation-strategist.md +0 -62
- package/.claude/commands/bmad/cis/agents/storyteller.md +0 -59
- package/.claude/commands/bmad/cis/workflows/README.md +0 -37
- package/.claude/commands/bmad/cis/workflows/design-thinking.md +0 -15
- package/.claude/commands/bmad/cis/workflows/innovation-strategy.md +0 -15
- package/.claude/commands/bmad/cis/workflows/problem-solving.md +0 -15
- package/.claude/commands/bmad/cis/workflows/storytelling.md +0 -15
- package/.claude/commands/bmad/core/workflows/README.md +0 -27
- package/bmad/_cfg/agent-manifest.csv +0 -11
- package/bmad/_cfg/manifest.yaml +0 -10
- package/bmad/bmb/config.yaml +0 -14
- package/bmad/bmm/teams/team-gamedev.yaml +0 -14
- package/bmad/bmm/workflows/1-analysis/domain-research/workflow.yaml +0 -36
- package/bmad/bmm/workflows/2-plan-workflows/narrative/instructions-narrative.md +0 -608
- package/bmad/bmm/workflows/2-plan-workflows/narrative/workflow.yaml +0 -29
- package/bmad/bmm/workflows/workflow-status/paths/game-design.yaml +0 -75
- package/bmad/core/workflows/party-mode/workflow.yaml +0 -23
- 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/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 -35
- package/src/modules/bmm/docs/troubleshooting.md +0 -680
- package/src/modules/bmm/workflows/2-plan-workflows/gdd/workflow.yaml +0 -81
- package/src/modules/bmm/workflows/2-plan-workflows/narrative/checklist.md +0 -139
- package/src/modules/bmm/workflows/2-plan-workflows/narrative/narrative-template.md +0 -195
- package/test/fixtures/agent-schema/invalid/persona/principles-as-string.agent.yaml +0 -23
- /package/{bmad → .bmad}/_cfg/agents/bmb-bmad-builder.customize.yaml +0 -0
- /package/{bmad → .bmad}/_cfg/agents/bmm-analyst.customize.yaml +0 -0
- /package/{bmad → .bmad}/_cfg/agents/bmm-architect.customize.yaml +0 -0
- /package/{bmad → .bmad}/_cfg/agents/bmm-dev.customize.yaml +0 -0
- /package/{bmad → .bmad}/_cfg/agents/bmm-pm.customize.yaml +0 -0
- /package/{bmad → .bmad}/_cfg/agents/bmm-sm.customize.yaml +0 -0
- /package/{bmad → .bmad}/_cfg/agents/bmm-tea.customize.yaml +0 -0
- /package/{bmad → .bmad}/_cfg/agents/bmm-tech-writer.customize.yaml +0 -0
- /package/{bmad → .bmad}/_cfg/agents/bmm-ux-designer.customize.yaml +0 -0
- /package/{bmad → .bmad}/_cfg/agents/core-bmad-master.customize.yaml +0 -0
- /package/{bmad → .bmad}/_cfg/tool-manifest.csv +0 -0
- /package/{bmad → .bmad}/bmb/README.md +0 -0
- /package/{bmad → .bmad}/bmb/workflows/audit-workflow/template.md +0 -0
- /package/{bmad → .bmad}/bmb/workflows/create-agent/brainstorm-context.md +0 -0
- /package/{bmad → .bmad}/bmb/workflows/create-agent/communication-styles.md +0 -0
- /package/{bmad → .bmad}/bmb/workflows/create-module/brainstorm-context.md +0 -0
- /package/{bmad → .bmad}/bmb/workflows/create-module/installer-templates/installer.js +0 -0
- /package/{bmad → .bmad}/bmb/workflows/create-workflow/brainstorm-context.md +0 -0
- /package/{bmad → .bmad}/bmb/workflows/create-workflow/workflow-template/checklist.md +0 -0
- /package/{bmad → .bmad}/bmb/workflows/create-workflow/workflow-template/template.md +0 -0
- /package/{bmad → .bmad}/bmb/workflows/edit-agent/README.md +0 -0
- /package/{bmad → .bmad}/bmb/workflows/edit-workflow/README.md +0 -0
- /package/{bmad → .bmad}/bmb/workflows/edit-workflow/checklist.md +0 -0
- /package/{bmad → .bmad}/bmb/workflows/module-brief/checklist.md +0 -0
- /package/{bmad → .bmad}/bmb/workflows/module-brief/template.md +0 -0
- /package/{bmad → .bmad}/bmb/workflows/redoc/checklist.md +0 -0
- /package/{bmad → .bmad}/bmm/README.md +0 -0
- /package/{bmad → .bmad}/bmm/testarch/knowledge/ci-burn-in.md +0 -0
- /package/{bmad → .bmad}/bmm/testarch/knowledge/component-tdd.md +0 -0
- /package/{bmad → .bmad}/bmm/testarch/knowledge/contract-testing.md +0 -0
- /package/{bmad → .bmad}/bmm/testarch/knowledge/data-factories.md +0 -0
- /package/{bmad → .bmad}/bmm/testarch/knowledge/email-auth.md +0 -0
- /package/{bmad → .bmad}/bmm/testarch/knowledge/error-handling.md +0 -0
- /package/{bmad → .bmad}/bmm/testarch/knowledge/feature-flags.md +0 -0
- /package/{bmad → .bmad}/bmm/testarch/knowledge/fixture-architecture.md +0 -0
- /package/{bmad → .bmad}/bmm/testarch/knowledge/network-first.md +0 -0
- /package/{bmad → .bmad}/bmm/testarch/knowledge/nfr-criteria.md +0 -0
- /package/{bmad → .bmad}/bmm/testarch/knowledge/playwright-config.md +0 -0
- /package/{bmad → .bmad}/bmm/testarch/knowledge/probability-impact.md +0 -0
- /package/{bmad → .bmad}/bmm/testarch/knowledge/risk-governance.md +0 -0
- /package/{bmad → .bmad}/bmm/testarch/knowledge/selective-testing.md +0 -0
- /package/{bmad → .bmad}/bmm/testarch/knowledge/selector-resilience.md +0 -0
- /package/{bmad → .bmad}/bmm/testarch/knowledge/test-healing-patterns.md +0 -0
- /package/{bmad → .bmad}/bmm/testarch/knowledge/test-levels-framework.md +0 -0
- /package/{bmad → .bmad}/bmm/testarch/knowledge/test-priorities-matrix.md +0 -0
- /package/{bmad → .bmad}/bmm/testarch/knowledge/test-quality.md +0 -0
- /package/{bmad → .bmad}/bmm/testarch/knowledge/timing-debugging.md +0 -0
- /package/{bmad → .bmad}/bmm/testarch/knowledge/visual-debugging.md +0 -0
- /package/{bmad → .bmad}/bmm/testarch/tea-index.csv +0 -0
- /package/{bmad → .bmad}/bmm/workflows/1-analysis/brainstorm-project/project-context.md +0 -0
- /package/{bmad → .bmad}/bmm/workflows/1-analysis/domain-research/template.md +0 -0
- /package/{bmad → .bmad}/bmm/workflows/1-analysis/product-brief/checklist.md +0 -0
- /package/{bmad → .bmad}/bmm/workflows/1-analysis/product-brief/template.md +0 -0
- /package/{bmad → .bmad}/bmm/workflows/1-analysis/research/checklist-deep-prompt.md +0 -0
- /package/{bmad → .bmad}/bmm/workflows/1-analysis/research/checklist-technical.md +0 -0
- /package/{bmad → .bmad}/bmm/workflows/1-analysis/research/checklist.md +0 -0
- /package/{bmad → .bmad}/bmm/workflows/1-analysis/research/claude-code/injections.yaml +0 -0
- /package/{bmad → .bmad}/bmm/workflows/1-analysis/research/template-deep-prompt.md +0 -0
- /package/{bmad → .bmad}/bmm/workflows/1-analysis/research/template-market.md +0 -0
- /package/{bmad → .bmad}/bmm/workflows/1-analysis/research/template-technical.md +0 -0
- /package/{bmad → .bmad}/bmm/workflows/2-plan-workflows/create-ux-design/checklist.md +0 -0
- /package/{bmad → .bmad}/bmm/workflows/2-plan-workflows/create-ux-design/ux-design-template.md +0 -0
- /package/{bmad → .bmad}/bmm/workflows/2-plan-workflows/prd/checklist.md +0 -0
- /package/{bmad → .bmad}/bmm/workflows/2-plan-workflows/prd/create-epics-and-stories/epics-template.md +0 -0
- /package/{bmad → .bmad}/bmm/workflows/2-plan-workflows/prd/domain-complexity.csv +0 -0
- /package/{bmad → .bmad}/bmm/workflows/2-plan-workflows/prd/prd-template.md +0 -0
- /package/{bmad → .bmad}/bmm/workflows/2-plan-workflows/prd/project-types.csv +0 -0
- /package/{bmad → .bmad}/bmm/workflows/2-plan-workflows/tech-spec/epics-template.md +0 -0
- /package/{bmad → .bmad}/bmm/workflows/2-plan-workflows/tech-spec/tech-spec-template.md +0 -0
- /package/{bmad → .bmad}/bmm/workflows/2-plan-workflows/tech-spec/user-story-template.md +0 -0
- /package/{bmad → .bmad}/bmm/workflows/3-solutioning/architecture/architecture-patterns.yaml +0 -0
- /package/{bmad → .bmad}/bmm/workflows/3-solutioning/architecture/architecture-template.md +0 -0
- /package/{bmad → .bmad}/bmm/workflows/3-solutioning/architecture/checklist.md +0 -0
- /package/{bmad → .bmad}/bmm/workflows/3-solutioning/architecture/decision-catalog.yaml +0 -0
- /package/{bmad → .bmad}/bmm/workflows/3-solutioning/architecture/pattern-categories.csv +0 -0
- /package/{bmad → .bmad}/bmm/workflows/3-solutioning/solutioning-gate-check/checklist.md +0 -0
- /package/{bmad → .bmad}/bmm/workflows/3-solutioning/solutioning-gate-check/template.md +0 -0
- /package/{bmad → .bmad}/bmm/workflows/3-solutioning/solutioning-gate-check/validation-criteria.yaml +0 -0
- /package/{bmad → .bmad}/bmm/workflows/4-implementation/code-review/backlog_template.md +0 -0
- /package/{bmad → .bmad}/bmm/workflows/4-implementation/code-review/checklist.md +0 -0
- /package/{bmad → .bmad}/bmm/workflows/4-implementation/create-story/checklist.md +0 -0
- /package/{bmad → .bmad}/bmm/workflows/4-implementation/create-story/template.md +0 -0
- /package/{bmad → .bmad}/bmm/workflows/4-implementation/dev-story/checklist.md +0 -0
- /package/{bmad → .bmad}/bmm/workflows/4-implementation/epic-tech-context/template.md +0 -0
- /package/{bmad → .bmad}/bmm/workflows/4-implementation/sprint-planning/checklist.md +0 -0
- /package/{bmad → .bmad}/bmm/workflows/4-implementation/sprint-planning/sprint-status-template.yaml +0 -0
- /package/{bmad → .bmad}/bmm/workflows/document-project/checklist.md +0 -0
- /package/{bmad → .bmad}/bmm/workflows/document-project/documentation-requirements.csv +0 -0
- /package/{bmad → .bmad}/bmm/workflows/document-project/templates/deep-dive-template.md +0 -0
- /package/{bmad → .bmad}/bmm/workflows/document-project/templates/index-template.md +0 -0
- /package/{bmad → .bmad}/bmm/workflows/document-project/templates/project-overview-template.md +0 -0
- /package/{bmad → .bmad}/bmm/workflows/document-project/templates/project-scan-report-schema.json +0 -0
- /package/{bmad → .bmad}/bmm/workflows/document-project/templates/source-tree-template.md +0 -0
- /package/{bmad → .bmad}/bmm/workflows/document-project/workflows/deep-dive-instructions.md +0 -0
- /package/{bmad → .bmad}/bmm/workflows/document-project/workflows/full-scan-instructions.md +0 -0
- /package/{bmad → .bmad}/bmm/workflows/techdoc/documentation-standards.md +0 -0
- /package/{bmad → .bmad}/bmm/workflows/testarch/atdd/atdd-checklist-template.md +0 -0
- /package/{bmad → .bmad}/bmm/workflows/testarch/atdd/checklist.md +0 -0
- /package/{bmad → .bmad}/bmm/workflows/testarch/automate/checklist.md +0 -0
- /package/{bmad → .bmad}/bmm/workflows/testarch/ci/checklist.md +0 -0
- /package/{bmad → .bmad}/bmm/workflows/testarch/ci/github-actions-template.yaml +0 -0
- /package/{bmad → .bmad}/bmm/workflows/testarch/ci/gitlab-ci-template.yaml +0 -0
- /package/{bmad → .bmad}/bmm/workflows/testarch/framework/checklist.md +0 -0
- /package/{bmad → .bmad}/bmm/workflows/testarch/nfr-assess/checklist.md +0 -0
- /package/{bmad → .bmad}/bmm/workflows/testarch/nfr-assess/nfr-report-template.md +0 -0
- /package/{bmad → .bmad}/bmm/workflows/testarch/test-design/checklist.md +0 -0
- /package/{bmad → .bmad}/bmm/workflows/testarch/test-review/checklist.md +0 -0
- /package/{bmad → .bmad}/bmm/workflows/testarch/test-review/test-review-template.md +0 -0
- /package/{bmad → .bmad}/bmm/workflows/testarch/trace/checklist.md +0 -0
- /package/{bmad → .bmad}/bmm/workflows/testarch/trace/trace-template.md +0 -0
- /package/{bmad → .bmad}/bmm/workflows/workflow-status/paths/method-brownfield.yaml +0 -0
- /package/{bmad → .bmad}/bmm/workflows/workflow-status/paths/method-greenfield.yaml +0 -0
- /package/{bmad → .bmad}/bmm/workflows/workflow-status/paths/quick-flow-brownfield.yaml +0 -0
- /package/{bmad → .bmad}/bmm/workflows/workflow-status/paths/quick-flow-greenfield.yaml +0 -0
- /package/{bmad → .bmad}/bmm/workflows/workflow-status/sample-level-3-workflow.yaml +0 -0
- /package/{bmad → .bmad}/bmm/workflows/workflow-status/workflow-status-template.yaml +0 -0
- /package/{bmad → .bmad}/core/tasks/adv-elicit-methods.csv +0 -0
- /package/{bmad → .bmad}/core/workflows/brainstorming/brain-methods.csv +0 -0
- /package/{bmad → .bmad}/core/workflows/brainstorming/template.md +0 -0
- /package/{bmad → .bmad}/docs/claude-code-instructions.md +0 -0
- /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/{bmad/bmm/workflows/2-plan-workflows → src/modules/bmgd/workflows/2-design}/narrative/checklist.md +0 -0
- /package/{bmad/bmm/workflows/2-plan-workflows → src/modules/bmgd/workflows/2-design}/narrative/narrative-template.md +0 -0
|
@@ -2,41 +2,19 @@ const path = require('node:path');
|
|
|
2
2
|
const fs = require('fs-extra');
|
|
3
3
|
const os = require('node:os');
|
|
4
4
|
const chalk = require('chalk');
|
|
5
|
-
const inquirer = require('inquirer');
|
|
6
5
|
const { BaseIdeSetup } = require('./_base-ide');
|
|
7
|
-
const { WorkflowCommandGenerator } = require('./workflow-command-generator');
|
|
8
|
-
const {
|
|
6
|
+
const { WorkflowCommandGenerator } = require('./shared/workflow-command-generator');
|
|
7
|
+
const { AgentCommandGenerator } = require('./shared/agent-command-generator');
|
|
8
|
+
const { getTasksFromBmad } = require('./shared/bmad-artifacts');
|
|
9
9
|
|
|
10
10
|
/**
|
|
11
|
-
* Codex setup handler (
|
|
11
|
+
* Codex setup handler (CLI mode)
|
|
12
12
|
*/
|
|
13
13
|
class CodexSetup extends BaseIdeSetup {
|
|
14
14
|
constructor() {
|
|
15
15
|
super('codex', 'Codex', true); // preferred IDE
|
|
16
16
|
}
|
|
17
17
|
|
|
18
|
-
/**
|
|
19
|
-
* Collect configuration choices before installation
|
|
20
|
-
* @param {Object} options - Configuration options
|
|
21
|
-
* @returns {Object} Collected configuration
|
|
22
|
-
*/
|
|
23
|
-
async collectConfiguration(options = {}) {
|
|
24
|
-
const response = await inquirer.prompt([
|
|
25
|
-
{
|
|
26
|
-
type: 'list',
|
|
27
|
-
name: 'mode',
|
|
28
|
-
message: 'Select Codex deployment mode:',
|
|
29
|
-
choices: [
|
|
30
|
-
{ name: 'CLI (Command-line interface)', value: 'cli' },
|
|
31
|
-
{ name: 'Web (Browser-based interface)', value: 'web' },
|
|
32
|
-
],
|
|
33
|
-
default: 'cli',
|
|
34
|
-
},
|
|
35
|
-
]);
|
|
36
|
-
|
|
37
|
-
return { codexMode: response.mode };
|
|
38
|
-
}
|
|
39
|
-
|
|
40
18
|
/**
|
|
41
19
|
* Setup Codex configuration
|
|
42
20
|
* @param {string} projectDir - Project directory
|
|
@@ -46,8 +24,8 @@ class CodexSetup extends BaseIdeSetup {
|
|
|
46
24
|
async setup(projectDir, bmadDir, options = {}) {
|
|
47
25
|
console.log(chalk.cyan(`Setting up ${this.name}...`));
|
|
48
26
|
|
|
49
|
-
|
|
50
|
-
const mode =
|
|
27
|
+
// Always use CLI mode
|
|
28
|
+
const mode = 'cli';
|
|
51
29
|
|
|
52
30
|
const { artifacts, counts } = await this.collectClaudeArtifacts(projectDir, bmadDir, options);
|
|
53
31
|
|
|
@@ -57,16 +35,13 @@ class CodexSetup extends BaseIdeSetup {
|
|
|
57
35
|
const written = await this.flattenAndWriteArtifacts(artifacts, destDir);
|
|
58
36
|
|
|
59
37
|
console.log(chalk.green(`✓ ${this.name} configured:`));
|
|
60
|
-
console.log(chalk.dim(` - Mode:
|
|
38
|
+
console.log(chalk.dim(` - Mode: CLI`));
|
|
61
39
|
console.log(chalk.dim(` - ${counts.agents} agents exported`));
|
|
62
40
|
console.log(chalk.dim(` - ${counts.tasks} tasks exported`));
|
|
63
41
|
console.log(chalk.dim(` - ${counts.workflows} workflow commands exported`));
|
|
64
42
|
if (counts.workflowLaunchers > 0) {
|
|
65
43
|
console.log(chalk.dim(` - ${counts.workflowLaunchers} workflow launchers exported`));
|
|
66
44
|
}
|
|
67
|
-
if (counts.subagents > 0) {
|
|
68
|
-
console.log(chalk.dim(` - ${counts.subagents} subagents exported`));
|
|
69
|
-
}
|
|
70
45
|
console.log(chalk.dim(` - ${written} Codex prompt files written`));
|
|
71
46
|
console.log(chalk.dim(` - Destination: ${destDir}`));
|
|
72
47
|
|
|
@@ -118,23 +93,17 @@ class CodexSetup extends BaseIdeSetup {
|
|
|
118
93
|
const selectedModules = options.selectedModules || [];
|
|
119
94
|
const artifacts = [];
|
|
120
95
|
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
agent.path,
|
|
125
|
-
{
|
|
126
|
-
module: agent.module,
|
|
127
|
-
name: agent.name,
|
|
128
|
-
},
|
|
129
|
-
projectDir,
|
|
130
|
-
);
|
|
96
|
+
// Generate agent launchers
|
|
97
|
+
const agentGen = new AgentCommandGenerator(this.bmadFolderName);
|
|
98
|
+
const { artifacts: agentArtifacts } = await agentGen.collectAgentArtifacts(bmadDir, selectedModules);
|
|
131
99
|
|
|
100
|
+
for (const artifact of agentArtifacts) {
|
|
132
101
|
artifacts.push({
|
|
133
102
|
type: 'agent',
|
|
134
|
-
module:
|
|
135
|
-
sourcePath:
|
|
136
|
-
relativePath:
|
|
137
|
-
content,
|
|
103
|
+
module: artifact.module,
|
|
104
|
+
sourcePath: artifact.sourcePath,
|
|
105
|
+
relativePath: artifact.relativePath,
|
|
106
|
+
content: artifact.content,
|
|
138
107
|
});
|
|
139
108
|
}
|
|
140
109
|
|
|
@@ -158,14 +127,14 @@ class CodexSetup extends BaseIdeSetup {
|
|
|
158
127
|
});
|
|
159
128
|
}
|
|
160
129
|
|
|
161
|
-
const workflowGenerator = new WorkflowCommandGenerator();
|
|
130
|
+
const workflowGenerator = new WorkflowCommandGenerator(this.bmadFolderName);
|
|
162
131
|
const { artifacts: workflowArtifacts, counts: workflowCounts } = await workflowGenerator.collectWorkflowArtifacts(bmadDir);
|
|
163
132
|
artifacts.push(...workflowArtifacts);
|
|
164
133
|
|
|
165
134
|
return {
|
|
166
135
|
artifacts,
|
|
167
136
|
counts: {
|
|
168
|
-
agents:
|
|
137
|
+
agents: agentArtifacts.length,
|
|
169
138
|
tasks: tasks.length,
|
|
170
139
|
workflows: workflowCounts.commands,
|
|
171
140
|
workflowLaunchers: workflowCounts.launchers,
|
|
@@ -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
|
* Crush IDE setup handler
|
|
@@ -28,14 +29,17 @@ class CrushSetup extends BaseIdeSetup {
|
|
|
28
29
|
|
|
29
30
|
await this.ensureDir(commandsDir);
|
|
30
31
|
|
|
31
|
-
//
|
|
32
|
-
const
|
|
32
|
+
// Generate agent launchers
|
|
33
|
+
const agentGen = new AgentCommandGenerator(this.bmadFolderName);
|
|
34
|
+
const { artifacts: agentArtifacts } = await agentGen.collectAgentArtifacts(bmadDir, options.selectedModules || []);
|
|
35
|
+
|
|
36
|
+
// Get tasks, tools, and workflows (standalone only)
|
|
33
37
|
const tasks = await this.getTasks(bmadDir, true);
|
|
34
38
|
const tools = await this.getTools(bmadDir, true);
|
|
35
39
|
const workflows = await this.getWorkflows(bmadDir, true);
|
|
36
40
|
|
|
37
41
|
// Organize by module
|
|
38
|
-
const agentCount = await this.organizeByModule(commandsDir,
|
|
42
|
+
const agentCount = await this.organizeByModule(commandsDir, agentArtifacts, tasks, tools, workflows, projectDir);
|
|
39
43
|
|
|
40
44
|
console.log(chalk.green(`✓ ${this.name} configured:`));
|
|
41
45
|
console.log(chalk.dim(` - ${agentCount.agents} agent commands created`));
|
|
@@ -54,10 +58,10 @@ class CrushSetup extends BaseIdeSetup {
|
|
|
54
58
|
/**
|
|
55
59
|
* Organize commands by module
|
|
56
60
|
*/
|
|
57
|
-
async organizeByModule(commandsDir,
|
|
61
|
+
async organizeByModule(commandsDir, agentArtifacts, tasks, tools, workflows, projectDir) {
|
|
58
62
|
// Get unique modules
|
|
59
63
|
const modules = new Set();
|
|
60
|
-
for (const
|
|
64
|
+
for (const artifact of agentArtifacts) modules.add(artifact.module);
|
|
61
65
|
for (const task of tasks) modules.add(task.module);
|
|
62
66
|
for (const tool of tools) modules.add(tool.module);
|
|
63
67
|
for (const workflow of workflows) modules.add(workflow.module);
|
|
@@ -80,13 +84,11 @@ class CrushSetup extends BaseIdeSetup {
|
|
|
80
84
|
await this.ensureDir(moduleToolsDir);
|
|
81
85
|
await this.ensureDir(moduleWorkflowsDir);
|
|
82
86
|
|
|
83
|
-
//
|
|
84
|
-
const moduleAgents =
|
|
85
|
-
for (const
|
|
86
|
-
const
|
|
87
|
-
|
|
88
|
-
const targetPath = path.join(moduleAgentsDir, `${agent.name}.md`);
|
|
89
|
-
await this.writeFile(targetPath, commandContent);
|
|
87
|
+
// Write module-specific agent launchers
|
|
88
|
+
const moduleAgents = agentArtifacts.filter((a) => a.module === module);
|
|
89
|
+
for (const artifact of moduleAgents) {
|
|
90
|
+
const targetPath = path.join(moduleAgentsDir, `${artifact.name}.md`);
|
|
91
|
+
await this.writeFile(targetPath, artifact.content);
|
|
90
92
|
agentCount++;
|
|
91
93
|
}
|
|
92
94
|
|
|
@@ -129,44 +131,6 @@ class CrushSetup extends BaseIdeSetup {
|
|
|
129
131
|
};
|
|
130
132
|
}
|
|
131
133
|
|
|
132
|
-
/**
|
|
133
|
-
* Create agent command content
|
|
134
|
-
*/
|
|
135
|
-
createAgentCommand(agent, content, projectDir) {
|
|
136
|
-
// Extract metadata
|
|
137
|
-
const titleMatch = content.match(/title="([^"]+)"/);
|
|
138
|
-
const title = titleMatch ? titleMatch[1] : this.formatTitle(agent.name);
|
|
139
|
-
|
|
140
|
-
const iconMatch = content.match(/icon="([^"]+)"/);
|
|
141
|
-
const icon = iconMatch ? iconMatch[1] : '🤖';
|
|
142
|
-
|
|
143
|
-
// Get relative path
|
|
144
|
-
const relativePath = path.relative(projectDir, agent.path).replaceAll('\\', '/');
|
|
145
|
-
|
|
146
|
-
let commandContent = `# /${agent.name} Command
|
|
147
|
-
|
|
148
|
-
When this command is used, adopt the following agent persona:
|
|
149
|
-
|
|
150
|
-
## ${icon} ${title} Agent
|
|
151
|
-
|
|
152
|
-
${content}
|
|
153
|
-
|
|
154
|
-
## Command Usage
|
|
155
|
-
|
|
156
|
-
This command activates the ${title} agent from the BMAD ${agent.module.toUpperCase()} module.
|
|
157
|
-
|
|
158
|
-
## File Reference
|
|
159
|
-
|
|
160
|
-
Complete agent definition: [${relativePath}](${relativePath})
|
|
161
|
-
|
|
162
|
-
## Module
|
|
163
|
-
|
|
164
|
-
Part of the BMAD ${agent.module.toUpperCase()} module.
|
|
165
|
-
`;
|
|
166
|
-
|
|
167
|
-
return commandContent;
|
|
168
|
-
}
|
|
169
|
-
|
|
170
134
|
/**
|
|
171
135
|
* Create task command content
|
|
172
136
|
*/
|
|
@@ -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
|
* Cursor IDE setup handler
|
|
@@ -12,6 +13,20 @@ class CursorSetup extends BaseIdeSetup {
|
|
|
12
13
|
this.rulesDir = 'rules';
|
|
13
14
|
}
|
|
14
15
|
|
|
16
|
+
/**
|
|
17
|
+
* Cleanup old BMAD installation before reinstalling
|
|
18
|
+
* @param {string} projectDir - Project directory
|
|
19
|
+
*/
|
|
20
|
+
async cleanup(projectDir) {
|
|
21
|
+
const fs = require('fs-extra');
|
|
22
|
+
const bmadRulesDir = path.join(projectDir, this.configDir, this.rulesDir, 'bmad');
|
|
23
|
+
|
|
24
|
+
if (await fs.pathExists(bmadRulesDir)) {
|
|
25
|
+
await fs.remove(bmadRulesDir);
|
|
26
|
+
console.log(chalk.dim(` Removed old BMAD rules from ${this.name}`));
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
|
|
15
30
|
/**
|
|
16
31
|
* Setup Cursor IDE configuration
|
|
17
32
|
* @param {string} projectDir - Project directory
|
|
@@ -21,6 +36,9 @@ class CursorSetup extends BaseIdeSetup {
|
|
|
21
36
|
async setup(projectDir, bmadDir, options = {}) {
|
|
22
37
|
console.log(chalk.cyan(`Setting up ${this.name}...`));
|
|
23
38
|
|
|
39
|
+
// Clean up old BMAD installation first
|
|
40
|
+
await this.cleanup(projectDir);
|
|
41
|
+
|
|
24
42
|
// Create .cursor/rules directory structure
|
|
25
43
|
const cursorDir = path.join(projectDir, this.configDir);
|
|
26
44
|
const rulesDir = path.join(cursorDir, this.rulesDir);
|
|
@@ -28,8 +46,14 @@ class CursorSetup extends BaseIdeSetup {
|
|
|
28
46
|
|
|
29
47
|
await this.ensureDir(bmadRulesDir);
|
|
30
48
|
|
|
31
|
-
//
|
|
32
|
-
const
|
|
49
|
+
// Generate agent launchers first
|
|
50
|
+
const agentGen = new AgentCommandGenerator(this.bmadFolderName);
|
|
51
|
+
const { artifacts: agentArtifacts } = await agentGen.collectAgentArtifacts(bmadDir, options.selectedModules || []);
|
|
52
|
+
|
|
53
|
+
// Convert artifacts to agent format for index creation
|
|
54
|
+
const agents = agentArtifacts.map((a) => ({ module: a.module, name: a.name }));
|
|
55
|
+
|
|
56
|
+
// Get tasks, tools, and workflows (standalone only)
|
|
33
57
|
const tasks = await this.getTasks(bmadDir, true);
|
|
34
58
|
const tools = await this.getTools(bmadDir, true);
|
|
35
59
|
const workflows = await this.getWorkflows(bmadDir, true);
|
|
@@ -46,15 +70,16 @@ class CursorSetup extends BaseIdeSetup {
|
|
|
46
70
|
await this.ensureDir(path.join(bmadRulesDir, module, 'workflows'));
|
|
47
71
|
}
|
|
48
72
|
|
|
49
|
-
// Process and
|
|
73
|
+
// Process and write agent launchers with MDC format
|
|
50
74
|
let agentCount = 0;
|
|
51
|
-
for (const
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
75
|
+
for (const artifact of agentArtifacts) {
|
|
76
|
+
// Add MDC metadata header to launcher (but don't call processContent which adds activation headers)
|
|
77
|
+
const content = this.wrapLauncherWithMDC(artifact.content, {
|
|
78
|
+
module: artifact.module,
|
|
79
|
+
name: artifact.name,
|
|
55
80
|
});
|
|
56
81
|
|
|
57
|
-
const targetPath = path.join(bmadRulesDir,
|
|
82
|
+
const targetPath = path.join(bmadRulesDir, artifact.module, 'agents', `${artifact.name}.mdc`);
|
|
58
83
|
|
|
59
84
|
await this.writeFile(targetPath, content);
|
|
60
85
|
agentCount++;
|
|
@@ -239,6 +264,13 @@ specific agent expertise, task workflows, tools, or guided workflows.
|
|
|
239
264
|
// First apply base processing (includes activation injection for agents)
|
|
240
265
|
let processed = super.processContent(content, metadata);
|
|
241
266
|
|
|
267
|
+
// Strip any existing frontmatter from the processed content
|
|
268
|
+
// This prevents duplicate frontmatter blocks
|
|
269
|
+
const frontmatterRegex = /^---\s*\n[\s\S]*?\n---\s*\n/;
|
|
270
|
+
if (frontmatterRegex.test(processed)) {
|
|
271
|
+
processed = processed.replace(frontmatterRegex, '');
|
|
272
|
+
}
|
|
273
|
+
|
|
242
274
|
// Determine the type and description based on content
|
|
243
275
|
const isAgent = content.includes('<agent');
|
|
244
276
|
const isTask = content.includes('<task');
|
|
@@ -287,6 +319,34 @@ alwaysApply: false
|
|
|
287
319
|
// Add the MDC header to the processed content
|
|
288
320
|
return mdcHeader + processed;
|
|
289
321
|
}
|
|
322
|
+
|
|
323
|
+
/**
|
|
324
|
+
* Wrap launcher content with MDC metadata (without base processing)
|
|
325
|
+
* Launchers are already complete and should not have activation headers injected
|
|
326
|
+
*/
|
|
327
|
+
wrapLauncherWithMDC(launcherContent, metadata = {}) {
|
|
328
|
+
// Strip the launcher's frontmatter - we'll replace it with MDC frontmatter
|
|
329
|
+
const frontmatterRegex = /^---\s*\n[\s\S]*?\n---\s*\n/;
|
|
330
|
+
const contentWithoutFrontmatter = launcherContent.replace(frontmatterRegex, '');
|
|
331
|
+
|
|
332
|
+
// Extract metadata from launcher frontmatter for MDC description
|
|
333
|
+
const nameMatch = launcherContent.match(/name:\s*"([^"]+)"/);
|
|
334
|
+
const name = nameMatch ? nameMatch[1] : metadata.name;
|
|
335
|
+
|
|
336
|
+
const description = `BMAD ${metadata.module.toUpperCase()} Agent: ${name}`;
|
|
337
|
+
|
|
338
|
+
// Create MDC metadata header
|
|
339
|
+
const mdcHeader = `---
|
|
340
|
+
description: ${description}
|
|
341
|
+
globs:
|
|
342
|
+
alwaysApply: false
|
|
343
|
+
---
|
|
344
|
+
|
|
345
|
+
`;
|
|
346
|
+
|
|
347
|
+
// Return MDC header + launcher content (without its original frontmatter)
|
|
348
|
+
return mdcHeader + contentWithoutFrontmatter;
|
|
349
|
+
}
|
|
290
350
|
}
|
|
291
351
|
|
|
292
352
|
module.exports = { CursorSetup };
|
|
@@ -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;
|