bmad-method 6.0.0-alpha.7 → 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/_cfg/agents/bmm-architect.customize.yaml +42 -0
- package/.bmad/_cfg/agents/bmm-dev.customize.yaml +42 -0
- package/.bmad/_cfg/agents/bmm-pm.customize.yaml +42 -0
- package/.bmad/_cfg/agents/bmm-sm.customize.yaml +42 -0
- package/.bmad/_cfg/agents/bmm-tea.customize.yaml +42 -0
- package/.bmad/_cfg/agents/bmm-tech-writer.customize.yaml +42 -0
- package/.bmad/_cfg/agents/bmm-ux-designer.customize.yaml +42 -0
- package/.bmad/_cfg/agents/core-bmad-master.customize.yaml +42 -0
- package/.bmad/_cfg/files-manifest.csv +289 -0
- package/.bmad/_cfg/ides/claude-code.yaml +7 -0
- package/.bmad/_cfg/manifest.yaml +10 -0
- package/.bmad/_cfg/task-manifest.csv +6 -0
- package/.bmad/_cfg/tool-manifest.csv +2 -0
- package/.bmad/_cfg/workflow-manifest.csv +44 -0
- 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 +11 -11
- 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 +4 -4
- 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/bmm/README.md +128 -0
- package/.bmad/bmm/agents/analyst.md +75 -0
- package/.bmad/bmm/agents/architect.md +80 -0
- package/.bmad/bmm/agents/dev.md +69 -0
- package/.bmad/bmm/agents/pm.md +84 -0
- package/.bmad/bmm/agents/sm.md +93 -0
- package/.bmad/bmm/agents/tea.md +80 -0
- package/.bmad/bmm/agents/tech-writer.md +90 -0
- package/.bmad/bmm/agents/ux-designer.md +79 -0
- package/.bmad/bmm/config.yaml +18 -0
- 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/bmm/tasks/daily-standup.xml +85 -0
- package/.bmad/bmm/teams/default-party.csv +19 -0
- package/.bmad/bmm/teams/team-fullstack.yaml +12 -0
- package/.bmad/bmm/testarch/knowledge/ci-burn-in.md +675 -0
- package/.bmad/bmm/testarch/knowledge/component-tdd.md +486 -0
- package/.bmad/bmm/testarch/knowledge/contract-testing.md +957 -0
- package/.bmad/bmm/testarch/knowledge/data-factories.md +500 -0
- package/.bmad/bmm/testarch/knowledge/email-auth.md +721 -0
- package/.bmad/bmm/testarch/knowledge/error-handling.md +725 -0
- package/.bmad/bmm/testarch/knowledge/feature-flags.md +750 -0
- package/.bmad/bmm/testarch/knowledge/fixture-architecture.md +401 -0
- package/.bmad/bmm/testarch/knowledge/network-first.md +486 -0
- package/.bmad/bmm/testarch/knowledge/nfr-criteria.md +670 -0
- package/.bmad/bmm/testarch/knowledge/playwright-config.md +730 -0
- package/.bmad/bmm/testarch/knowledge/probability-impact.md +601 -0
- package/.bmad/bmm/testarch/knowledge/risk-governance.md +615 -0
- package/.bmad/bmm/testarch/knowledge/selective-testing.md +732 -0
- package/.bmad/bmm/testarch/knowledge/selector-resilience.md +527 -0
- package/.bmad/bmm/testarch/knowledge/test-healing-patterns.md +644 -0
- package/.bmad/bmm/testarch/knowledge/test-levels-framework.md +473 -0
- package/.bmad/bmm/testarch/knowledge/test-priorities-matrix.md +373 -0
- package/.bmad/bmm/testarch/knowledge/test-quality.md +664 -0
- package/.bmad/bmm/testarch/knowledge/timing-debugging.md +372 -0
- package/.bmad/bmm/testarch/knowledge/visual-debugging.md +524 -0
- package/.bmad/bmm/testarch/tea-index.csv +22 -0
- package/.bmad/bmm/workflows/1-analysis/brainstorm-project/instructions.md +110 -0
- package/.bmad/bmm/workflows/1-analysis/brainstorm-project/project-context.md +25 -0
- package/.bmad/bmm/workflows/1-analysis/brainstorm-project/workflow.yaml +26 -0
- package/.bmad/bmm/workflows/1-analysis/domain-research/instructions.md +423 -0
- package/.bmad/bmm/workflows/1-analysis/domain-research/template.md +180 -0
- package/.bmad/bmm/workflows/1-analysis/domain-research/workflow.yaml +40 -0
- package/.bmad/bmm/workflows/1-analysis/product-brief/checklist.md +115 -0
- package/.bmad/bmm/workflows/1-analysis/product-brief/instructions.md +524 -0
- package/.bmad/bmm/workflows/1-analysis/product-brief/template.md +181 -0
- package/.bmad/bmm/workflows/1-analysis/product-brief/workflow.yaml +45 -0
- package/.bmad/bmm/workflows/1-analysis/research/checklist-deep-prompt.md +144 -0
- package/.bmad/bmm/workflows/1-analysis/research/checklist-technical.md +249 -0
- package/.bmad/bmm/workflows/1-analysis/research/checklist.md +299 -0
- package/.bmad/bmm/workflows/1-analysis/research/claude-code/injections.yaml +114 -0
- package/.bmad/bmm/workflows/1-analysis/research/instructions-deep-prompt.md +439 -0
- package/.bmad/bmm/workflows/1-analysis/research/instructions-market.md +679 -0
- package/.bmad/bmm/workflows/1-analysis/research/instructions-router.md +133 -0
- package/.bmad/bmm/workflows/1-analysis/research/instructions-technical.md +538 -0
- package/.bmad/bmm/workflows/1-analysis/research/template-deep-prompt.md +94 -0
- package/.bmad/bmm/workflows/1-analysis/research/template-market.md +347 -0
- package/.bmad/bmm/workflows/1-analysis/research/template-technical.md +245 -0
- package/.bmad/bmm/workflows/1-analysis/research/workflow.yaml +44 -0
- package/.bmad/bmm/workflows/2-plan-workflows/create-ux-design/checklist.md +310 -0
- package/.bmad/bmm/workflows/2-plan-workflows/create-ux-design/instructions.md +1301 -0
- package/.bmad/bmm/workflows/2-plan-workflows/create-ux-design/ux-design-template.md +145 -0
- package/.bmad/bmm/workflows/2-plan-workflows/create-ux-design/workflow.yaml +60 -0
- package/.bmad/bmm/workflows/2-plan-workflows/prd/checklist.md +350 -0
- package/.bmad/bmm/workflows/2-plan-workflows/prd/create-epics-and-stories/epics-template.md +52 -0
- package/.bmad/bmm/workflows/2-plan-workflows/prd/create-epics-and-stories/instructions.md +169 -0
- package/.bmad/bmm/workflows/2-plan-workflows/prd/create-epics-and-stories/workflow.yaml +45 -0
- package/.bmad/bmm/workflows/2-plan-workflows/prd/domain-complexity.csv +13 -0
- package/.bmad/bmm/workflows/2-plan-workflows/prd/instructions.md +408 -0
- package/.bmad/bmm/workflows/2-plan-workflows/prd/prd-template.md +237 -0
- package/.bmad/bmm/workflows/2-plan-workflows/prd/project-types.csv +11 -0
- package/.bmad/bmm/workflows/2-plan-workflows/prd/workflow.yaml +46 -0
- package/.bmad/bmm/workflows/2-plan-workflows/tech-spec/checklist.md +214 -0
- package/.bmad/bmm/workflows/2-plan-workflows/tech-spec/epics-template.md +80 -0
- package/.bmad/bmm/workflows/2-plan-workflows/tech-spec/instructions-level0-story.md +200 -0
- package/.bmad/bmm/workflows/2-plan-workflows/tech-spec/instructions-level1-stories.md +451 -0
- package/.bmad/bmm/workflows/2-plan-workflows/tech-spec/instructions.md +1115 -0
- package/.bmad/bmm/workflows/2-plan-workflows/tech-spec/tech-spec-template.md +181 -0
- package/.bmad/bmm/workflows/2-plan-workflows/tech-spec/user-story-template.md +90 -0
- package/.bmad/bmm/workflows/2-plan-workflows/tech-spec/workflow.yaml +60 -0
- package/.bmad/bmm/workflows/3-solutioning/architecture/architecture-patterns.yaml +347 -0
- package/.bmad/bmm/workflows/3-solutioning/architecture/architecture-template.md +103 -0
- package/.bmad/bmm/workflows/3-solutioning/architecture/checklist.md +244 -0
- package/.bmad/bmm/workflows/3-solutioning/architecture/decision-catalog.yaml +222 -0
- package/.bmad/bmm/workflows/3-solutioning/architecture/instructions.md +704 -0
- package/.bmad/bmm/workflows/3-solutioning/architecture/pattern-categories.csv +13 -0
- package/.bmad/bmm/workflows/3-solutioning/architecture/workflow.yaml +68 -0
- package/.bmad/bmm/workflows/3-solutioning/solutioning-gate-check/checklist.md +175 -0
- package/.bmad/bmm/workflows/3-solutioning/solutioning-gate-check/instructions.md +305 -0
- package/.bmad/bmm/workflows/3-solutioning/solutioning-gate-check/template.md +146 -0
- package/.bmad/bmm/workflows/3-solutioning/solutioning-gate-check/validation-criteria.yaml +189 -0
- package/.bmad/bmm/workflows/3-solutioning/solutioning-gate-check/workflow.yaml +64 -0
- package/.bmad/bmm/workflows/4-implementation/code-review/backlog_template.md +12 -0
- package/.bmad/bmm/workflows/4-implementation/code-review/checklist.md +22 -0
- package/.bmad/bmm/workflows/4-implementation/code-review/instructions.md +420 -0
- package/.bmad/bmm/workflows/4-implementation/code-review/workflow.yaml +65 -0
- package/.bmad/bmm/workflows/4-implementation/correct-course/checklist.md +279 -0
- package/.bmad/bmm/workflows/4-implementation/correct-course/instructions.md +201 -0
- package/.bmad/bmm/workflows/4-implementation/correct-course/workflow.yaml +43 -0
- package/.bmad/bmm/workflows/4-implementation/create-story/checklist.md +240 -0
- package/.bmad/bmm/workflows/4-implementation/create-story/instructions.md +283 -0
- package/.bmad/bmm/workflows/4-implementation/create-story/template.md +51 -0
- package/.bmad/bmm/workflows/4-implementation/create-story/workflow.yaml +74 -0
- package/.bmad/bmm/workflows/4-implementation/dev-story/AUDIT-REPORT.md +367 -0
- package/.bmad/bmm/workflows/4-implementation/dev-story/checklist.md +38 -0
- package/.bmad/bmm/workflows/4-implementation/dev-story/instructions.md +262 -0
- package/.bmad/bmm/workflows/4-implementation/dev-story/workflow.yaml +26 -0
- package/.bmad/bmm/workflows/4-implementation/epic-tech-context/checklist.md +17 -0
- package/.bmad/bmm/workflows/4-implementation/epic-tech-context/instructions.md +189 -0
- package/.bmad/bmm/workflows/4-implementation/epic-tech-context/template.md +76 -0
- package/.bmad/bmm/workflows/4-implementation/epic-tech-context/workflow.yaml +58 -0
- package/.bmad/bmm/workflows/4-implementation/retrospective/instructions.md +1460 -0
- package/.bmad/bmm/workflows/4-implementation/retrospective/workflow.yaml +71 -0
- package/.bmad/bmm/workflows/4-implementation/sprint-planning/checklist.md +33 -0
- package/.bmad/bmm/workflows/4-implementation/sprint-planning/instructions.md +238 -0
- package/.bmad/bmm/workflows/4-implementation/sprint-planning/sprint-status-template.yaml +55 -0
- package/.bmad/bmm/workflows/4-implementation/sprint-planning/workflow.yaml +47 -0
- package/.bmad/bmm/workflows/4-implementation/story-context/checklist.md +16 -0
- package/.bmad/bmm/workflows/4-implementation/story-context/context-template.xml +34 -0
- package/.bmad/bmm/workflows/4-implementation/story-context/instructions.md +234 -0
- package/.bmad/bmm/workflows/4-implementation/story-context/workflow.yaml +57 -0
- package/.bmad/bmm/workflows/4-implementation/story-done/instructions.md +111 -0
- package/.bmad/bmm/workflows/4-implementation/story-done/workflow.yaml +25 -0
- package/.bmad/bmm/workflows/4-implementation/story-ready/instructions.md +117 -0
- package/.bmad/bmm/workflows/4-implementation/story-ready/workflow.yaml +25 -0
- package/.bmad/bmm/workflows/document-project/checklist.md +245 -0
- package/.bmad/bmm/workflows/document-project/documentation-requirements.csv +12 -0
- package/.bmad/bmm/workflows/document-project/instructions.md +222 -0
- package/.bmad/bmm/workflows/document-project/templates/deep-dive-template.md +345 -0
- package/.bmad/bmm/workflows/document-project/templates/index-template.md +169 -0
- package/.bmad/bmm/workflows/document-project/templates/project-overview-template.md +103 -0
- package/.bmad/bmm/workflows/document-project/templates/project-scan-report-schema.json +160 -0
- package/.bmad/bmm/workflows/document-project/templates/source-tree-template.md +135 -0
- package/.bmad/bmm/workflows/document-project/workflow.yaml +34 -0
- package/.bmad/bmm/workflows/document-project/workflows/deep-dive-instructions.md +298 -0
- package/.bmad/bmm/workflows/document-project/workflows/deep-dive.yaml +31 -0
- package/.bmad/bmm/workflows/document-project/workflows/full-scan-instructions.md +1106 -0
- package/.bmad/bmm/workflows/document-project/workflows/full-scan.yaml +31 -0
- package/.bmad/bmm/workflows/techdoc/documentation-standards.md +262 -0
- package/.bmad/bmm/workflows/testarch/atdd/atdd-checklist-template.md +363 -0
- package/.bmad/bmm/workflows/testarch/atdd/checklist.md +373 -0
- package/.bmad/bmm/workflows/testarch/atdd/instructions.md +785 -0
- package/.bmad/bmm/workflows/testarch/atdd/workflow.yaml +52 -0
- package/.bmad/bmm/workflows/testarch/automate/checklist.md +580 -0
- package/.bmad/bmm/workflows/testarch/automate/instructions.md +1303 -0
- package/.bmad/bmm/workflows/testarch/automate/workflow.yaml +61 -0
- package/.bmad/bmm/workflows/testarch/ci/checklist.md +246 -0
- package/.bmad/bmm/workflows/testarch/ci/github-actions-template.yaml +165 -0
- package/.bmad/bmm/workflows/testarch/ci/gitlab-ci-template.yaml +128 -0
- package/.bmad/bmm/workflows/testarch/ci/instructions.md +517 -0
- package/.bmad/bmm/workflows/testarch/ci/workflow.yaml +53 -0
- package/.bmad/bmm/workflows/testarch/framework/checklist.md +321 -0
- package/.bmad/bmm/workflows/testarch/framework/instructions.md +455 -0
- package/.bmad/bmm/workflows/testarch/framework/workflow.yaml +53 -0
- package/.bmad/bmm/workflows/testarch/nfr-assess/checklist.md +405 -0
- package/.bmad/bmm/workflows/testarch/nfr-assess/instructions.md +722 -0
- package/.bmad/bmm/workflows/testarch/nfr-assess/nfr-report-template.md +443 -0
- package/.bmad/bmm/workflows/testarch/nfr-assess/workflow.yaml +56 -0
- package/.bmad/bmm/workflows/testarch/test-design/checklist.md +234 -0
- package/.bmad/bmm/workflows/testarch/test-design/instructions.md +621 -0
- package/.bmad/bmm/workflows/testarch/test-design/test-design-template.md +285 -0
- package/.bmad/bmm/workflows/testarch/test-design/workflow.yaml +52 -0
- package/.bmad/bmm/workflows/testarch/test-review/checklist.md +470 -0
- package/.bmad/bmm/workflows/testarch/test-review/instructions.md +608 -0
- package/.bmad/bmm/workflows/testarch/test-review/test-review-template.md +388 -0
- package/.bmad/bmm/workflows/testarch/test-review/workflow.yaml +53 -0
- package/.bmad/bmm/workflows/testarch/trace/checklist.md +654 -0
- package/.bmad/bmm/workflows/testarch/trace/instructions.md +1045 -0
- package/.bmad/bmm/workflows/testarch/trace/trace-template.md +673 -0
- package/.bmad/bmm/workflows/testarch/trace/workflow.yaml +66 -0
- package/.bmad/bmm/workflows/workflow-status/init/instructions.md +822 -0
- package/.bmad/bmm/workflows/workflow-status/init/workflow.yaml +27 -0
- package/.bmad/bmm/workflows/workflow-status/instructions.md +387 -0
- package/.bmad/bmm/workflows/workflow-status/paths/enterprise-brownfield.yaml +127 -0
- package/.bmad/bmm/workflows/workflow-status/paths/enterprise-greenfield.yaml +115 -0
- package/.bmad/bmm/workflows/workflow-status/paths/game-design.yaml +52 -0
- package/.bmad/bmm/workflows/workflow-status/paths/method-brownfield.yaml +97 -0
- package/.bmad/bmm/workflows/workflow-status/paths/method-greenfield.yaml +88 -0
- package/.bmad/bmm/workflows/workflow-status/paths/quick-flow-brownfield.yaml +58 -0
- package/.bmad/bmm/workflows/workflow-status/paths/quick-flow-greenfield.yaml +47 -0
- package/.bmad/bmm/workflows/workflow-status/project-levels.yaml +59 -0
- package/.bmad/bmm/workflows/workflow-status/sample-level-3-workflow.yaml +49 -0
- package/.bmad/bmm/workflows/workflow-status/workflow-status-template.yaml +31 -0
- package/.bmad/bmm/workflows/workflow-status/workflow.yaml +28 -0
- 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 +75 -0
- package/.claude/commands/bmad/bmm/agents/architect.md +80 -0
- package/.claude/commands/bmad/bmm/agents/dev.md +69 -0
- package/.claude/commands/bmad/bmm/agents/pm.md +84 -0
- package/.claude/commands/bmad/bmm/agents/sm.md +93 -0
- package/.claude/commands/bmad/bmm/agents/tea.md +80 -0
- package/.claude/commands/bmad/bmm/agents/tech-writer.md +90 -0
- package/.claude/commands/bmad/bmm/agents/ux-designer.md +79 -0
- package/.claude/commands/bmad/bmm/workflows/architecture.md +15 -0
- package/.claude/commands/bmad/bmm/workflows/brainstorm-project.md +15 -0
- package/.claude/commands/bmad/bmm/workflows/code-review.md +15 -0
- package/.claude/commands/bmad/bmm/workflows/correct-course.md +15 -0
- package/.claude/commands/bmad/bmm/workflows/create-epics-and-stories.md +15 -0
- package/.claude/commands/bmad/bmm/workflows/create-story.md +15 -0
- package/.claude/commands/bmad/bmm/workflows/create-ux-design.md +15 -0
- package/.claude/commands/bmad/bmm/workflows/dev-story.md +15 -0
- package/.claude/commands/bmad/bmm/workflows/document-project.md +15 -0
- package/.claude/commands/bmad/bmm/workflows/domain-research.md +15 -0
- package/.claude/commands/bmad/bmm/workflows/epic-tech-context.md +15 -0
- package/.claude/commands/bmad/bmm/workflows/prd.md +15 -0
- package/.claude/commands/bmad/bmm/workflows/product-brief.md +15 -0
- package/.claude/commands/bmad/bmm/workflows/research.md +15 -0
- package/.claude/commands/bmad/bmm/workflows/retrospective.md +15 -0
- package/.claude/commands/bmad/bmm/workflows/solutioning-gate-check.md +15 -0
- package/.claude/commands/bmad/bmm/workflows/sprint-planning.md +15 -0
- package/.claude/commands/bmad/bmm/workflows/story-context.md +15 -0
- package/.claude/commands/bmad/bmm/workflows/story-done.md +15 -0
- package/.claude/commands/bmad/bmm/workflows/story-ready.md +15 -0
- package/.claude/commands/bmad/bmm/workflows/tech-spec.md +15 -0
- package/.claude/commands/bmad/bmm/workflows/workflow-init.md +15 -0
- package/.claude/commands/bmad/bmm/workflows/workflow-status.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 -12
- package/.vscode/settings.json +2 -1
- package/package.json +1 -1
- 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 +11 -11
- 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 +4 -4
- 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 +1 -1
- package/src/modules/bmgd/_module-installer/install-config.yaml +17 -16
- package/src/modules/bmgd/agents/game-architect.agent.yaml +15 -10
- package/src/modules/bmgd/agents/game-designer.agent.yaml +16 -11
- package/src/modules/bmgd/agents/game-dev.agent.yaml +18 -12
- package/src/modules/bmgd/agents/game-scrum-master.agent.yaml +30 -25
- package/src/modules/bmgd/teams/default-party.csv +10 -0
- package/src/modules/bmgd/teams/team-gamedev.yaml +2 -0
- package/src/modules/bmgd/workflows/1-preproduction/brainstorm-game/instructions.md +1 -1
- package/src/modules/bmgd/workflows/1-preproduction/brainstorm-game/workflow.yaml +9 -9
- package/src/modules/bmgd/workflows/1-preproduction/game-brief/instructions.md +1 -1
- package/src/modules/bmgd/workflows/1-preproduction/game-brief/workflow.yaml +8 -8
- package/src/modules/bmgd/workflows/2-design/gdd/instructions-gdd.md +8 -8
- package/src/modules/bmgd/workflows/2-design/gdd/workflow.yaml +30 -30
- package/src/modules/bmgd/workflows/2-design/narrative/instructions-narrative.md +6 -6
- package/src/modules/bmgd/workflows/2-design/narrative/workflow.yaml +5 -5
- package/src/modules/bmgd/workflows/3-technical/game-architecture/instructions.md +6 -6
- package/src/modules/bmgd/workflows/3-technical/game-architecture/workflow.yaml +2 -2
- package/src/modules/bmgd/workflows/4-production/code-review/instructions.md +4 -4
- package/src/modules/bmgd/workflows/4-production/code-review/workflow.yaml +4 -13
- package/src/modules/bmgd/workflows/4-production/correct-course/checklist.md +1 -1
- package/src/modules/bmgd/workflows/4-production/correct-course/instructions.md +2 -2
- package/src/modules/bmgd/workflows/4-production/correct-course/workflow.yaml +2 -2
- package/src/modules/bmgd/workflows/4-production/create-story/instructions.md +3 -3
- package/src/modules/bmgd/workflows/4-production/create-story/workflow.yaml +3 -3
- package/src/modules/bmgd/workflows/4-production/dev-story/AUDIT-REPORT.md +3 -3
- package/src/modules/bmgd/workflows/4-production/dev-story/instructions.md +2 -2
- package/src/modules/bmgd/workflows/4-production/dev-story/workflow.yaml +3 -3
- package/src/modules/bmgd/workflows/4-production/epic-tech-context/checklist.md +1 -1
- package/src/modules/bmgd/workflows/4-production/epic-tech-context/instructions.md +2 -2
- package/src/modules/bmgd/workflows/4-production/epic-tech-context/workflow.yaml +2 -2
- package/src/modules/bmgd/workflows/4-production/retrospective/instructions.md +2 -2
- package/src/modules/bmgd/workflows/4-production/retrospective/workflow.yaml +4 -4
- package/src/modules/bmgd/workflows/4-production/sprint-planning/instructions.md +2 -2
- package/src/modules/bmgd/workflows/4-production/sprint-planning/workflow.yaml +3 -3
- package/src/modules/bmgd/workflows/4-production/story-context/checklist.md +1 -1
- package/src/modules/bmgd/workflows/4-production/story-context/context-template.xml +1 -1
- package/src/modules/bmgd/workflows/4-production/story-context/instructions.md +2 -2
- package/src/modules/bmgd/workflows/4-production/story-context/workflow.yaml +4 -4
- package/src/modules/bmgd/workflows/4-production/story-done/instructions.md +1 -1
- package/src/modules/bmgd/workflows/4-production/story-done/workflow.yaml +3 -3
- package/src/modules/bmgd/workflows/4-production/story-ready/instructions.md +1 -1
- package/src/modules/bmgd/workflows/4-production/story-ready/workflow.yaml +3 -3
- 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/agents-guide.md +4 -4
- package/src/modules/bmm/docs/brownfield-guide.md +4 -4
- package/src/modules/bmm/docs/enterprise-agentic-development.md +3 -3
- package/src/modules/bmm/docs/faq.md +1 -1
- package/src/modules/bmm/docs/party-mode.md +3 -3
- package/src/modules/bmm/docs/quick-start.md +1 -1
- package/src/modules/bmm/docs/test-architecture.md +1 -1
- package/src/modules/bmm/docs/workflow-document-project-reference.md +1 -1
- 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 +8 -8
- package/src/modules/bmm/workflows/1-analysis/product-brief/instructions.md +1 -1
- package/src/modules/bmm/workflows/1-analysis/product-brief/workflow.yaml +9 -9
- 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 +5 -5
- 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 +10 -10
- 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 +5 -5
- package/src/modules/bmm/workflows/2-plan-workflows/prd/workflow.yaml +16 -16
- 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 +12 -12
- package/src/modules/bmm/workflows/3-solutioning/architecture/instructions.md +6 -6
- package/src/modules/bmm/workflows/3-solutioning/architecture/workflow.yaml +19 -19
- 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 +28 -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/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/tools/cli/bundlers/web-bundler.js +85 -16
- 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 +78 -224
- package/tools/cli/installers/lib/ide/claude-code.js +14 -22
- 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 +51 -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 +89 -17
- package/tools/cli/lib/cli-utils.js +52 -50
- package/tools/cli/lib/ui.js +15 -8
- package/tools/schema/agent.js +7 -3
- 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 +424 -189
- package/web-bundles/bmm/agents/architect.xml +514 -183
- package/web-bundles/bmm/agents/dev.xml +185 -5
- package/web-bundles/bmm/agents/pm.xml +522 -193
- package/web-bundles/bmm/agents/sm.xml +636 -5
- package/web-bundles/bmm/agents/tea.xml +697 -4
- package/web-bundles/bmm/agents/tech-writer.xml +544 -4
- package/web-bundles/bmm/agents/ux-designer.xml +505 -31
- package/web-bundles/bmm/teams/team-fullstack.xml +1588 -1258
- 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/bmad/_cfg/agent-manifest.csv +0 -5
- package/bmad/_cfg/files-manifest.csv +0 -82
- package/bmad/_cfg/ides/claude-code.yaml +0 -6
- package/bmad/_cfg/manifest.yaml +0 -11
- package/bmad/_cfg/task-manifest.csv +0 -13
- package/bmad/_cfg/tool-manifest.csv +0 -4
- package/bmad/_cfg/workflow-manifest.csv +0 -17
- package/bmad/bmb/config.yaml +0 -14
- 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/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/_cfg/agents/core-bmad-master.customize.yaml → .bmad/_cfg/agents/bmm-analyst.customize.yaml} +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}/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
|
@@ -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
|
|
@@ -45,8 +46,14 @@ class CursorSetup extends BaseIdeSetup {
|
|
|
45
46
|
|
|
46
47
|
await this.ensureDir(bmadRulesDir);
|
|
47
48
|
|
|
48
|
-
//
|
|
49
|
-
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)
|
|
50
57
|
const tasks = await this.getTasks(bmadDir, true);
|
|
51
58
|
const tools = await this.getTools(bmadDir, true);
|
|
52
59
|
const workflows = await this.getWorkflows(bmadDir, true);
|
|
@@ -63,15 +70,16 @@ class CursorSetup extends BaseIdeSetup {
|
|
|
63
70
|
await this.ensureDir(path.join(bmadRulesDir, module, 'workflows'));
|
|
64
71
|
}
|
|
65
72
|
|
|
66
|
-
// Process and
|
|
73
|
+
// Process and write agent launchers with MDC format
|
|
67
74
|
let agentCount = 0;
|
|
68
|
-
for (const
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
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,
|
|
72
80
|
});
|
|
73
81
|
|
|
74
|
-
const targetPath = path.join(bmadRulesDir,
|
|
82
|
+
const targetPath = path.join(bmadRulesDir, artifact.module, 'agents', `${artifact.name}.mdc`);
|
|
75
83
|
|
|
76
84
|
await this.writeFile(targetPath, content);
|
|
77
85
|
agentCount++;
|
|
@@ -256,6 +264,13 @@ specific agent expertise, task workflows, tools, or guided workflows.
|
|
|
256
264
|
// First apply base processing (includes activation injection for agents)
|
|
257
265
|
let processed = super.processContent(content, metadata);
|
|
258
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
|
+
|
|
259
274
|
// Determine the type and description based on content
|
|
260
275
|
const isAgent = content.includes('<agent');
|
|
261
276
|
const isTask = content.includes('<task');
|
|
@@ -304,6 +319,34 @@ alwaysApply: false
|
|
|
304
319
|
// Add the MDC header to the processed content
|
|
305
320
|
return mdcHeader + processed;
|
|
306
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
|
+
}
|
|
307
350
|
}
|
|
308
351
|
|
|
309
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;
|
|
@@ -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`;
|