bmad-method 6.0.0-alpha.1 → 6.0.0-alpha.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.github/ISSUE_TEMPLATE/idea_submission.md +1 -1
- package/.github/workflows/bundle-latest.yaml +277 -0
- package/.github/workflows/manual-release.yaml +64 -17
- package/.github/workflows/{lint.yaml → quality.yaml} +19 -2
- package/.husky/pre-commit +4 -0
- package/.prettierignore +4 -0
- package/.vscode/settings.json +3 -1
- package/CHANGELOG.md +1203 -0
- package/CONTRIBUTING.md +1 -13
- package/README.md +330 -149
- package/docs/BUNDLE_DISTRIBUTION_SETUP.md +95 -0
- package/docs/agent-customization-guide.md +208 -0
- package/docs/document-sharding-guide.md +449 -0
- package/docs/ide-info/crush.md +1 -1
- package/docs/ide-info/cursor.md +7 -7
- package/docs/ide-info/iflow.md +3 -3
- package/docs/ide-info/opencode.md +1 -1
- package/docs/index.md +227 -0
- package/docs/installers-bundlers/ide-injections.md +2 -2
- package/docs/installers-bundlers/installers-modules-platforms-reference.md +80 -19
- package/docs/v4-to-v6-upgrade.md +21 -19
- package/docs/web-bundles-gemini-gpt-guide.md +473 -0
- package/eslint.config.mjs +2 -0
- package/package.json +5 -3
- package/src/core/_module-installer/install-config.yaml +17 -10
- package/src/core/_module-installer/installer.js +0 -8
- package/src/core/agents/bmad-master.agent.yaml +5 -5
- package/src/core/agents/bmad-web-orchestrator.agent.xml +8 -17
- package/src/core/tasks/advanced-elicitation-methods.csv +21 -0
- package/{bmad/core/tasks/adv-elicit.xml → src/core/tasks/advanced-elicitation.xml} +6 -4
- package/src/core/tasks/index-docs.xml +1 -1
- package/src/core/tasks/validate-workflow.xml +1 -1
- package/src/core/tasks/workflow.xml +126 -22
- package/src/core/tools/shard-doc.xml +54 -45
- package/src/core/workflows/brainstorming/README.md +6 -16
- package/src/core/workflows/brainstorming/instructions.md +6 -5
- package/src/core/workflows/brainstorming/template.md +4 -0
- package/src/core/workflows/brainstorming/workflow.yaml +8 -13
- package/src/core/workflows/party-mode/instructions.md +2 -7
- package/src/core/workflows/party-mode/workflow.yaml +11 -6
- package/src/modules/bmb/README.md +135 -73
- package/src/modules/bmb/_module-installer/install-config.yaml +9 -4
- package/src/modules/bmb/agents/bmad-builder.agent.yaml +11 -12
- package/src/modules/bmb/workflows/audit-workflow/checklist.md +5 -6
- package/src/modules/bmb/workflows/audit-workflow/instructions.md +6 -6
- package/src/modules/bmb/workflows/audit-workflow/workflow.yaml +2 -2
- package/src/modules/bmb/workflows/convert-legacy/README.md +5 -5
- package/src/modules/bmb/workflows/convert-legacy/checklist.md +2 -2
- package/src/modules/bmb/workflows/convert-legacy/instructions.md +17 -17
- package/src/modules/bmb/workflows/convert-legacy/workflow.yaml +6 -10
- package/src/modules/bmb/workflows/create-agent/README.md +126 -243
- package/src/modules/bmb/workflows/create-agent/agent-architecture.md +15 -19
- 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 +67 -39
- package/src/modules/bmb/workflows/create-agent/workflow.yaml +14 -15
- package/src/modules/bmb/workflows/create-module/README.md +163 -154
- package/src/modules/bmb/workflows/create-module/checklist.md +1 -10
- package/src/modules/bmb/workflows/create-module/installer-templates/install-config.yaml +1 -1
- package/src/modules/bmb/workflows/create-module/instructions.md +13 -17
- package/src/modules/bmb/workflows/create-module/module-structure.md +39 -5
- package/src/modules/bmb/workflows/create-module/workflow.yaml +21 -13
- package/src/modules/bmb/workflows/create-workflow/README.md +4 -4
- package/src/modules/bmb/workflows/create-workflow/checklist.md +1 -1
- package/src/modules/bmb/workflows/create-workflow/instructions.md +46 -37
- package/src/modules/bmb/workflows/create-workflow/workflow-creation-guide.md +219 -42
- package/src/modules/bmb/workflows/create-workflow/workflow-template/instructions.md +4 -2
- package/src/modules/bmb/workflows/create-workflow/workflow-template/workflow.yaml +12 -16
- package/src/modules/bmb/workflows/create-workflow/workflow.yaml +7 -8
- package/src/modules/bmb/workflows/edit-agent/checklist.md +1 -1
- package/src/modules/bmb/workflows/edit-agent/instructions.md +2 -2
- package/src/modules/bmb/workflows/edit-agent/workflow.yaml +10 -12
- package/src/modules/bmb/workflows/edit-module/README.md +2 -2
- package/src/modules/bmb/workflows/edit-module/checklist.md +2 -2
- package/src/modules/bmb/workflows/edit-module/instructions.md +7 -5
- package/src/modules/bmb/workflows/edit-module/workflow.yaml +11 -13
- package/src/modules/bmb/workflows/edit-workflow/instructions.md +4 -4
- package/src/modules/bmb/workflows/edit-workflow/workflow.yaml +6 -8
- package/src/modules/bmb/workflows/module-brief/README.md +2 -2
- package/src/modules/bmb/workflows/module-brief/checklist.md +2 -2
- package/src/modules/bmb/workflows/module-brief/instructions.md +3 -2
- package/src/modules/bmb/workflows/module-brief/workflow.yaml +12 -7
- package/src/modules/bmb/workflows/redoc/README.md +5 -5
- package/src/modules/bmb/workflows/redoc/instructions.md +1 -1
- package/src/modules/bmb/workflows/redoc/workflow.yaml +1 -1
- package/src/modules/bmgd/README.md +208 -0
- package/src/modules/bmgd/_module-installer/install-config.yaml +54 -0
- package/src/modules/bmgd/agents/game-architect.agent.yaml +33 -0
- package/src/modules/bmgd/agents/game-designer.agent.yaml +40 -0
- package/src/modules/bmgd/agents/game-dev.agent.yaml +40 -0
- package/src/modules/bmgd/agents/game-scrum-master.agent.yaml +75 -0
- package/src/modules/bmgd/teams/default-party.csv +10 -0
- package/src/modules/{bmm → bmgd}/teams/team-gamedev.yaml +5 -1
- package/src/modules/bmgd/workflows/1-preproduction/brainstorm-game/instructions.md +130 -0
- package/src/modules/{bmm/workflows/1-analysis → bmgd/workflows/1-preproduction}/brainstorm-game/workflow.yaml +10 -10
- package/src/modules/{bmm/workflows/1-analysis → bmgd/workflows/1-preproduction}/game-brief/instructions.md +44 -28
- package/src/modules/{bmm/workflows/1-analysis → bmgd/workflows/1-preproduction}/game-brief/workflow.yaml +9 -17
- package/src/modules/{bmm/workflows/2-plan-workflows → bmgd/workflows/2-design}/gdd/instructions-gdd.md +58 -31
- package/src/modules/bmgd/workflows/2-design/gdd/workflow.yaml +81 -0
- package/src/modules/{bmm/workflows/2-plan-workflows → bmgd/workflows/2-design}/narrative/instructions-narrative.md +75 -28
- package/src/modules/{bmm/workflows/2-plan-workflows → bmgd/workflows/2-design}/narrative/workflow.yaml +6 -12
- package/src/modules/bmgd/workflows/3-technical/game-architecture/architecture-patterns.yaml +321 -0
- package/src/modules/bmgd/workflows/3-technical/game-architecture/architecture-template.md +103 -0
- package/src/modules/bmgd/workflows/3-technical/game-architecture/checklist.md +240 -0
- package/src/modules/bmgd/workflows/3-technical/game-architecture/decision-catalog.yaml +222 -0
- package/src/modules/bmgd/workflows/3-technical/game-architecture/instructions.md +701 -0
- package/src/modules/bmgd/workflows/3-technical/game-architecture/pattern-categories.csv +13 -0
- package/src/modules/bmgd/workflows/3-technical/game-architecture/workflow.yaml +69 -0
- package/src/modules/bmgd/workflows/4-production/code-review/backlog_template.md +12 -0
- package/src/modules/bmgd/workflows/4-production/code-review/checklist.md +22 -0
- package/src/modules/bmgd/workflows/4-production/code-review/instructions.md +398 -0
- package/src/modules/bmgd/workflows/4-production/code-review/workflow.yaml +61 -0
- package/src/modules/bmgd/workflows/4-production/correct-course/checklist.md +279 -0
- package/src/modules/bmgd/workflows/4-production/correct-course/instructions.md +206 -0
- package/src/modules/bmgd/workflows/4-production/correct-course/workflow.yaml +58 -0
- package/src/modules/bmgd/workflows/4-production/create-story/checklist.md +240 -0
- package/src/modules/bmgd/workflows/4-production/create-story/instructions.md +256 -0
- package/src/modules/bmgd/workflows/4-production/create-story/template.md +51 -0
- package/src/modules/bmgd/workflows/4-production/create-story/workflow.yaml +74 -0
- package/src/modules/bmgd/workflows/4-production/dev-story/checklist.md +38 -0
- package/src/modules/bmgd/workflows/4-production/dev-story/instructions.md +267 -0
- package/src/modules/bmgd/workflows/4-production/dev-story/workflow.yaml +58 -0
- package/src/modules/bmgd/workflows/4-production/epic-tech-context/checklist.md +17 -0
- package/src/modules/bmgd/workflows/4-production/epic-tech-context/instructions.md +164 -0
- package/src/modules/bmgd/workflows/4-production/epic-tech-context/template.md +76 -0
- package/src/modules/bmgd/workflows/4-production/epic-tech-context/workflow.yaml +58 -0
- package/src/modules/bmgd/workflows/4-production/retrospective/instructions.md +1443 -0
- package/src/modules/bmgd/workflows/4-production/retrospective/workflow.yaml +57 -0
- package/src/modules/bmgd/workflows/4-production/sprint-planning/checklist.md +33 -0
- package/src/modules/bmgd/workflows/4-production/sprint-planning/instructions.md +234 -0
- package/src/modules/bmgd/workflows/4-production/sprint-planning/sprint-status-template.yaml +55 -0
- package/src/modules/bmgd/workflows/4-production/sprint-planning/workflow.yaml +51 -0
- package/src/modules/bmgd/workflows/4-production/story-context/checklist.md +16 -0
- package/src/modules/bmgd/workflows/4-production/story-context/context-template.xml +34 -0
- package/src/modules/bmgd/workflows/4-production/story-context/instructions.md +209 -0
- package/src/modules/bmgd/workflows/4-production/story-context/workflow.yaml +63 -0
- package/src/modules/bmgd/workflows/4-production/story-done/instructions.md +111 -0
- package/src/modules/bmgd/workflows/4-production/story-done/workflow.yaml +28 -0
- package/src/modules/bmgd/workflows/4-production/story-ready/instructions.md +117 -0
- package/src/modules/bmgd/workflows/4-production/story-ready/workflow.yaml +25 -0
- package/src/modules/bmm/README.md +79 -92
- package/src/modules/bmm/_module-installer/install-config.yaml +9 -23
- package/src/modules/bmm/_module-installer/installer.js +2 -2
- package/src/modules/bmm/agents/analyst.agent.yaml +25 -19
- package/src/modules/bmm/agents/architect.agent.yaml +20 -19
- package/src/modules/bmm/agents/dev.agent.yaml +12 -15
- package/src/modules/bmm/agents/frame-expert.agent.yaml +42 -0
- package/src/modules/bmm/agents/pm.agent.yaml +36 -22
- package/src/modules/bmm/agents/sm.agent.yaml +30 -24
- package/src/modules/bmm/agents/tea.agent.yaml +25 -17
- package/src/modules/bmm/agents/tech-writer.agent.yaml +68 -0
- package/src/modules/bmm/agents/ux-designer.agent.yaml +18 -12
- package/src/modules/bmm/docs/README.md +236 -0
- package/src/modules/bmm/docs/agents-guide.md +1058 -0
- package/src/modules/bmm/docs/brownfield-guide.md +762 -0
- package/src/modules/bmm/docs/enterprise-agentic-development.md +686 -0
- package/src/modules/bmm/docs/faq.md +588 -0
- package/src/modules/bmm/docs/glossary.md +320 -0
- package/src/modules/bmm/docs/party-mode.md +224 -0
- package/src/modules/bmm/docs/quick-spec-flow.md +652 -0
- package/src/modules/bmm/docs/quick-start.md +376 -0
- package/src/modules/bmm/docs/scale-adaptive-system.md +612 -0
- package/src/modules/bmm/docs/test-architecture.md +396 -0
- package/src/modules/bmm/{workflows/3-solutioning/architecture/readme.md → docs/workflow-architecture-reference.md} +132 -84
- package/src/modules/bmm/{workflows/document-project/README.md → docs/workflow-document-project-reference.md} +49 -4
- package/src/modules/bmm/docs/workflows-analysis.md +370 -0
- package/src/modules/bmm/docs/workflows-implementation.md +286 -0
- package/src/modules/bmm/docs/workflows-planning.md +612 -0
- package/src/modules/bmm/docs/workflows-solutioning.md +554 -0
- package/src/modules/bmm/teams/default-party.csv +20 -0
- package/src/modules/bmm/teams/team-fullstack.yaml +2 -0
- package/src/modules/bmm/workflows/1-analysis/brainstorm-project/instructions.md +45 -24
- package/src/modules/bmm/workflows/1-analysis/brainstorm-project/workflow.yaml +8 -8
- package/src/modules/bmm/workflows/1-analysis/domain-research/instructions.md +425 -0
- package/src/modules/bmm/workflows/1-analysis/domain-research/template.md +180 -0
- package/src/modules/bmm/workflows/1-analysis/domain-research/workflow.yaml +56 -0
- package/src/modules/bmm/workflows/1-analysis/product-brief/instructions.md +435 -232
- package/src/modules/bmm/workflows/1-analysis/product-brief/template.md +93 -77
- package/src/modules/bmm/workflows/1-analysis/product-brief/workflow.yaml +32 -14
- package/src/modules/bmm/workflows/1-analysis/research/checklist-deep-prompt.md +144 -0
- package/src/modules/bmm/workflows/1-analysis/research/checklist-technical.md +249 -0
- package/src/modules/bmm/workflows/1-analysis/research/checklist.md +156 -59
- package/src/modules/bmm/workflows/1-analysis/research/instructions-deep-prompt.md +70 -65
- package/src/modules/bmm/workflows/1-analysis/research/instructions-market.md +205 -143
- package/src/modules/bmm/workflows/1-analysis/research/instructions-router.md +55 -46
- package/src/modules/bmm/workflows/1-analysis/research/instructions-technical.md +116 -83
- package/src/modules/bmm/workflows/1-analysis/research/template-market.md +37 -1
- package/src/modules/bmm/workflows/1-analysis/research/template-technical.md +36 -1
- package/src/modules/bmm/workflows/1-analysis/research/workflow.yaml +25 -12
- package/src/modules/bmm/workflows/2-plan-workflows/create-epics-and-stories/epics-template.md +80 -0
- package/src/modules/bmm/workflows/2-plan-workflows/create-epics-and-stories/instructions.md +616 -0
- package/src/modules/bmm/workflows/2-plan-workflows/create-epics-and-stories/workflow.yaml +63 -0
- package/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/instructions.md +51 -26
- package/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/workflow.yaml +67 -16
- package/src/modules/bmm/workflows/2-plan-workflows/prd/checklist.md +292 -63
- package/src/modules/bmm/workflows/2-plan-workflows/prd/domain-complexity.csv +13 -0
- package/src/modules/bmm/workflows/2-plan-workflows/prd/instructions.md +544 -290
- package/src/modules/bmm/workflows/2-plan-workflows/prd/prd-template.md +165 -23
- package/src/modules/bmm/workflows/2-plan-workflows/prd/project-types.csv +11 -0
- package/src/modules/bmm/workflows/2-plan-workflows/prd/workflow.yaml +50 -18
- package/src/modules/bmm/workflows/2-plan-workflows/tech-spec/checklist.md +146 -36
- package/src/modules/bmm/workflows/2-plan-workflows/tech-spec/epics-template.md +67 -4
- package/src/modules/bmm/workflows/2-plan-workflows/tech-spec/instructions-generate-stories.md +436 -0
- package/src/modules/bmm/workflows/2-plan-workflows/tech-spec/instructions.md +874 -163
- package/src/modules/bmm/workflows/2-plan-workflows/tech-spec/tech-spec-template.md +132 -6
- package/src/modules/bmm/workflows/2-plan-workflows/tech-spec/user-story-template.md +54 -20
- package/src/modules/bmm/workflows/2-plan-workflows/tech-spec/workflow.yaml +36 -28
- package/src/modules/bmm/workflows/3-solutioning/architecture/architecture-patterns.yaml +0 -26
- package/src/modules/bmm/workflows/3-solutioning/architecture/architecture-template.md +1 -1
- package/src/modules/bmm/workflows/3-solutioning/architecture/checklist.md +5 -9
- package/src/modules/bmm/workflows/3-solutioning/architecture/instructions.md +215 -150
- package/src/modules/bmm/workflows/3-solutioning/architecture/workflow.yaml +72 -26
- package/src/modules/bmm/workflows/3-solutioning/{solutioning-gate-check → implementation-readiness}/checklist.md +7 -13
- package/src/modules/bmm/workflows/3-solutioning/implementation-readiness/instructions.md +332 -0
- package/src/modules/bmm/workflows/3-solutioning/{solutioning-gate-check → implementation-readiness}/template.md +1 -1
- package/src/modules/bmm/workflows/3-solutioning/implementation-readiness/workflow.yaml +64 -0
- package/src/modules/bmm/workflows/4-implementation/code-review/instructions.md +25 -18
- package/src/modules/bmm/workflows/4-implementation/code-review/workflow.yaml +31 -26
- package/src/modules/bmm/workflows/4-implementation/correct-course/checklist.md +1 -1
- package/src/modules/bmm/workflows/4-implementation/correct-course/instructions.md +7 -2
- package/src/modules/bmm/workflows/4-implementation/correct-course/workflow.yaml +38 -25
- package/src/modules/bmm/workflows/4-implementation/create-story/instructions.md +22 -18
- package/src/modules/bmm/workflows/4-implementation/create-story/workflow.yaml +38 -14
- package/src/modules/bmm/workflows/4-implementation/dev-story/instructions.md +8 -3
- package/src/modules/bmm/workflows/4-implementation/dev-story/workflow.yaml +35 -5
- package/src/modules/bmm/workflows/4-implementation/epic-tech-context/checklist.md +1 -1
- package/src/modules/bmm/workflows/4-implementation/epic-tech-context/instructions.md +10 -6
- package/src/modules/bmm/workflows/4-implementation/epic-tech-context/workflow.yaml +40 -16
- package/src/modules/bmm/workflows/4-implementation/retrospective/instructions.md +1207 -243
- package/src/modules/bmm/workflows/4-implementation/retrospective/workflow.yaml +38 -26
- package/src/modules/bmm/workflows/4-implementation/sprint-planning/instructions.md +28 -15
- package/src/modules/bmm/workflows/4-implementation/sprint-planning/sprint-status-template.yaml +1 -1
- package/src/modules/bmm/workflows/4-implementation/sprint-planning/workflow.yaml +16 -6
- package/src/modules/bmm/workflows/4-implementation/story-context/checklist.md +1 -1
- package/src/modules/bmm/workflows/4-implementation/story-context/context-template.xml +1 -1
- package/src/modules/bmm/workflows/4-implementation/story-context/instructions.md +23 -15
- package/src/modules/bmm/workflows/4-implementation/story-context/workflow.yaml +39 -8
- package/src/modules/bmm/workflows/4-implementation/story-done/instructions.md +1 -1
- package/src/modules/bmm/workflows/4-implementation/story-done/workflow.yaml +5 -4
- package/src/modules/bmm/workflows/4-implementation/story-ready/instructions.md +6 -6
- package/src/modules/bmm/workflows/4-implementation/story-ready/workflow.yaml +5 -7
- package/src/modules/bmm/workflows/document-project/checklist.md +1 -1
- package/src/modules/bmm/workflows/document-project/instructions.md +5 -5
- package/src/modules/bmm/workflows/document-project/workflow.yaml +2 -7
- package/src/modules/bmm/workflows/document-project/workflows/deep-dive-instructions.md +4 -4
- package/src/modules/bmm/workflows/document-project/workflows/deep-dive.yaml +5 -5
- package/src/modules/bmm/workflows/document-project/workflows/full-scan-instructions.md +13 -13
- package/src/modules/bmm/workflows/document-project/workflows/full-scan.yaml +5 -5
- package/src/modules/bmm/workflows/frame-expert/_shared/excalidraw-helpers.md +127 -0
- package/src/modules/bmm/workflows/frame-expert/_shared/excalidraw-library.json +90 -0
- package/src/modules/bmm/workflows/frame-expert/_shared/excalidraw-templates.yaml +127 -0
- package/src/modules/bmm/workflows/frame-expert/_shared/validate-json-instructions.md +79 -0
- package/src/modules/bmm/workflows/frame-expert/create-dataflow/checklist.md +39 -0
- package/src/modules/bmm/workflows/frame-expert/create-dataflow/instructions.md +131 -0
- package/src/modules/bmm/workflows/frame-expert/create-dataflow/workflow.yaml +24 -0
- package/src/modules/bmm/workflows/frame-expert/create-diagram/checklist.md +43 -0
- package/src/modules/bmm/workflows/frame-expert/create-diagram/instructions.md +142 -0
- package/src/modules/bmm/workflows/frame-expert/create-diagram/workflow.yaml +25 -0
- package/src/modules/bmm/workflows/frame-expert/create-flowchart/checklist.md +49 -0
- package/src/modules/bmm/workflows/frame-expert/create-flowchart/instructions.md +242 -0
- package/src/modules/bmm/workflows/frame-expert/create-flowchart/workflow.yaml +28 -0
- package/src/modules/bmm/workflows/frame-expert/create-wireframe/checklist.md +38 -0
- package/src/modules/bmm/workflows/frame-expert/create-wireframe/instructions.md +133 -0
- package/src/modules/bmm/workflows/frame-expert/create-wireframe/workflow.yaml +24 -0
- package/src/modules/bmm/workflows/techdoc/documentation-standards.md +262 -0
- package/src/modules/bmm/workflows/testarch/atdd/atdd-checklist-template.md +2 -2
- package/src/modules/bmm/workflows/testarch/atdd/instructions.md +2 -2
- package/src/modules/bmm/workflows/testarch/atdd/workflow.yaml +2 -9
- package/src/modules/bmm/workflows/testarch/automate/instructions.md +2 -2
- package/src/modules/bmm/workflows/testarch/automate/workflow.yaml +2 -11
- package/src/modules/bmm/workflows/testarch/ci/checklist.md +4 -4
- package/src/modules/bmm/workflows/testarch/ci/instructions.md +2 -2
- package/src/modules/bmm/workflows/testarch/ci/workflow.yaml +2 -10
- package/src/modules/bmm/workflows/testarch/framework/checklist.md +4 -4
- package/src/modules/bmm/workflows/testarch/framework/instructions.md +2 -2
- package/src/modules/bmm/workflows/testarch/framework/workflow.yaml +2 -8
- package/src/modules/bmm/workflows/testarch/nfr-assess/instructions.md +1 -1
- package/src/modules/bmm/workflows/testarch/nfr-assess/workflow.yaml +2 -11
- package/src/modules/bmm/workflows/testarch/test-design/checklist.md +4 -4
- package/src/modules/bmm/workflows/testarch/test-design/instructions.md +175 -14
- package/src/modules/bmm/workflows/testarch/test-design/test-design-template.md +4 -4
- package/src/modules/bmm/workflows/testarch/test-design/workflow.yaml +7 -11
- package/src/modules/bmm/workflows/testarch/test-review/instructions.md +1 -1
- package/src/modules/bmm/workflows/testarch/test-review/workflow.yaml +2 -9
- package/src/modules/bmm/workflows/testarch/trace/instructions.md +9 -9
- package/src/modules/bmm/workflows/testarch/trace/workflow.yaml +2 -13
- package/src/modules/bmm/workflows/workflow-status/init/instructions.md +249 -212
- package/src/modules/bmm/workflows/workflow-status/init/workflow.yaml +6 -5
- package/src/modules/bmm/workflows/workflow-status/instructions.md +177 -113
- package/src/modules/bmm/workflows/workflow-status/paths/enterprise-brownfield.yaml +138 -0
- package/src/modules/bmm/workflows/workflow-status/paths/enterprise-greenfield.yaml +126 -0
- package/src/modules/bmm/workflows/workflow-status/paths/game-design.yaml +42 -65
- package/src/modules/bmm/workflows/workflow-status/paths/method-brownfield.yaml +122 -0
- package/src/modules/bmm/workflows/workflow-status/paths/method-greenfield.yaml +113 -0
- package/src/modules/bmm/workflows/workflow-status/paths/{brownfield-level-1.yaml → quick-flow-brownfield.yaml} +18 -18
- package/src/modules/bmm/workflows/workflow-status/paths/{greenfield-level-1.yaml → quick-flow-greenfield.yaml} +16 -18
- package/src/modules/bmm/workflows/workflow-status/project-levels.yaml +1 -1
- package/src/modules/bmm/workflows/workflow-status/workflow-status-template.yaml +24 -0
- package/src/modules/bmm/workflows/workflow-status/workflow.yaml +5 -5
- package/src/modules/cis/README.md +153 -0
- package/src/modules/cis/_module-installer/install-config.yaml +6 -4
- package/src/modules/cis/agents/README.md +1 -1
- package/src/modules/cis/agents/brainstorming-coach.agent.yaml +13 -8
- package/src/modules/cis/agents/creative-problem-solver.agent.yaml +13 -8
- package/src/modules/cis/agents/design-thinking-coach.agent.yaml +13 -8
- package/src/modules/cis/agents/innovation-strategist.agent.yaml +13 -8
- package/src/modules/cis/agents/storyteller.agent.yaml +13 -8
- package/src/modules/cis/teams/creative-squad.yaml +1 -0
- package/src/modules/cis/teams/default-party.csv +11 -0
- package/src/modules/cis/workflows/README.md +102 -30
- package/src/modules/cis/workflows/design-thinking/instructions.md +4 -2
- package/src/modules/cis/workflows/design-thinking/workflow.yaml +7 -12
- package/src/modules/cis/workflows/innovation-strategy/instructions.md +7 -5
- package/src/modules/cis/workflows/innovation-strategy/template.md +3 -3
- package/src/modules/cis/workflows/innovation-strategy/workflow.yaml +7 -12
- package/src/modules/cis/workflows/problem-solving/instructions.md +4 -2
- package/src/modules/cis/workflows/problem-solving/workflow.yaml +7 -12
- package/src/modules/cis/workflows/storytelling/instructions.md +14 -4
- package/src/modules/cis/workflows/storytelling/workflow.yaml +7 -12
- package/src/utility/models/action-command-header.md +0 -0
- package/src/utility/models/agent-activation-ide.xml +3 -3
- package/src/utility/models/agent-activation-web.xml +4 -4
- package/src/utility/models/agent-command-header.md +1 -0
- package/src/utility/models/fragments/activation-steps.xml +3 -2
- package/src/utility/models/fragments/handler-validate-workflow.xml +1 -1
- package/src/utility/models/fragments/handler-workflow.xml +1 -1
- package/src/utility/models/fragments/web-bundle-activation-steps.xml +3 -3
- package/test/test-installation-components.js +214 -0
- package/tools/bmad-npx-wrapper.js +10 -98
- package/tools/cli/README.md +50 -32
- package/tools/cli/bundlers/web-bundler.js +322 -26
- package/tools/cli/commands/install.js +2 -5
- package/tools/cli/installers/lib/core/config-collector.js +279 -39
- package/tools/cli/installers/lib/core/detector.js +62 -7
- package/tools/cli/installers/lib/core/ide-config-manager.js +3 -1
- package/tools/cli/installers/lib/core/installer.js +219 -46
- package/tools/cli/installers/lib/core/manifest-generator.js +33 -117
- package/tools/cli/installers/lib/core/manifest.js +6 -2
- package/tools/cli/installers/lib/ide/_base-ide.js +57 -3
- package/tools/cli/installers/lib/ide/auggie.js +81 -238
- package/tools/cli/installers/lib/ide/claude-code.js +47 -25
- package/tools/cli/installers/lib/ide/cline.js +15 -18
- package/tools/cli/installers/lib/ide/codex.js +17 -48
- package/tools/cli/installers/lib/ide/crush.js +14 -50
- package/tools/cli/installers/lib/ide/cursor.js +68 -8
- package/tools/cli/installers/lib/ide/gemini.js +87 -37
- package/tools/cli/installers/lib/ide/github-copilot.js +47 -35
- package/tools/cli/installers/lib/ide/iflow.js +13 -30
- package/tools/cli/installers/lib/ide/kilo.js +20 -16
- package/tools/cli/installers/lib/ide/manager.js +15 -0
- package/tools/cli/installers/lib/ide/opencode.js +16 -17
- package/tools/cli/installers/lib/ide/qwen.js +39 -11
- package/tools/cli/installers/lib/ide/roo.js +27 -62
- package/tools/cli/installers/lib/ide/shared/agent-command-generator.js +90 -0
- package/tools/cli/installers/lib/ide/{task-tool-command-generator.js → shared/task-tool-command-generator.js} +1 -1
- package/tools/cli/installers/lib/ide/{workflow-command-generator.js → shared/workflow-command-generator.js} +11 -9
- package/tools/cli/installers/lib/ide/templates/agent-command-template.md +14 -0
- package/tools/cli/installers/lib/ide/templates/gemini-agent-command.toml +14 -0
- package/tools/cli/installers/lib/ide/templates/gemini-task-command.toml +12 -0
- package/tools/cli/installers/lib/ide/{workflow-command-template.md → templates/workflow-command-template.md} +3 -5
- package/tools/cli/installers/lib/ide/trae.js +20 -32
- package/tools/cli/installers/lib/ide/windsurf.js +18 -8
- package/tools/cli/installers/lib/modules/manager.js +213 -7
- package/tools/cli/lib/cli-utils.js +52 -50
- package/tools/cli/lib/config.js +3 -1
- package/tools/cli/lib/ui.js +34 -17
- package/tools/cli/lib/xml-handler.js +1 -0
- package/tools/cli/lib/yaml-format.js +2 -1
- package/tools/cli/lib/yaml-xml-builder.js +76 -8
- package/tools/schema/agent.js +12 -3
- package/v6-open-items.md +3 -9
- package/.claude/commands/bmad/bmb/agents/bmad-builder.md +0 -70
- package/.claude/commands/bmad/bmb/workflows/README.md +0 -67
- package/.claude/commands/bmad/bmb/workflows/audit-workflow.md +0 -15
- package/.claude/commands/bmad/bmb/workflows/convert-legacy.md +0 -15
- package/.claude/commands/bmad/bmb/workflows/create-agent.md +0 -15
- package/.claude/commands/bmad/bmb/workflows/create-module.md +0 -15
- package/.claude/commands/bmad/bmb/workflows/create-workflow.md +0 -15
- package/.claude/commands/bmad/bmb/workflows/edit-agent.md +0 -15
- package/.claude/commands/bmad/bmb/workflows/edit-module.md +0 -15
- package/.claude/commands/bmad/bmb/workflows/edit-workflow.md +0 -15
- package/.claude/commands/bmad/bmb/workflows/module-brief.md +0 -15
- package/.claude/commands/bmad/bmb/workflows/redoc.md +0 -15
- package/.claude/commands/bmad/bmd/agents/cli-chief.md +0 -108
- package/.claude/commands/bmad/bmd/agents/doc-keeper.md +0 -115
- package/.claude/commands/bmad/bmd/agents/release-chief.md +0 -109
- package/.claude/commands/bmad/core/agents/bmad-master.md +0 -71
- package/.claude/commands/bmad/core/tasks/index-docs.md +0 -9
- package/.claude/commands/bmad/core/tools/shard-doc.md +0 -9
- package/.claude/commands/bmad/core/workflows/README.md +0 -27
- package/.claude/commands/bmad/core/workflows/brainstorming.md +0 -15
- package/.claude/commands/bmad/core/workflows/party-mode.md +0 -15
- package/.claude/hooks/bmad-tts-injector.sh +0 -415
- package/.claude/hooks/bmad-voice-manager.sh +0 -511
- package/.claude/hooks/check-output-style.sh +0 -112
- package/.claude/hooks/download-extra-voices.sh +0 -244
- package/.claude/hooks/github-star-reminder.sh +0 -154
- package/.claude/hooks/language-manager.sh +0 -392
- package/.claude/hooks/learn-manager.sh +0 -475
- package/.claude/hooks/personality-manager.sh +0 -438
- package/.claude/hooks/piper-download-voices.sh +0 -165
- package/.claude/hooks/piper-installer.sh +0 -178
- package/.claude/hooks/piper-multispeaker-registry.sh +0 -165
- package/.claude/hooks/piper-voice-manager.sh +0 -293
- package/.claude/hooks/play-tts-elevenlabs.sh +0 -404
- package/.claude/hooks/play-tts-piper.sh +0 -338
- package/.claude/hooks/play-tts.sh +0 -100
- package/.claude/hooks/provider-commands.sh +0 -540
- package/.claude/hooks/provider-manager.sh +0 -298
- package/.claude/hooks/replay-target-audio.sh +0 -95
- package/.claude/hooks/sentiment-manager.sh +0 -201
- package/.claude/hooks/speed-manager.sh +0 -291
- package/.claude/hooks/voice-manager.sh +0 -594
- package/.claude/hooks/voices-config.sh +0 -70
- package/.claude/settings.local.json +0 -41
- package/bmad/_cfg/agent-manifest.csv +0 -7
- package/bmad/_cfg/agents/bmb-bmad-builder.customize.yaml +0 -42
- package/bmad/_cfg/agents/bmd-cli-chief.customize.yaml +0 -32
- package/bmad/_cfg/agents/bmd-doc-keeper.customize.yaml +0 -42
- package/bmad/_cfg/agents/bmd-release-chief.customize.yaml +0 -42
- package/bmad/_cfg/agents/core-bmad-master.customize.yaml +0 -42
- package/bmad/_cfg/files-manifest.csv +0 -83
- package/bmad/_cfg/manifest.yaml +0 -12
- package/bmad/_cfg/task-manifest.csv +0 -5
- package/bmad/_cfg/tool-manifest.csv +0 -2
- package/bmad/_cfg/workflow-manifest.csv +0 -15
- package/bmad/bmb/README.md +0 -132
- package/bmad/bmb/agents/bmad-builder.md +0 -70
- package/bmad/bmb/config.yaml +0 -14
- package/bmad/bmb/workflows/audit-workflow/checklist.md +0 -143
- package/bmad/bmb/workflows/audit-workflow/instructions.md +0 -341
- package/bmad/bmb/workflows/audit-workflow/template.md +0 -118
- package/bmad/bmb/workflows/audit-workflow/workflow.yaml +0 -23
- package/bmad/bmb/workflows/audit-workflow/workflow.yaml.bak +0 -21
- package/bmad/bmb/workflows/convert-legacy/README.md +0 -262
- package/bmad/bmb/workflows/convert-legacy/checklist.md +0 -205
- package/bmad/bmb/workflows/convert-legacy/instructions.md +0 -377
- package/bmad/bmb/workflows/convert-legacy/workflow.yaml +0 -32
- package/bmad/bmb/workflows/create-agent/README.md +0 -320
- package/bmad/bmb/workflows/create-agent/agent-architecture.md +0 -419
- package/bmad/bmb/workflows/create-agent/agent-architecture.md.bak +0 -412
- package/bmad/bmb/workflows/create-agent/agent-command-patterns.md +0 -759
- package/bmad/bmb/workflows/create-agent/agent-command-patterns.md.bak +0 -759
- package/bmad/bmb/workflows/create-agent/agent-types.md +0 -292
- package/bmad/bmb/workflows/create-agent/brainstorm-context.md +0 -174
- package/bmad/bmb/workflows/create-agent/checklist.md +0 -62
- package/bmad/bmb/workflows/create-agent/communication-styles.md +0 -202
- package/bmad/bmb/workflows/create-agent/instructions.md +0 -430
- package/bmad/bmb/workflows/create-agent/workflow.yaml +0 -37
- package/bmad/bmb/workflows/create-module/README.md +0 -220
- package/bmad/bmb/workflows/create-module/README.md.bak +0 -218
- package/bmad/bmb/workflows/create-module/brainstorm-context.md +0 -137
- package/bmad/bmb/workflows/create-module/checklist.md +0 -244
- package/bmad/bmb/workflows/create-module/checklist.md.bak +0 -245
- package/bmad/bmb/workflows/create-module/installer-templates/install-config.yaml +0 -92
- package/bmad/bmb/workflows/create-module/installer-templates/installer.js +0 -231
- package/bmad/bmb/workflows/create-module/installer-templates/installer.js.bak +0 -231
- package/bmad/bmb/workflows/create-module/instructions.md +0 -581
- package/bmad/bmb/workflows/create-module/instructions.md.bak +0 -521
- package/bmad/bmb/workflows/create-module/module-structure.md +0 -366
- package/bmad/bmb/workflows/create-module/module-structure.md.bak +0 -310
- package/bmad/bmb/workflows/create-module/workflow.yaml +0 -42
- package/bmad/bmb/workflows/create-module/workflow.yaml.bak +0 -40
- package/bmad/bmb/workflows/create-workflow/README.md +0 -277
- package/bmad/bmb/workflows/create-workflow/brainstorm-context.md +0 -197
- package/bmad/bmb/workflows/create-workflow/checklist.md +0 -94
- package/bmad/bmb/workflows/create-workflow/instructions.md +0 -716
- package/bmad/bmb/workflows/create-workflow/workflow-creation-guide.md +0 -1150
- package/bmad/bmb/workflows/create-workflow/workflow-template/checklist.md +0 -24
- package/bmad/bmb/workflows/create-workflow/workflow-template/instructions.md +0 -13
- package/bmad/bmb/workflows/create-workflow/workflow-template/template.md +0 -9
- package/bmad/bmb/workflows/create-workflow/workflow-template/workflow.yaml +0 -39
- package/bmad/bmb/workflows/create-workflow/workflow-template/workflow.yaml.bak +0 -39
- package/bmad/bmb/workflows/create-workflow/workflow.yaml +0 -40
- package/bmad/bmb/workflows/create-workflow/workflow.yaml.bak +0 -38
- package/bmad/bmb/workflows/edit-agent/README.md +0 -112
- package/bmad/bmb/workflows/edit-agent/checklist.md +0 -112
- package/bmad/bmb/workflows/edit-agent/instructions.md +0 -290
- package/bmad/bmb/workflows/edit-agent/workflow.yaml +0 -33
- package/bmad/bmb/workflows/edit-module/README.md +0 -187
- package/bmad/bmb/workflows/edit-module/checklist.md +0 -165
- package/bmad/bmb/workflows/edit-module/instructions.md +0 -339
- package/bmad/bmb/workflows/edit-module/workflow.yaml +0 -34
- package/bmad/bmb/workflows/edit-workflow/README.md +0 -119
- package/bmad/bmb/workflows/edit-workflow/checklist.md +0 -70
- package/bmad/bmb/workflows/edit-workflow/instructions.md +0 -342
- package/bmad/bmb/workflows/edit-workflow/workflow.yaml +0 -27
- package/bmad/bmb/workflows/edit-workflow/workflow.yaml.bak +0 -25
- package/bmad/bmb/workflows/module-brief/README.md +0 -264
- package/bmad/bmb/workflows/module-brief/checklist.md +0 -116
- package/bmad/bmb/workflows/module-brief/instructions.md +0 -267
- package/bmad/bmb/workflows/module-brief/template.md +0 -275
- package/bmad/bmb/workflows/module-brief/workflow.yaml +0 -29
- package/bmad/bmb/workflows/module-brief/workflow.yaml.bak +0 -27
- package/bmad/bmb/workflows/redoc/README.md +0 -87
- package/bmad/bmb/workflows/redoc/checklist.md +0 -99
- package/bmad/bmb/workflows/redoc/instructions.md +0 -265
- package/bmad/bmb/workflows/redoc/workflow.yaml +0 -32
- package/bmad/bmb/workflows/redoc/workflow.yaml.bak +0 -31
- package/bmad/bmd/README.md +0 -193
- package/bmad/bmd/README.md.bak +0 -193
- package/bmad/bmd/agents/cli-chief-sidecar/instructions.md +0 -102
- package/bmad/bmd/agents/cli-chief-sidecar/instructions.md.bak +0 -102
- package/bmad/bmd/agents/cli-chief-sidecar/knowledge/README.md +0 -68
- package/bmad/bmd/agents/cli-chief-sidecar/knowledge/README.md.bak +0 -68
- package/bmad/bmd/agents/cli-chief-sidecar/knowledge/cli-reference.md +0 -123
- package/bmad/bmd/agents/cli-chief-sidecar/knowledge/cli-reference.md.bak +0 -123
- package/bmad/bmd/agents/cli-chief-sidecar/memories.md +0 -53
- package/bmad/bmd/agents/cli-chief-sidecar/memories.md.bak +0 -53
- package/bmad/bmd/agents/cli-chief.md +0 -108
- package/bmad/bmd/agents/cli-chief.md.bak +0 -108
- package/bmad/bmd/agents/doc-keeper-sidecar/instructions.md +0 -177
- package/bmad/bmd/agents/doc-keeper-sidecar/instructions.md.bak +0 -177
- package/bmad/bmd/agents/doc-keeper-sidecar/knowledge/README.md +0 -81
- package/bmad/bmd/agents/doc-keeper-sidecar/knowledge/README.md.bak +0 -81
- package/bmad/bmd/agents/doc-keeper-sidecar/memories.md +0 -88
- package/bmad/bmd/agents/doc-keeper-sidecar/memories.md.bak +0 -88
- package/bmad/bmd/agents/doc-keeper.md +0 -115
- package/bmad/bmd/agents/doc-keeper.md.bak +0 -115
- package/bmad/bmd/agents/release-chief-sidecar/instructions.md +0 -164
- package/bmad/bmd/agents/release-chief-sidecar/instructions.md.bak +0 -164
- package/bmad/bmd/agents/release-chief-sidecar/knowledge/README.md +0 -82
- package/bmad/bmd/agents/release-chief-sidecar/knowledge/README.md.bak +0 -82
- package/bmad/bmd/agents/release-chief-sidecar/memories.md +0 -73
- package/bmad/bmd/agents/release-chief-sidecar/memories.md.bak +0 -73
- package/bmad/bmd/agents/release-chief.md +0 -109
- package/bmad/bmd/agents/release-chief.md.bak +0 -109
- package/bmad/bmd/config.yaml +0 -10
- package/bmad/core/agents/bmad-master.md +0 -71
- package/bmad/core/agents/bmad-web-orchestrator.agent.xml +0 -122
- package/bmad/core/config.yaml +0 -9
- package/bmad/core/tasks/adv-elicit-methods.csv +0 -39
- package/bmad/core/tasks/index-docs.xml +0 -65
- package/bmad/core/tasks/validate-workflow.xml +0 -89
- package/bmad/core/tasks/workflow.xml +0 -174
- package/bmad/core/tools/shard-doc.xml +0 -100
- package/bmad/core/workflows/brainstorming/README.md +0 -271
- package/bmad/core/workflows/brainstorming/brain-methods.csv +0 -36
- package/bmad/core/workflows/brainstorming/instructions.md +0 -314
- package/bmad/core/workflows/brainstorming/template.md +0 -102
- package/bmad/core/workflows/brainstorming/workflow.yaml +0 -43
- package/bmad/core/workflows/party-mode/instructions.md +0 -188
- package/bmad/core/workflows/party-mode/workflow.yaml +0 -23
- package/bmad/docs/claude-code-instructions.md +0 -25
- package/bmad/docs/codex-instructions.md +0 -21
- package/bmd/README.md +0 -193
- package/bmd/agents/cli-chief-sidecar/instructions.md +0 -102
- package/bmd/agents/cli-chief-sidecar/knowledge/README.md +0 -68
- package/bmd/agents/cli-chief-sidecar/knowledge/cli-reference.md +0 -123
- package/bmd/agents/cli-chief-sidecar/memories.md +0 -53
- package/bmd/agents/cli-chief.agent.yaml +0 -126
- package/bmd/agents/doc-keeper-sidecar/instructions.md +0 -177
- package/bmd/agents/doc-keeper-sidecar/knowledge/README.md +0 -81
- package/bmd/agents/doc-keeper-sidecar/memories.md +0 -88
- package/bmd/agents/doc-keeper.agent.yaml +0 -137
- package/bmd/agents/release-chief-sidecar/instructions.md +0 -164
- package/bmd/agents/release-chief-sidecar/knowledge/README.md +0 -82
- package/bmd/agents/release-chief-sidecar/memories.md +0 -73
- package/bmd/agents/release-chief.agent.yaml +0 -127
- package/bmd/bmad-custom-module-installer-plan.md +0 -1176
- package/bmd/config.yaml +0 -12
- package/docs/bmad-brownfield-guide.md +0 -1260
- package/docs/conversion-report-shard-doc-2025-10-26.md +0 -188
- package/src/core/tasks/adv-elicit.xml +0 -104
- package/src/modules/bmm/agents/game-architect.agent.yaml +0 -35
- package/src/modules/bmm/agents/game-designer.agent.yaml +0 -47
- package/src/modules/bmm/agents/game-dev.agent.yaml +0 -39
- package/src/modules/bmm/sub-modules/claude-code/config.yaml +0 -5
- package/src/modules/bmm/sub-modules/claude-code/injections.yaml +0 -242
- package/src/modules/bmm/sub-modules/claude-code/readme.md +0 -87
- package/src/modules/bmm/sub-modules/claude-code/sub-agents/bmad-analysis/api-documenter.md +0 -102
- package/src/modules/bmm/sub-modules/claude-code/sub-agents/bmad-analysis/codebase-analyzer.md +0 -82
- package/src/modules/bmm/sub-modules/claude-code/sub-agents/bmad-analysis/data-analyst.md +0 -101
- package/src/modules/bmm/sub-modules/claude-code/sub-agents/bmad-analysis/pattern-detector.md +0 -84
- package/src/modules/bmm/sub-modules/claude-code/sub-agents/bmad-planning/dependency-mapper.md +0 -83
- package/src/modules/bmm/sub-modules/claude-code/sub-agents/bmad-planning/epic-optimizer.md +0 -81
- package/src/modules/bmm/sub-modules/claude-code/sub-agents/bmad-planning/requirements-analyst.md +0 -61
- package/src/modules/bmm/sub-modules/claude-code/sub-agents/bmad-planning/technical-decisions-curator.md +0 -168
- package/src/modules/bmm/sub-modules/claude-code/sub-agents/bmad-planning/trend-spotter.md +0 -115
- package/src/modules/bmm/sub-modules/claude-code/sub-agents/bmad-planning/user-journey-mapper.md +0 -123
- package/src/modules/bmm/sub-modules/claude-code/sub-agents/bmad-planning/user-researcher.md +0 -72
- package/src/modules/bmm/sub-modules/claude-code/sub-agents/bmad-research/market-researcher.md +0 -51
- package/src/modules/bmm/sub-modules/claude-code/sub-agents/bmad-research/tech-debt-auditor.md +0 -106
- package/src/modules/bmm/sub-modules/claude-code/sub-agents/bmad-review/document-reviewer.md +0 -102
- package/src/modules/bmm/sub-modules/claude-code/sub-agents/bmad-review/technical-evaluator.md +0 -68
- package/src/modules/bmm/sub-modules/claude-code/sub-agents/bmad-review/test-coverage-analyzer.md +0 -108
- package/src/modules/bmm/tasks/daily-standup.xml +0 -85
- package/src/modules/bmm/tasks/retrospective.xml +0 -104
- package/src/modules/bmm/testarch/README.md +0 -311
- package/src/modules/bmm/workflows/1-analysis/brainstorm-game/README.md +0 -38
- package/src/modules/bmm/workflows/1-analysis/brainstorm-game/instructions.md +0 -109
- package/src/modules/bmm/workflows/1-analysis/brainstorm-project/README.md +0 -29
- package/src/modules/bmm/workflows/1-analysis/game-brief/README.md +0 -221
- package/src/modules/bmm/workflows/1-analysis/product-brief/README.md +0 -180
- package/src/modules/bmm/workflows/1-analysis/research/README.md +0 -454
- package/src/modules/bmm/workflows/1-analysis/research/claude-code/sub-agents/bmm-competitor-analyzer.md +0 -259
- package/src/modules/bmm/workflows/1-analysis/research/claude-code/sub-agents/bmm-data-analyst.md +0 -190
- package/src/modules/bmm/workflows/1-analysis/research/claude-code/sub-agents/bmm-market-researcher.md +0 -337
- package/src/modules/bmm/workflows/1-analysis/research/claude-code/sub-agents/bmm-trend-spotter.md +0 -107
- package/src/modules/bmm/workflows/1-analysis/research/claude-code/sub-agents/bmm-user-researcher.md +0 -329
- package/src/modules/bmm/workflows/2-plan-workflows/README.md +0 -258
- package/src/modules/bmm/workflows/2-plan-workflows/gdd/README.md +0 -222
- package/src/modules/bmm/workflows/2-plan-workflows/gdd/workflow.yaml +0 -67
- package/src/modules/bmm/workflows/2-plan-workflows/prd/epics-template.md +0 -63
- package/src/modules/bmm/workflows/2-plan-workflows/tech-spec/instructions-level0-story.md +0 -167
- package/src/modules/bmm/workflows/2-plan-workflows/tech-spec/instructions-level1-stories.md +0 -278
- package/src/modules/bmm/workflows/3-solutioning/README.md +0 -1
- package/src/modules/bmm/workflows/3-solutioning/solutioning-gate-check/README.md +0 -177
- package/src/modules/bmm/workflows/3-solutioning/solutioning-gate-check/instructions.md +0 -273
- package/src/modules/bmm/workflows/3-solutioning/solutioning-gate-check/validation-criteria.yaml +0 -189
- package/src/modules/bmm/workflows/3-solutioning/solutioning-gate-check/workflow.yaml +0 -40
- package/src/modules/bmm/workflows/4-implementation/README.md +0 -221
- package/src/modules/bmm/workflows/4-implementation/code-review/README.md +0 -69
- package/src/modules/bmm/workflows/4-implementation/correct-course/README.md +0 -73
- package/src/modules/bmm/workflows/4-implementation/create-story/README.md +0 -129
- package/src/modules/bmm/workflows/4-implementation/dev-story/AUDIT-REPORT.md +0 -367
- package/src/modules/bmm/workflows/4-implementation/dev-story/README.md +0 -206
- package/src/modules/bmm/workflows/4-implementation/epic-tech-context/README.md +0 -195
- package/src/modules/bmm/workflows/4-implementation/retrospective/README.md +0 -77
- package/src/modules/bmm/workflows/4-implementation/sprint-planning/README.md +0 -156
- package/src/modules/bmm/workflows/4-implementation/story-context/README.md +0 -234
- package/src/modules/bmm/workflows/README.md +0 -577
- package/src/modules/bmm/workflows/document-project/templates/README.md +0 -38
- package/src/modules/bmm/workflows/testarch/README.md +0 -26
- package/src/modules/bmm/workflows/testarch/atdd/README.md +0 -672
- package/src/modules/bmm/workflows/testarch/automate/README.md +0 -869
- package/src/modules/bmm/workflows/testarch/ci/README.md +0 -493
- package/src/modules/bmm/workflows/testarch/framework/README.md +0 -340
- package/src/modules/bmm/workflows/testarch/nfr-assess/README.md +0 -469
- package/src/modules/bmm/workflows/testarch/test-design/README.md +0 -493
- package/src/modules/bmm/workflows/testarch/test-review/README.md +0 -775
- package/src/modules/bmm/workflows/testarch/trace/README.md +0 -802
- package/src/modules/bmm/workflows/workflow-status/README.md +0 -241
- package/src/modules/bmm/workflows/workflow-status/paths/brownfield-level-0.yaml +0 -54
- package/src/modules/bmm/workflows/workflow-status/paths/brownfield-level-2.yaml +0 -76
- package/src/modules/bmm/workflows/workflow-status/paths/brownfield-level-3.yaml +0 -95
- package/src/modules/bmm/workflows/workflow-status/paths/brownfield-level-4.yaml +0 -88
- package/src/modules/bmm/workflows/workflow-status/paths/greenfield-level-0.yaml +0 -45
- package/src/modules/bmm/workflows/workflow-status/paths/greenfield-level-2.yaml +0 -78
- package/src/modules/bmm/workflows/workflow-status/paths/greenfield-level-3.yaml +0 -73
- package/src/modules/bmm/workflows/workflow-status/paths/greenfield-level-4.yaml +0 -75
- package/src/modules/bmm/workflows/workflow-status/workflow-status-template.md +0 -30
- package/src/modules/cis/readme.md +0 -86
- package/test/fixtures/agent-schema/invalid/persona/principles-as-string.agent.yaml +0 -23
- /package/src/modules/{bmm/workflows/1-analysis → bmgd/workflows/1-preproduction}/brainstorm-game/game-brain-methods.csv +0 -0
- /package/src/modules/{bmm/workflows/1-analysis → bmgd/workflows/1-preproduction}/brainstorm-game/game-context.md +0 -0
- /package/src/modules/{bmm/workflows/1-analysis → bmgd/workflows/1-preproduction}/game-brief/checklist.md +0 -0
- /package/src/modules/{bmm/workflows/1-analysis → bmgd/workflows/1-preproduction}/game-brief/template.md +0 -0
- /package/src/modules/{bmm/workflows/2-plan-workflows → bmgd/workflows/2-design}/gdd/checklist.md +0 -0
- /package/src/modules/{bmm/workflows/2-plan-workflows → bmgd/workflows/2-design}/gdd/game-types/action-platformer.md +0 -0
- /package/src/modules/{bmm/workflows/2-plan-workflows → bmgd/workflows/2-design}/gdd/game-types/adventure.md +0 -0
- /package/src/modules/{bmm/workflows/2-plan-workflows → bmgd/workflows/2-design}/gdd/game-types/card-game.md +0 -0
- /package/src/modules/{bmm/workflows/2-plan-workflows → bmgd/workflows/2-design}/gdd/game-types/fighting.md +0 -0
- /package/src/modules/{bmm/workflows/2-plan-workflows → bmgd/workflows/2-design}/gdd/game-types/horror.md +0 -0
- /package/src/modules/{bmm/workflows/2-plan-workflows → bmgd/workflows/2-design}/gdd/game-types/idle-incremental.md +0 -0
- /package/src/modules/{bmm/workflows/2-plan-workflows → bmgd/workflows/2-design}/gdd/game-types/metroidvania.md +0 -0
- /package/src/modules/{bmm/workflows/2-plan-workflows → bmgd/workflows/2-design}/gdd/game-types/moba.md +0 -0
- /package/src/modules/{bmm/workflows/2-plan-workflows → bmgd/workflows/2-design}/gdd/game-types/party-game.md +0 -0
- /package/src/modules/{bmm/workflows/2-plan-workflows → bmgd/workflows/2-design}/gdd/game-types/puzzle.md +0 -0
- /package/src/modules/{bmm/workflows/2-plan-workflows → bmgd/workflows/2-design}/gdd/game-types/racing.md +0 -0
- /package/src/modules/{bmm/workflows/2-plan-workflows → bmgd/workflows/2-design}/gdd/game-types/rhythm.md +0 -0
- /package/src/modules/{bmm/workflows/2-plan-workflows → bmgd/workflows/2-design}/gdd/game-types/roguelike.md +0 -0
- /package/src/modules/{bmm/workflows/2-plan-workflows → bmgd/workflows/2-design}/gdd/game-types/rpg.md +0 -0
- /package/src/modules/{bmm/workflows/2-plan-workflows → bmgd/workflows/2-design}/gdd/game-types/sandbox.md +0 -0
- /package/src/modules/{bmm/workflows/2-plan-workflows → bmgd/workflows/2-design}/gdd/game-types/shooter.md +0 -0
- /package/src/modules/{bmm/workflows/2-plan-workflows → bmgd/workflows/2-design}/gdd/game-types/simulation.md +0 -0
- /package/src/modules/{bmm/workflows/2-plan-workflows → bmgd/workflows/2-design}/gdd/game-types/sports.md +0 -0
- /package/src/modules/{bmm/workflows/2-plan-workflows → bmgd/workflows/2-design}/gdd/game-types/strategy.md +0 -0
- /package/src/modules/{bmm/workflows/2-plan-workflows → bmgd/workflows/2-design}/gdd/game-types/survival.md +0 -0
- /package/src/modules/{bmm/workflows/2-plan-workflows → bmgd/workflows/2-design}/gdd/game-types/text-based.md +0 -0
- /package/src/modules/{bmm/workflows/2-plan-workflows → bmgd/workflows/2-design}/gdd/game-types/tower-defense.md +0 -0
- /package/src/modules/{bmm/workflows/2-plan-workflows → bmgd/workflows/2-design}/gdd/game-types/turn-based-tactics.md +0 -0
- /package/src/modules/{bmm/workflows/2-plan-workflows → bmgd/workflows/2-design}/gdd/game-types/visual-novel.md +0 -0
- /package/src/modules/{bmm/workflows/2-plan-workflows → bmgd/workflows/2-design}/gdd/game-types.csv +0 -0
- /package/src/modules/{bmm/workflows/2-plan-workflows → bmgd/workflows/2-design}/gdd/gdd-template.md +0 -0
- /package/src/modules/{bmm/workflows/2-plan-workflows → bmgd/workflows/2-design}/narrative/checklist.md +0 -0
- /package/src/modules/{bmm/workflows/2-plan-workflows → bmgd/workflows/2-design}/narrative/narrative-template.md +0 -0
|
@@ -4,6 +4,9 @@ const yaml = require('js-yaml');
|
|
|
4
4
|
const crypto = require('node:crypto');
|
|
5
5
|
const { getSourcePath, getModulePath } = require('../../../lib/project-root');
|
|
6
6
|
|
|
7
|
+
// Load package.json for version info
|
|
8
|
+
const packageJson = require('../../../../../package.json');
|
|
9
|
+
|
|
7
10
|
/**
|
|
8
11
|
* Generates manifest files for installed workflows, agents, and tasks
|
|
9
12
|
*/
|
|
@@ -31,10 +34,12 @@ class ManifestGenerator {
|
|
|
31
34
|
|
|
32
35
|
// Store modules list (all modules including preserved ones)
|
|
33
36
|
const preservedModules = options.preservedModules || [];
|
|
34
|
-
|
|
35
|
-
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
|
|
36
40
|
this.preservedModules = preservedModules; // These stay as-is in CSVs
|
|
37
41
|
this.bmadDir = bmadDir;
|
|
42
|
+
this.bmadFolderName = path.basename(bmadDir); // Get the actual folder name (e.g., '.bmad' or 'bmad')
|
|
38
43
|
this.allInstalledFiles = installedFiles;
|
|
39
44
|
|
|
40
45
|
if (!Object.prototype.hasOwnProperty.call(options, 'ides')) {
|
|
@@ -88,15 +93,8 @@ class ManifestGenerator {
|
|
|
88
93
|
async collectWorkflows(selectedModules) {
|
|
89
94
|
this.workflows = [];
|
|
90
95
|
|
|
91
|
-
//
|
|
92
|
-
const
|
|
93
|
-
if (await fs.pathExists(corePath)) {
|
|
94
|
-
const coreWorkflows = await this.getWorkflowsFromPath(corePath, 'core');
|
|
95
|
-
this.workflows.push(...coreWorkflows);
|
|
96
|
-
}
|
|
97
|
-
|
|
98
|
-
// Get module workflows from installed bmad directory
|
|
99
|
-
for (const moduleName of selectedModules) {
|
|
96
|
+
// Use updatedModules which already includes deduplicated 'core' + selectedModules
|
|
97
|
+
for (const moduleName of this.updatedModules) {
|
|
100
98
|
const modulePath = path.join(this.bmadDir, moduleName);
|
|
101
99
|
|
|
102
100
|
if (await fs.pathExists(modulePath)) {
|
|
@@ -143,8 +141,8 @@ class ManifestGenerator {
|
|
|
143
141
|
// Build relative path for installation
|
|
144
142
|
const installPath =
|
|
145
143
|
moduleName === 'core'
|
|
146
|
-
?
|
|
147
|
-
:
|
|
144
|
+
? `${this.bmadFolderName}/core/workflows/${relativePath}/workflow.yaml`
|
|
145
|
+
: `${this.bmadFolderName}/${moduleName}/workflows/${relativePath}/workflow.yaml`;
|
|
148
146
|
|
|
149
147
|
// Check for standalone property (default: false)
|
|
150
148
|
const standalone = workflow.standalone === true;
|
|
@@ -183,15 +181,8 @@ class ManifestGenerator {
|
|
|
183
181
|
async collectAgents(selectedModules) {
|
|
184
182
|
this.agents = [];
|
|
185
183
|
|
|
186
|
-
//
|
|
187
|
-
const
|
|
188
|
-
if (await fs.pathExists(coreAgentsPath)) {
|
|
189
|
-
const coreAgents = await this.getAgentsFromDir(coreAgentsPath, 'core');
|
|
190
|
-
this.agents.push(...coreAgents);
|
|
191
|
-
}
|
|
192
|
-
|
|
193
|
-
// Get module agents from installed bmad directory
|
|
194
|
-
for (const moduleName of selectedModules) {
|
|
184
|
+
// Use updatedModules which already includes deduplicated 'core' + selectedModules
|
|
185
|
+
for (const moduleName of this.updatedModules) {
|
|
195
186
|
const agentsPath = path.join(this.bmadDir, moduleName, 'agents');
|
|
196
187
|
|
|
197
188
|
if (await fs.pathExists(agentsPath)) {
|
|
@@ -251,7 +242,8 @@ class ManifestGenerator {
|
|
|
251
242
|
const principlesMatch = content.match(/<principles>([\s\S]*?)<\/principles>/);
|
|
252
243
|
|
|
253
244
|
// Build relative path for installation
|
|
254
|
-
const installPath =
|
|
245
|
+
const installPath =
|
|
246
|
+
moduleName === 'core' ? `${this.bmadFolderName}/core/agents/${file}` : `${this.bmadFolderName}/${moduleName}/agents/${file}`;
|
|
255
247
|
|
|
256
248
|
const agentName = file.replace('.md', '');
|
|
257
249
|
|
|
@@ -297,15 +289,8 @@ class ManifestGenerator {
|
|
|
297
289
|
async collectTasks(selectedModules) {
|
|
298
290
|
this.tasks = [];
|
|
299
291
|
|
|
300
|
-
//
|
|
301
|
-
const
|
|
302
|
-
if (await fs.pathExists(coreTasksPath)) {
|
|
303
|
-
const coreTasks = await this.getTasksFromDir(coreTasksPath, 'core');
|
|
304
|
-
this.tasks.push(...coreTasks);
|
|
305
|
-
}
|
|
306
|
-
|
|
307
|
-
// Get module tasks from installed bmad directory
|
|
308
|
-
for (const moduleName of selectedModules) {
|
|
292
|
+
// Use updatedModules which already includes deduplicated 'core' + selectedModules
|
|
293
|
+
for (const moduleName of this.updatedModules) {
|
|
309
294
|
const tasksPath = path.join(this.bmadDir, moduleName, 'tasks');
|
|
310
295
|
|
|
311
296
|
if (await fs.pathExists(tasksPath)) {
|
|
@@ -341,7 +326,8 @@ class ManifestGenerator {
|
|
|
341
326
|
const standalone = !!standaloneMatch;
|
|
342
327
|
|
|
343
328
|
// Build relative path for installation
|
|
344
|
-
const installPath =
|
|
329
|
+
const installPath =
|
|
330
|
+
moduleName === 'core' ? `${this.bmadFolderName}/core/tasks/${file}` : `${this.bmadFolderName}/${moduleName}/tasks/${file}`;
|
|
345
331
|
|
|
346
332
|
const taskName = file.replace(/\.(xml|md)$/, '');
|
|
347
333
|
tasks.push({
|
|
@@ -373,15 +359,8 @@ class ManifestGenerator {
|
|
|
373
359
|
async collectTools(selectedModules) {
|
|
374
360
|
this.tools = [];
|
|
375
361
|
|
|
376
|
-
//
|
|
377
|
-
const
|
|
378
|
-
if (await fs.pathExists(coreToolsPath)) {
|
|
379
|
-
const coreTools = await this.getToolsFromDir(coreToolsPath, 'core');
|
|
380
|
-
this.tools.push(...coreTools);
|
|
381
|
-
}
|
|
382
|
-
|
|
383
|
-
// Get module tools from installed bmad directory
|
|
384
|
-
for (const moduleName of selectedModules) {
|
|
362
|
+
// Use updatedModules which already includes deduplicated 'core' + selectedModules
|
|
363
|
+
for (const moduleName of this.updatedModules) {
|
|
385
364
|
const toolsPath = path.join(this.bmadDir, moduleName, 'tools');
|
|
386
365
|
|
|
387
366
|
if (await fs.pathExists(toolsPath)) {
|
|
@@ -417,7 +396,8 @@ class ManifestGenerator {
|
|
|
417
396
|
const standalone = !!standaloneMatch;
|
|
418
397
|
|
|
419
398
|
// Build relative path for installation
|
|
420
|
-
const installPath =
|
|
399
|
+
const installPath =
|
|
400
|
+
moduleName === 'core' ? `${this.bmadFolderName}/core/tools/${file}` : `${this.bmadFolderName}/${moduleName}/tools/${file}`;
|
|
421
401
|
|
|
422
402
|
const toolName = file.replace(/\.(xml|md)$/, '');
|
|
423
403
|
tools.push({
|
|
@@ -451,7 +431,7 @@ class ManifestGenerator {
|
|
|
451
431
|
|
|
452
432
|
const manifest = {
|
|
453
433
|
installation: {
|
|
454
|
-
version:
|
|
434
|
+
version: packageJson.version,
|
|
455
435
|
installDate: new Date().toISOString(),
|
|
456
436
|
lastUpdated: new Date().toISOString(),
|
|
457
437
|
},
|
|
@@ -466,7 +446,9 @@ class ManifestGenerator {
|
|
|
466
446
|
sortKeys: false,
|
|
467
447
|
});
|
|
468
448
|
|
|
469
|
-
|
|
449
|
+
// Ensure POSIX-compliant final newline
|
|
450
|
+
const content = yamlStr.endsWith('\n') ? yamlStr : yamlStr + '\n';
|
|
451
|
+
await fs.writeFile(manifestPath, content);
|
|
470
452
|
return manifestPath;
|
|
471
453
|
}
|
|
472
454
|
|
|
@@ -559,26 +541,14 @@ class ManifestGenerator {
|
|
|
559
541
|
async writeWorkflowManifest(cfgDir) {
|
|
560
542
|
const csvPath = path.join(cfgDir, 'workflow-manifest.csv');
|
|
561
543
|
|
|
562
|
-
// Define expected columns and defaults for schema upgrade
|
|
563
|
-
const expectedColumns = ['name', 'description', 'module', 'path', 'standalone'];
|
|
564
|
-
const defaultValues = { standalone: 'false' };
|
|
565
|
-
|
|
566
|
-
// Get preserved rows from existing CSV (module is column 2, 0-indexed)
|
|
567
|
-
const preservedRows = await this.getPreservedCsvRows(csvPath, 2, expectedColumns, defaultValues);
|
|
568
|
-
|
|
569
544
|
// Create CSV header with standalone column
|
|
570
545
|
let csv = 'name,description,module,path,standalone\n';
|
|
571
546
|
|
|
572
|
-
// Add
|
|
547
|
+
// Add all workflows
|
|
573
548
|
for (const workflow of this.workflows) {
|
|
574
549
|
csv += `"${workflow.name}","${workflow.description}","${workflow.module}","${workflow.path}","${workflow.standalone}"\n`;
|
|
575
550
|
}
|
|
576
551
|
|
|
577
|
-
// Add preserved rows for modules we didn't update
|
|
578
|
-
for (const row of preservedRows) {
|
|
579
|
-
csv += row + '\n';
|
|
580
|
-
}
|
|
581
|
-
|
|
582
552
|
await fs.writeFile(csvPath, csv);
|
|
583
553
|
return csvPath;
|
|
584
554
|
}
|
|
@@ -590,36 +560,14 @@ class ManifestGenerator {
|
|
|
590
560
|
async writeAgentManifest(cfgDir) {
|
|
591
561
|
const csvPath = path.join(cfgDir, 'agent-manifest.csv');
|
|
592
562
|
|
|
593
|
-
// Define expected columns (no schema changes for agents currently)
|
|
594
|
-
const expectedColumns = [
|
|
595
|
-
'name',
|
|
596
|
-
'displayName',
|
|
597
|
-
'title',
|
|
598
|
-
'icon',
|
|
599
|
-
'role',
|
|
600
|
-
'identity',
|
|
601
|
-
'communicationStyle',
|
|
602
|
-
'principles',
|
|
603
|
-
'module',
|
|
604
|
-
'path',
|
|
605
|
-
];
|
|
606
|
-
|
|
607
|
-
// Get preserved rows from existing CSV (module is column 8, 0-indexed)
|
|
608
|
-
const preservedRows = await this.getPreservedCsvRows(csvPath, 8, expectedColumns);
|
|
609
|
-
|
|
610
563
|
// Create CSV header with persona fields
|
|
611
564
|
let csv = 'name,displayName,title,icon,role,identity,communicationStyle,principles,module,path\n';
|
|
612
565
|
|
|
613
|
-
// Add
|
|
566
|
+
// Add all agents
|
|
614
567
|
for (const agent of this.agents) {
|
|
615
568
|
csv += `"${agent.name}","${agent.displayName}","${agent.title}","${agent.icon}","${agent.role}","${agent.identity}","${agent.communicationStyle}","${agent.principles}","${agent.module}","${agent.path}"\n`;
|
|
616
569
|
}
|
|
617
570
|
|
|
618
|
-
// Add preserved rows for modules we didn't update
|
|
619
|
-
for (const row of preservedRows) {
|
|
620
|
-
csv += row + '\n';
|
|
621
|
-
}
|
|
622
|
-
|
|
623
571
|
await fs.writeFile(csvPath, csv);
|
|
624
572
|
return csvPath;
|
|
625
573
|
}
|
|
@@ -631,26 +579,14 @@ class ManifestGenerator {
|
|
|
631
579
|
async writeTaskManifest(cfgDir) {
|
|
632
580
|
const csvPath = path.join(cfgDir, 'task-manifest.csv');
|
|
633
581
|
|
|
634
|
-
// Define expected columns and defaults for schema upgrade
|
|
635
|
-
const expectedColumns = ['name', 'displayName', 'description', 'module', 'path', 'standalone'];
|
|
636
|
-
const defaultValues = { standalone: 'false' };
|
|
637
|
-
|
|
638
|
-
// Get preserved rows from existing CSV (module is column 3, 0-indexed)
|
|
639
|
-
const preservedRows = await this.getPreservedCsvRows(csvPath, 3, expectedColumns, defaultValues);
|
|
640
|
-
|
|
641
582
|
// Create CSV header with standalone column
|
|
642
583
|
let csv = 'name,displayName,description,module,path,standalone\n';
|
|
643
584
|
|
|
644
|
-
// Add
|
|
585
|
+
// Add all tasks
|
|
645
586
|
for (const task of this.tasks) {
|
|
646
587
|
csv += `"${task.name}","${task.displayName}","${task.description}","${task.module}","${task.path}","${task.standalone}"\n`;
|
|
647
588
|
}
|
|
648
589
|
|
|
649
|
-
// Add preserved rows for modules we didn't update
|
|
650
|
-
for (const row of preservedRows) {
|
|
651
|
-
csv += row + '\n';
|
|
652
|
-
}
|
|
653
|
-
|
|
654
590
|
await fs.writeFile(csvPath, csv);
|
|
655
591
|
return csvPath;
|
|
656
592
|
}
|
|
@@ -662,26 +598,14 @@ class ManifestGenerator {
|
|
|
662
598
|
async writeToolManifest(cfgDir) {
|
|
663
599
|
const csvPath = path.join(cfgDir, 'tool-manifest.csv');
|
|
664
600
|
|
|
665
|
-
// Define expected columns and defaults for schema upgrade
|
|
666
|
-
const expectedColumns = ['name', 'displayName', 'description', 'module', 'path', 'standalone'];
|
|
667
|
-
const defaultValues = { standalone: 'false' };
|
|
668
|
-
|
|
669
|
-
// Get preserved rows from existing CSV (module is column 3, 0-indexed)
|
|
670
|
-
const preservedRows = await this.getPreservedCsvRows(csvPath, 3, expectedColumns, defaultValues);
|
|
671
|
-
|
|
672
601
|
// Create CSV header with standalone column
|
|
673
602
|
let csv = 'name,displayName,description,module,path,standalone\n';
|
|
674
603
|
|
|
675
|
-
// Add
|
|
604
|
+
// Add all tools
|
|
676
605
|
for (const tool of this.tools) {
|
|
677
606
|
csv += `"${tool.name}","${tool.displayName}","${tool.description}","${tool.module}","${tool.path}","${tool.standalone}"\n`;
|
|
678
607
|
}
|
|
679
608
|
|
|
680
|
-
// Add preserved rows for modules we didn't update
|
|
681
|
-
for (const row of preservedRows) {
|
|
682
|
-
csv += row + '\n';
|
|
683
|
-
}
|
|
684
|
-
|
|
685
609
|
await fs.writeFile(csvPath, csv);
|
|
686
610
|
return csvPath;
|
|
687
611
|
}
|
|
@@ -709,9 +633,6 @@ class ManifestGenerator {
|
|
|
709
633
|
async writeFilesManifest(cfgDir) {
|
|
710
634
|
const csvPath = path.join(cfgDir, 'files-manifest.csv');
|
|
711
635
|
|
|
712
|
-
// Get preserved rows from existing CSV (module is column 2, 0-indexed)
|
|
713
|
-
const preservedRows = await this.getPreservedCsvRows(csvPath, 2);
|
|
714
|
-
|
|
715
636
|
// Create CSV header with hash column
|
|
716
637
|
let csv = 'type,name,module,path,hash\n';
|
|
717
638
|
|
|
@@ -742,7 +663,7 @@ class ManifestGenerator {
|
|
|
742
663
|
} else {
|
|
743
664
|
// Fallback: use the collected workflows/agents/tasks
|
|
744
665
|
for (const file of this.files) {
|
|
745
|
-
const filePath = path.join(this.bmadDir, file.path.replace('
|
|
666
|
+
const filePath = path.join(this.bmadDir, file.path.replace(this.bmadFolderName + '/', ''));
|
|
746
667
|
const hash = await this.calculateFileHash(filePath);
|
|
747
668
|
allFiles.push({
|
|
748
669
|
...file,
|
|
@@ -758,16 +679,11 @@ class ManifestGenerator {
|
|
|
758
679
|
return a.name.localeCompare(b.name);
|
|
759
680
|
});
|
|
760
681
|
|
|
761
|
-
// Add
|
|
682
|
+
// Add all files
|
|
762
683
|
for (const file of allFiles) {
|
|
763
684
|
csv += `"${file.type}","${file.name}","${file.module}","${file.path}","${file.hash}"\n`;
|
|
764
685
|
}
|
|
765
686
|
|
|
766
|
-
// Add preserved rows for modules we didn't update
|
|
767
|
-
for (const row of preservedRows) {
|
|
768
|
-
csv += row + '\n';
|
|
769
|
-
}
|
|
770
|
-
|
|
771
687
|
await fs.writeFile(csvPath, csv);
|
|
772
688
|
return csvPath;
|
|
773
689
|
}
|
|
@@ -35,7 +35,9 @@ class Manifest {
|
|
|
35
35
|
sortKeys: false,
|
|
36
36
|
});
|
|
37
37
|
|
|
38
|
-
|
|
38
|
+
// Ensure POSIX-compliant final newline
|
|
39
|
+
const content = yamlContent.endsWith('\n') ? yamlContent : yamlContent + '\n';
|
|
40
|
+
await fs.writeFile(manifestPath, content, 'utf8');
|
|
39
41
|
return { success: true, path: manifestPath, filesTracked: 0 };
|
|
40
42
|
}
|
|
41
43
|
|
|
@@ -104,7 +106,9 @@ class Manifest {
|
|
|
104
106
|
sortKeys: false,
|
|
105
107
|
});
|
|
106
108
|
|
|
107
|
-
|
|
109
|
+
// Ensure POSIX-compliant final newline
|
|
110
|
+
const content = yamlContent.endsWith('\n') ? yamlContent : yamlContent + '\n';
|
|
111
|
+
await fs.writeFile(manifestPath, content, 'utf8');
|
|
108
112
|
|
|
109
113
|
return manifest;
|
|
110
114
|
}
|
|
@@ -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
|
/**
|