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
|
@@ -34,10 +34,12 @@ class ManifestGenerator {
|
|
|
34
34
|
|
|
35
35
|
// Store modules list (all modules including preserved ones)
|
|
36
36
|
const preservedModules = options.preservedModules || [];
|
|
37
|
-
|
|
38
|
-
this.
|
|
37
|
+
// Deduplicate modules list to prevent duplicates
|
|
38
|
+
this.modules = [...new Set(['core', ...selectedModules, ...preservedModules])];
|
|
39
|
+
this.updatedModules = [...new Set(['core', ...selectedModules])]; // Only these get rescanned
|
|
39
40
|
this.preservedModules = preservedModules; // These stay as-is in CSVs
|
|
40
41
|
this.bmadDir = bmadDir;
|
|
42
|
+
this.bmadFolderName = path.basename(bmadDir); // Get the actual folder name (e.g., '.bmad' or 'bmad')
|
|
41
43
|
this.allInstalledFiles = installedFiles;
|
|
42
44
|
|
|
43
45
|
if (!Object.prototype.hasOwnProperty.call(options, 'ides')) {
|
|
@@ -91,15 +93,8 @@ class ManifestGenerator {
|
|
|
91
93
|
async collectWorkflows(selectedModules) {
|
|
92
94
|
this.workflows = [];
|
|
93
95
|
|
|
94
|
-
//
|
|
95
|
-
const
|
|
96
|
-
if (await fs.pathExists(corePath)) {
|
|
97
|
-
const coreWorkflows = await this.getWorkflowsFromPath(corePath, 'core');
|
|
98
|
-
this.workflows.push(...coreWorkflows);
|
|
99
|
-
}
|
|
100
|
-
|
|
101
|
-
// Get module workflows from installed bmad directory
|
|
102
|
-
for (const moduleName of selectedModules) {
|
|
96
|
+
// Use updatedModules which already includes deduplicated 'core' + selectedModules
|
|
97
|
+
for (const moduleName of this.updatedModules) {
|
|
103
98
|
const modulePath = path.join(this.bmadDir, moduleName);
|
|
104
99
|
|
|
105
100
|
if (await fs.pathExists(modulePath)) {
|
|
@@ -146,8 +141,8 @@ class ManifestGenerator {
|
|
|
146
141
|
// Build relative path for installation
|
|
147
142
|
const installPath =
|
|
148
143
|
moduleName === 'core'
|
|
149
|
-
?
|
|
150
|
-
:
|
|
144
|
+
? `${this.bmadFolderName}/core/workflows/${relativePath}/workflow.yaml`
|
|
145
|
+
: `${this.bmadFolderName}/${moduleName}/workflows/${relativePath}/workflow.yaml`;
|
|
151
146
|
|
|
152
147
|
// Check for standalone property (default: false)
|
|
153
148
|
const standalone = workflow.standalone === true;
|
|
@@ -186,15 +181,8 @@ class ManifestGenerator {
|
|
|
186
181
|
async collectAgents(selectedModules) {
|
|
187
182
|
this.agents = [];
|
|
188
183
|
|
|
189
|
-
//
|
|
190
|
-
const
|
|
191
|
-
if (await fs.pathExists(coreAgentsPath)) {
|
|
192
|
-
const coreAgents = await this.getAgentsFromDir(coreAgentsPath, 'core');
|
|
193
|
-
this.agents.push(...coreAgents);
|
|
194
|
-
}
|
|
195
|
-
|
|
196
|
-
// Get module agents from installed bmad directory
|
|
197
|
-
for (const moduleName of selectedModules) {
|
|
184
|
+
// Use updatedModules which already includes deduplicated 'core' + selectedModules
|
|
185
|
+
for (const moduleName of this.updatedModules) {
|
|
198
186
|
const agentsPath = path.join(this.bmadDir, moduleName, 'agents');
|
|
199
187
|
|
|
200
188
|
if (await fs.pathExists(agentsPath)) {
|
|
@@ -254,7 +242,8 @@ class ManifestGenerator {
|
|
|
254
242
|
const principlesMatch = content.match(/<principles>([\s\S]*?)<\/principles>/);
|
|
255
243
|
|
|
256
244
|
// Build relative path for installation
|
|
257
|
-
const installPath =
|
|
245
|
+
const installPath =
|
|
246
|
+
moduleName === 'core' ? `${this.bmadFolderName}/core/agents/${file}` : `${this.bmadFolderName}/${moduleName}/agents/${file}`;
|
|
258
247
|
|
|
259
248
|
const agentName = file.replace('.md', '');
|
|
260
249
|
|
|
@@ -300,15 +289,8 @@ class ManifestGenerator {
|
|
|
300
289
|
async collectTasks(selectedModules) {
|
|
301
290
|
this.tasks = [];
|
|
302
291
|
|
|
303
|
-
//
|
|
304
|
-
const
|
|
305
|
-
if (await fs.pathExists(coreTasksPath)) {
|
|
306
|
-
const coreTasks = await this.getTasksFromDir(coreTasksPath, 'core');
|
|
307
|
-
this.tasks.push(...coreTasks);
|
|
308
|
-
}
|
|
309
|
-
|
|
310
|
-
// Get module tasks from installed bmad directory
|
|
311
|
-
for (const moduleName of selectedModules) {
|
|
292
|
+
// Use updatedModules which already includes deduplicated 'core' + selectedModules
|
|
293
|
+
for (const moduleName of this.updatedModules) {
|
|
312
294
|
const tasksPath = path.join(this.bmadDir, moduleName, 'tasks');
|
|
313
295
|
|
|
314
296
|
if (await fs.pathExists(tasksPath)) {
|
|
@@ -344,7 +326,8 @@ class ManifestGenerator {
|
|
|
344
326
|
const standalone = !!standaloneMatch;
|
|
345
327
|
|
|
346
328
|
// Build relative path for installation
|
|
347
|
-
const installPath =
|
|
329
|
+
const installPath =
|
|
330
|
+
moduleName === 'core' ? `${this.bmadFolderName}/core/tasks/${file}` : `${this.bmadFolderName}/${moduleName}/tasks/${file}`;
|
|
348
331
|
|
|
349
332
|
const taskName = file.replace(/\.(xml|md)$/, '');
|
|
350
333
|
tasks.push({
|
|
@@ -376,15 +359,8 @@ class ManifestGenerator {
|
|
|
376
359
|
async collectTools(selectedModules) {
|
|
377
360
|
this.tools = [];
|
|
378
361
|
|
|
379
|
-
//
|
|
380
|
-
const
|
|
381
|
-
if (await fs.pathExists(coreToolsPath)) {
|
|
382
|
-
const coreTools = await this.getToolsFromDir(coreToolsPath, 'core');
|
|
383
|
-
this.tools.push(...coreTools);
|
|
384
|
-
}
|
|
385
|
-
|
|
386
|
-
// Get module tools from installed bmad directory
|
|
387
|
-
for (const moduleName of selectedModules) {
|
|
362
|
+
// Use updatedModules which already includes deduplicated 'core' + selectedModules
|
|
363
|
+
for (const moduleName of this.updatedModules) {
|
|
388
364
|
const toolsPath = path.join(this.bmadDir, moduleName, 'tools');
|
|
389
365
|
|
|
390
366
|
if (await fs.pathExists(toolsPath)) {
|
|
@@ -420,7 +396,8 @@ class ManifestGenerator {
|
|
|
420
396
|
const standalone = !!standaloneMatch;
|
|
421
397
|
|
|
422
398
|
// Build relative path for installation
|
|
423
|
-
const installPath =
|
|
399
|
+
const installPath =
|
|
400
|
+
moduleName === 'core' ? `${this.bmadFolderName}/core/tools/${file}` : `${this.bmadFolderName}/${moduleName}/tools/${file}`;
|
|
424
401
|
|
|
425
402
|
const toolName = file.replace(/\.(xml|md)$/, '');
|
|
426
403
|
tools.push({
|
|
@@ -564,26 +541,14 @@ class ManifestGenerator {
|
|
|
564
541
|
async writeWorkflowManifest(cfgDir) {
|
|
565
542
|
const csvPath = path.join(cfgDir, 'workflow-manifest.csv');
|
|
566
543
|
|
|
567
|
-
// Define expected columns and defaults for schema upgrade
|
|
568
|
-
const expectedColumns = ['name', 'description', 'module', 'path', 'standalone'];
|
|
569
|
-
const defaultValues = { standalone: 'false' };
|
|
570
|
-
|
|
571
|
-
// Get preserved rows from existing CSV (module is column 2, 0-indexed)
|
|
572
|
-
const preservedRows = await this.getPreservedCsvRows(csvPath, 2, expectedColumns, defaultValues);
|
|
573
|
-
|
|
574
544
|
// Create CSV header with standalone column
|
|
575
545
|
let csv = 'name,description,module,path,standalone\n';
|
|
576
546
|
|
|
577
|
-
// Add
|
|
547
|
+
// Add all workflows
|
|
578
548
|
for (const workflow of this.workflows) {
|
|
579
549
|
csv += `"${workflow.name}","${workflow.description}","${workflow.module}","${workflow.path}","${workflow.standalone}"\n`;
|
|
580
550
|
}
|
|
581
551
|
|
|
582
|
-
// Add preserved rows for modules we didn't update
|
|
583
|
-
for (const row of preservedRows) {
|
|
584
|
-
csv += row + '\n';
|
|
585
|
-
}
|
|
586
|
-
|
|
587
552
|
await fs.writeFile(csvPath, csv);
|
|
588
553
|
return csvPath;
|
|
589
554
|
}
|
|
@@ -595,36 +560,14 @@ class ManifestGenerator {
|
|
|
595
560
|
async writeAgentManifest(cfgDir) {
|
|
596
561
|
const csvPath = path.join(cfgDir, 'agent-manifest.csv');
|
|
597
562
|
|
|
598
|
-
// Define expected columns (no schema changes for agents currently)
|
|
599
|
-
const expectedColumns = [
|
|
600
|
-
'name',
|
|
601
|
-
'displayName',
|
|
602
|
-
'title',
|
|
603
|
-
'icon',
|
|
604
|
-
'role',
|
|
605
|
-
'identity',
|
|
606
|
-
'communicationStyle',
|
|
607
|
-
'principles',
|
|
608
|
-
'module',
|
|
609
|
-
'path',
|
|
610
|
-
];
|
|
611
|
-
|
|
612
|
-
// Get preserved rows from existing CSV (module is column 8, 0-indexed)
|
|
613
|
-
const preservedRows = await this.getPreservedCsvRows(csvPath, 8, expectedColumns);
|
|
614
|
-
|
|
615
563
|
// Create CSV header with persona fields
|
|
616
564
|
let csv = 'name,displayName,title,icon,role,identity,communicationStyle,principles,module,path\n';
|
|
617
565
|
|
|
618
|
-
// Add
|
|
566
|
+
// Add all agents
|
|
619
567
|
for (const agent of this.agents) {
|
|
620
568
|
csv += `"${agent.name}","${agent.displayName}","${agent.title}","${agent.icon}","${agent.role}","${agent.identity}","${agent.communicationStyle}","${agent.principles}","${agent.module}","${agent.path}"\n`;
|
|
621
569
|
}
|
|
622
570
|
|
|
623
|
-
// Add preserved rows for modules we didn't update
|
|
624
|
-
for (const row of preservedRows) {
|
|
625
|
-
csv += row + '\n';
|
|
626
|
-
}
|
|
627
|
-
|
|
628
571
|
await fs.writeFile(csvPath, csv);
|
|
629
572
|
return csvPath;
|
|
630
573
|
}
|
|
@@ -636,26 +579,14 @@ class ManifestGenerator {
|
|
|
636
579
|
async writeTaskManifest(cfgDir) {
|
|
637
580
|
const csvPath = path.join(cfgDir, 'task-manifest.csv');
|
|
638
581
|
|
|
639
|
-
// Define expected columns and defaults for schema upgrade
|
|
640
|
-
const expectedColumns = ['name', 'displayName', 'description', 'module', 'path', 'standalone'];
|
|
641
|
-
const defaultValues = { standalone: 'false' };
|
|
642
|
-
|
|
643
|
-
// Get preserved rows from existing CSV (module is column 3, 0-indexed)
|
|
644
|
-
const preservedRows = await this.getPreservedCsvRows(csvPath, 3, expectedColumns, defaultValues);
|
|
645
|
-
|
|
646
582
|
// Create CSV header with standalone column
|
|
647
583
|
let csv = 'name,displayName,description,module,path,standalone\n';
|
|
648
584
|
|
|
649
|
-
// Add
|
|
585
|
+
// Add all tasks
|
|
650
586
|
for (const task of this.tasks) {
|
|
651
587
|
csv += `"${task.name}","${task.displayName}","${task.description}","${task.module}","${task.path}","${task.standalone}"\n`;
|
|
652
588
|
}
|
|
653
589
|
|
|
654
|
-
// Add preserved rows for modules we didn't update
|
|
655
|
-
for (const row of preservedRows) {
|
|
656
|
-
csv += row + '\n';
|
|
657
|
-
}
|
|
658
|
-
|
|
659
590
|
await fs.writeFile(csvPath, csv);
|
|
660
591
|
return csvPath;
|
|
661
592
|
}
|
|
@@ -667,26 +598,14 @@ class ManifestGenerator {
|
|
|
667
598
|
async writeToolManifest(cfgDir) {
|
|
668
599
|
const csvPath = path.join(cfgDir, 'tool-manifest.csv');
|
|
669
600
|
|
|
670
|
-
// Define expected columns and defaults for schema upgrade
|
|
671
|
-
const expectedColumns = ['name', 'displayName', 'description', 'module', 'path', 'standalone'];
|
|
672
|
-
const defaultValues = { standalone: 'false' };
|
|
673
|
-
|
|
674
|
-
// Get preserved rows from existing CSV (module is column 3, 0-indexed)
|
|
675
|
-
const preservedRows = await this.getPreservedCsvRows(csvPath, 3, expectedColumns, defaultValues);
|
|
676
|
-
|
|
677
601
|
// Create CSV header with standalone column
|
|
678
602
|
let csv = 'name,displayName,description,module,path,standalone\n';
|
|
679
603
|
|
|
680
|
-
// Add
|
|
604
|
+
// Add all tools
|
|
681
605
|
for (const tool of this.tools) {
|
|
682
606
|
csv += `"${tool.name}","${tool.displayName}","${tool.description}","${tool.module}","${tool.path}","${tool.standalone}"\n`;
|
|
683
607
|
}
|
|
684
608
|
|
|
685
|
-
// Add preserved rows for modules we didn't update
|
|
686
|
-
for (const row of preservedRows) {
|
|
687
|
-
csv += row + '\n';
|
|
688
|
-
}
|
|
689
|
-
|
|
690
609
|
await fs.writeFile(csvPath, csv);
|
|
691
610
|
return csvPath;
|
|
692
611
|
}
|
|
@@ -714,9 +633,6 @@ class ManifestGenerator {
|
|
|
714
633
|
async writeFilesManifest(cfgDir) {
|
|
715
634
|
const csvPath = path.join(cfgDir, 'files-manifest.csv');
|
|
716
635
|
|
|
717
|
-
// Get preserved rows from existing CSV (module is column 2, 0-indexed)
|
|
718
|
-
const preservedRows = await this.getPreservedCsvRows(csvPath, 2);
|
|
719
|
-
|
|
720
636
|
// Create CSV header with hash column
|
|
721
637
|
let csv = 'type,name,module,path,hash\n';
|
|
722
638
|
|
|
@@ -747,7 +663,7 @@ class ManifestGenerator {
|
|
|
747
663
|
} else {
|
|
748
664
|
// Fallback: use the collected workflows/agents/tasks
|
|
749
665
|
for (const file of this.files) {
|
|
750
|
-
const filePath = path.join(this.bmadDir, file.path.replace('
|
|
666
|
+
const filePath = path.join(this.bmadDir, file.path.replace(this.bmadFolderName + '/', ''));
|
|
751
667
|
const hash = await this.calculateFileHash(filePath);
|
|
752
668
|
allFiles.push({
|
|
753
669
|
...file,
|
|
@@ -763,16 +679,11 @@ class ManifestGenerator {
|
|
|
763
679
|
return a.name.localeCompare(b.name);
|
|
764
680
|
});
|
|
765
681
|
|
|
766
|
-
// Add
|
|
682
|
+
// Add all files
|
|
767
683
|
for (const file of allFiles) {
|
|
768
684
|
csv += `"${file.type}","${file.name}","${file.module}","${file.path}","${file.hash}"\n`;
|
|
769
685
|
}
|
|
770
686
|
|
|
771
|
-
// Add preserved rows for modules we didn't update
|
|
772
|
-
for (const row of preservedRows) {
|
|
773
|
-
csv += row + '\n';
|
|
774
|
-
}
|
|
775
|
-
|
|
776
687
|
await fs.writeFile(csvPath, csv);
|
|
777
688
|
return csvPath;
|
|
778
689
|
}
|
|
@@ -18,6 +18,31 @@ class BaseIdeSetup {
|
|
|
18
18
|
this.configFile = null; // Override in subclasses when detection is file-based
|
|
19
19
|
this.detectionPaths = []; // Additional paths that indicate the IDE is configured
|
|
20
20
|
this.xmlHandler = new XmlHandler();
|
|
21
|
+
this.bmadFolderName = 'bmad'; // Default, can be overridden
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
* Set the bmad folder name for placeholder replacement
|
|
26
|
+
* @param {string} bmadFolderName - The bmad folder name
|
|
27
|
+
*/
|
|
28
|
+
setBmadFolderName(bmadFolderName) {
|
|
29
|
+
this.bmadFolderName = bmadFolderName;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
/**
|
|
33
|
+
* Get the agent command activation header from the central template
|
|
34
|
+
* @returns {string} The activation header text (without XML tags)
|
|
35
|
+
*/
|
|
36
|
+
async getAgentCommandHeader() {
|
|
37
|
+
const headerPath = path.join(getSourcePath(), 'src', 'utility', 'models', 'agent-command-header.md');
|
|
38
|
+
try {
|
|
39
|
+
const content = await fs.readFile(headerPath, 'utf8');
|
|
40
|
+
// Strip the <critical> tags to get plain text
|
|
41
|
+
return content.replaceAll(/<critical>|<\/critical>/g, '').trim();
|
|
42
|
+
} catch {
|
|
43
|
+
// Fallback if file doesn't exist
|
|
44
|
+
return "You must fully embody this agent's persona and follow all activation instructions, steps and rules exactly as specified. NEVER break character until given an exit command.";
|
|
45
|
+
}
|
|
21
46
|
}
|
|
22
47
|
|
|
23
48
|
/**
|
|
@@ -489,23 +514,52 @@ class BaseIdeSetup {
|
|
|
489
514
|
}
|
|
490
515
|
|
|
491
516
|
/**
|
|
492
|
-
* Write file with content
|
|
517
|
+
* Write file with content (replaces {bmad_folder} placeholder)
|
|
493
518
|
* @param {string} filePath - File path
|
|
494
519
|
* @param {string} content - File content
|
|
495
520
|
*/
|
|
496
521
|
async writeFile(filePath, content) {
|
|
522
|
+
// Replace {bmad_folder} placeholder if present
|
|
523
|
+
if (typeof content === 'string' && content.includes('{bmad_folder}')) {
|
|
524
|
+
content = content.replaceAll('{bmad_folder}', this.bmadFolderName);
|
|
525
|
+
}
|
|
497
526
|
await this.ensureDir(path.dirname(filePath));
|
|
498
527
|
await fs.writeFile(filePath, content, 'utf8');
|
|
499
528
|
}
|
|
500
529
|
|
|
501
530
|
/**
|
|
502
|
-
* Copy file from source to destination
|
|
531
|
+
* Copy file from source to destination (replaces {bmad_folder} placeholder in text files)
|
|
503
532
|
* @param {string} source - Source file path
|
|
504
533
|
* @param {string} dest - Destination file path
|
|
505
534
|
*/
|
|
506
535
|
async copyFile(source, dest) {
|
|
536
|
+
// List of text file extensions that should have placeholder replacement
|
|
537
|
+
const textExtensions = ['.md', '.yaml', '.yml', '.txt', '.json', '.js', '.ts', '.html', '.css', '.sh', '.bat', '.csv'];
|
|
538
|
+
const ext = path.extname(source).toLowerCase();
|
|
539
|
+
|
|
507
540
|
await this.ensureDir(path.dirname(dest));
|
|
508
|
-
|
|
541
|
+
|
|
542
|
+
// Check if this is a text file that might contain placeholders
|
|
543
|
+
if (textExtensions.includes(ext)) {
|
|
544
|
+
try {
|
|
545
|
+
// Read the file content
|
|
546
|
+
let content = await fs.readFile(source, 'utf8');
|
|
547
|
+
|
|
548
|
+
// Replace {bmad_folder} placeholder with actual folder name
|
|
549
|
+
if (content.includes('{bmad_folder}')) {
|
|
550
|
+
content = content.replaceAll('{bmad_folder}', this.bmadFolderName);
|
|
551
|
+
}
|
|
552
|
+
|
|
553
|
+
// Write to dest with replaced content
|
|
554
|
+
await fs.writeFile(dest, content, 'utf8');
|
|
555
|
+
} catch {
|
|
556
|
+
// If reading as text fails, fall back to regular copy
|
|
557
|
+
await fs.copy(source, dest, { overwrite: true });
|
|
558
|
+
}
|
|
559
|
+
} else {
|
|
560
|
+
// Binary file or other file type - just copy directly
|
|
561
|
+
await fs.copy(source, dest, { overwrite: true });
|
|
562
|
+
}
|
|
509
563
|
}
|
|
510
564
|
|
|
511
565
|
/**
|