bmad-method 6.0.0-alpha.0 → 6.0.0-alpha.2
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/.claude/commands/bmad/bmb/agents/bmad-builder.md +70 -0
- package/.claude/commands/bmad/bmb/workflows/README.md +67 -0
- package/.claude/commands/bmad/bmb/workflows/audit-workflow.md +15 -0
- package/.claude/commands/bmad/bmb/workflows/convert-legacy.md +15 -0
- package/.claude/commands/bmad/bmb/workflows/create-agent.md +15 -0
- package/.claude/commands/bmad/bmb/workflows/create-module.md +15 -0
- package/.claude/commands/bmad/bmb/workflows/create-workflow.md +15 -0
- package/.claude/commands/bmad/bmb/workflows/edit-agent.md +15 -0
- package/.claude/commands/bmad/bmb/workflows/edit-module.md +15 -0
- package/.claude/commands/bmad/bmb/workflows/edit-workflow.md +15 -0
- package/.claude/commands/bmad/bmb/workflows/module-brief.md +15 -0
- package/.claude/commands/bmad/bmb/workflows/redoc.md +15 -0
- package/.claude/commands/bmad/bmd/agents/cli-chief.md +108 -0
- package/.claude/commands/bmad/bmd/agents/doc-keeper.md +115 -0
- package/.claude/commands/bmad/bmd/agents/release-chief.md +109 -0
- package/.claude/commands/bmad/core/agents/bmad-master.md +71 -0
- package/.claude/commands/bmad/core/tasks/index-docs.md +9 -0
- package/.claude/commands/bmad/core/tools/shard-doc.md +9 -0
- package/.claude/commands/bmad/core/workflows/README.md +27 -0
- package/.claude/commands/bmad/core/workflows/brainstorming.md +15 -0
- package/.claude/commands/bmad/core/workflows/party-mode.md +15 -0
- package/.claude/hooks/bmad-tts-injector.sh +415 -0
- package/.claude/hooks/bmad-voice-manager.sh +511 -0
- package/.claude/hooks/check-output-style.sh +112 -0
- package/.claude/hooks/download-extra-voices.sh +244 -0
- package/.claude/hooks/github-star-reminder.sh +154 -0
- package/.claude/hooks/language-manager.sh +392 -0
- package/.claude/hooks/learn-manager.sh +475 -0
- package/.claude/hooks/personality-manager.sh +438 -0
- package/.claude/hooks/piper-download-voices.sh +165 -0
- package/.claude/hooks/piper-installer.sh +178 -0
- package/.claude/hooks/piper-multispeaker-registry.sh +165 -0
- package/.claude/hooks/piper-voice-manager.sh +293 -0
- package/.claude/hooks/play-tts-elevenlabs.sh +404 -0
- package/.claude/hooks/play-tts-piper.sh +338 -0
- package/.claude/hooks/play-tts.sh +100 -0
- package/.claude/hooks/provider-commands.sh +540 -0
- package/.claude/hooks/provider-manager.sh +298 -0
- package/.claude/hooks/replay-target-audio.sh +95 -0
- package/.claude/hooks/sentiment-manager.sh +201 -0
- package/.claude/hooks/speed-manager.sh +291 -0
- package/.claude/hooks/voice-manager.sh +594 -0
- package/.claude/hooks/voices-config.sh +70 -0
- package/.claude/settings.local.json +41 -0
- package/.github/ISSUE_TEMPLATE/config.yaml +4 -0
- package/.github/ISSUE_TEMPLATE/idea_submission.md +2 -2
- package/.github/workflows/{format-check.yaml → lint.yaml} +19 -1
- package/.prettierignore +2 -0
- package/CHANGELOG.md +8 -2
- package/CONTRIBUTING.md +1 -0
- package/README.md +263 -0
- package/bmad/_cfg/agent-manifest.csv +7 -0
- package/bmad/_cfg/agents/bmb-bmad-builder.customize.yaml +42 -0
- package/bmad/_cfg/agents/bmd-cli-chief.customize.yaml +32 -0
- package/bmad/_cfg/agents/bmd-doc-keeper.customize.yaml +42 -0
- package/bmad/_cfg/agents/bmd-release-chief.customize.yaml +42 -0
- package/bmad/_cfg/agents/core-bmad-master.customize.yaml +42 -0
- package/bmad/_cfg/files-manifest.csv +83 -0
- package/bmad/_cfg/manifest.yaml +12 -0
- package/bmad/_cfg/task-manifest.csv +5 -0
- package/bmad/_cfg/tool-manifest.csv +2 -0
- package/bmad/_cfg/workflow-manifest.csv +15 -0
- package/bmad/bmb/README.md +132 -0
- package/bmad/bmb/agents/bmad-builder.md +70 -0
- package/bmad/bmb/config.yaml +14 -0
- package/bmad/bmb/workflows/audit-workflow/checklist.md +143 -0
- package/bmad/bmb/workflows/audit-workflow/instructions.md +341 -0
- package/bmad/bmb/workflows/audit-workflow/template.md +118 -0
- package/bmad/bmb/workflows/audit-workflow/workflow.yaml +23 -0
- package/bmad/bmb/workflows/audit-workflow/workflow.yaml.bak +21 -0
- package/bmad/bmb/workflows/convert-legacy/README.md +262 -0
- package/bmad/bmb/workflows/convert-legacy/checklist.md +205 -0
- package/bmad/bmb/workflows/convert-legacy/instructions.md +377 -0
- package/bmad/bmb/workflows/convert-legacy/workflow.yaml +32 -0
- package/bmad/bmb/workflows/create-agent/README.md +320 -0
- package/bmad/bmb/workflows/create-agent/agent-architecture.md +419 -0
- package/bmad/bmb/workflows/create-agent/agent-architecture.md.bak +412 -0
- package/bmad/bmb/workflows/create-agent/agent-command-patterns.md +759 -0
- package/bmad/bmb/workflows/create-agent/agent-command-patterns.md.bak +759 -0
- package/bmad/bmb/workflows/create-agent/agent-types.md +292 -0
- package/bmad/bmb/workflows/create-agent/brainstorm-context.md +174 -0
- package/bmad/bmb/workflows/create-agent/checklist.md +62 -0
- package/bmad/bmb/workflows/create-agent/communication-styles.md +202 -0
- package/bmad/bmb/workflows/create-agent/instructions.md +430 -0
- package/bmad/bmb/workflows/create-agent/workflow.yaml +37 -0
- package/bmad/bmb/workflows/create-module/README.md +220 -0
- package/bmad/bmb/workflows/create-module/README.md.bak +218 -0
- package/bmad/bmb/workflows/create-module/brainstorm-context.md +137 -0
- package/bmad/bmb/workflows/create-module/checklist.md +244 -0
- package/bmad/bmb/workflows/create-module/checklist.md.bak +245 -0
- package/bmad/bmb/workflows/create-module/installer-templates/install-config.yaml +92 -0
- package/bmad/bmb/workflows/create-module/installer-templates/installer.js +231 -0
- package/bmad/bmb/workflows/create-module/installer-templates/installer.js.bak +231 -0
- package/bmad/bmb/workflows/create-module/instructions.md +581 -0
- package/bmad/bmb/workflows/create-module/instructions.md.bak +521 -0
- package/bmad/bmb/workflows/create-module/module-structure.md +366 -0
- package/bmad/bmb/workflows/create-module/module-structure.md.bak +310 -0
- package/bmad/bmb/workflows/create-module/workflow.yaml +42 -0
- package/bmad/bmb/workflows/create-module/workflow.yaml.bak +40 -0
- package/bmad/bmb/workflows/create-workflow/README.md +277 -0
- package/bmad/bmb/workflows/create-workflow/brainstorm-context.md +197 -0
- package/bmad/bmb/workflows/create-workflow/checklist.md +94 -0
- package/bmad/bmb/workflows/create-workflow/instructions.md +716 -0
- package/bmad/bmb/workflows/create-workflow/workflow-creation-guide.md +1150 -0
- package/bmad/bmb/workflows/create-workflow/workflow-template/checklist.md +24 -0
- package/bmad/bmb/workflows/create-workflow/workflow-template/instructions.md +13 -0
- package/bmad/bmb/workflows/create-workflow/workflow-template/template.md +9 -0
- package/bmad/bmb/workflows/create-workflow/workflow-template/workflow.yaml +39 -0
- package/bmad/bmb/workflows/create-workflow/workflow-template/workflow.yaml.bak +39 -0
- package/bmad/bmb/workflows/create-workflow/workflow.yaml +40 -0
- package/bmad/bmb/workflows/create-workflow/workflow.yaml.bak +38 -0
- package/bmad/bmb/workflows/edit-agent/README.md +112 -0
- package/bmad/bmb/workflows/edit-agent/checklist.md +112 -0
- package/bmad/bmb/workflows/edit-agent/instructions.md +290 -0
- package/bmad/bmb/workflows/edit-agent/workflow.yaml +33 -0
- package/bmad/bmb/workflows/edit-module/README.md +187 -0
- package/bmad/bmb/workflows/edit-module/checklist.md +165 -0
- package/bmad/bmb/workflows/edit-module/instructions.md +339 -0
- package/bmad/bmb/workflows/edit-module/workflow.yaml +34 -0
- package/bmad/bmb/workflows/edit-workflow/README.md +119 -0
- package/bmad/bmb/workflows/edit-workflow/checklist.md +70 -0
- package/bmad/bmb/workflows/edit-workflow/instructions.md +342 -0
- package/bmad/bmb/workflows/edit-workflow/workflow.yaml +27 -0
- package/bmad/bmb/workflows/edit-workflow/workflow.yaml.bak +25 -0
- package/bmad/bmb/workflows/module-brief/README.md +264 -0
- package/bmad/bmb/workflows/module-brief/checklist.md +116 -0
- package/bmad/bmb/workflows/module-brief/instructions.md +267 -0
- package/bmad/bmb/workflows/module-brief/template.md +275 -0
- package/bmad/bmb/workflows/module-brief/workflow.yaml +29 -0
- package/bmad/bmb/workflows/module-brief/workflow.yaml.bak +27 -0
- package/bmad/bmb/workflows/redoc/README.md +87 -0
- package/bmad/bmb/workflows/redoc/checklist.md +99 -0
- package/bmad/bmb/workflows/redoc/instructions.md +265 -0
- package/bmad/bmb/workflows/redoc/workflow.yaml +32 -0
- package/bmad/bmb/workflows/redoc/workflow.yaml.bak +31 -0
- package/bmad/bmd/README.md +193 -0
- package/bmad/bmd/README.md.bak +193 -0
- package/bmad/bmd/agents/cli-chief-sidecar/instructions.md +102 -0
- package/bmad/bmd/agents/cli-chief-sidecar/instructions.md.bak +102 -0
- package/bmad/bmd/agents/cli-chief-sidecar/knowledge/README.md +68 -0
- package/bmad/bmd/agents/cli-chief-sidecar/knowledge/README.md.bak +68 -0
- package/bmad/bmd/agents/cli-chief-sidecar/knowledge/cli-reference.md +123 -0
- package/bmad/bmd/agents/cli-chief-sidecar/knowledge/cli-reference.md.bak +123 -0
- package/bmad/bmd/agents/cli-chief-sidecar/memories.md +53 -0
- package/bmad/bmd/agents/cli-chief-sidecar/memories.md.bak +53 -0
- package/bmad/bmd/agents/cli-chief.md +108 -0
- package/bmad/bmd/agents/cli-chief.md.bak +108 -0
- package/bmad/bmd/agents/doc-keeper-sidecar/instructions.md +177 -0
- package/bmad/bmd/agents/doc-keeper-sidecar/instructions.md.bak +177 -0
- package/bmad/bmd/agents/doc-keeper-sidecar/knowledge/README.md +81 -0
- package/bmad/bmd/agents/doc-keeper-sidecar/knowledge/README.md.bak +81 -0
- package/bmad/bmd/agents/doc-keeper-sidecar/memories.md +88 -0
- package/bmad/bmd/agents/doc-keeper-sidecar/memories.md.bak +88 -0
- package/bmad/bmd/agents/doc-keeper.md +115 -0
- package/bmad/bmd/agents/doc-keeper.md.bak +115 -0
- package/bmad/bmd/agents/release-chief-sidecar/instructions.md +164 -0
- package/bmad/bmd/agents/release-chief-sidecar/instructions.md.bak +164 -0
- package/bmad/bmd/agents/release-chief-sidecar/knowledge/README.md +82 -0
- package/bmad/bmd/agents/release-chief-sidecar/knowledge/README.md.bak +82 -0
- package/bmad/bmd/agents/release-chief-sidecar/memories.md +73 -0
- package/bmad/bmd/agents/release-chief-sidecar/memories.md.bak +73 -0
- package/bmad/bmd/agents/release-chief.md +109 -0
- package/bmad/bmd/agents/release-chief.md.bak +109 -0
- package/bmad/bmd/config.yaml +10 -0
- package/bmad/core/agents/bmad-master.md +71 -0
- package/bmad/core/agents/bmad-web-orchestrator.agent.xml +122 -0
- package/bmad/core/config.yaml +9 -0
- package/bmad/core/tasks/adv-elicit-methods.csv +39 -0
- package/{src/core/tasks/adv-elicit.md → bmad/core/tasks/adv-elicit.xml} +6 -11
- package/{src/core/tasks/index-docs.md → bmad/core/tasks/index-docs.xml} +6 -10
- package/{src/core/tasks/validate-workflow.md → bmad/core/tasks/validate-workflow.xml} +4 -7
- package/bmad/core/tasks/workflow.xml +174 -0
- package/bmad/core/tools/shard-doc.xml +100 -0
- package/{src/modules/cis → bmad/core}/workflows/brainstorming/README.md +2 -2
- package/{src/modules/cis → bmad/core}/workflows/brainstorming/instructions.md +26 -22
- package/{src/modules/cis → bmad/core}/workflows/brainstorming/template.md +2 -2
- package/{src/modules/cis → bmad/core}/workflows/brainstorming/workflow.yaml +16 -3
- package/bmad/core/workflows/party-mode/instructions.md +188 -0
- package/bmad/core/workflows/party-mode/workflow.yaml +23 -0
- package/bmad/docs/claude-code-instructions.md +25 -0
- package/bmad/docs/codex-instructions.md +21 -0
- package/bmd/README.md +193 -0
- package/bmd/agents/cli-chief-sidecar/instructions.md +102 -0
- package/bmd/agents/cli-chief-sidecar/knowledge/README.md +68 -0
- package/bmd/agents/cli-chief-sidecar/knowledge/cli-reference.md +123 -0
- package/bmd/agents/cli-chief-sidecar/memories.md +53 -0
- package/bmd/agents/cli-chief.agent.yaml +126 -0
- package/bmd/agents/doc-keeper-sidecar/instructions.md +177 -0
- package/bmd/agents/doc-keeper-sidecar/knowledge/README.md +81 -0
- package/bmd/agents/doc-keeper-sidecar/memories.md +88 -0
- package/bmd/agents/doc-keeper.agent.yaml +137 -0
- package/bmd/agents/release-chief-sidecar/instructions.md +164 -0
- package/bmd/agents/release-chief-sidecar/knowledge/README.md +82 -0
- package/bmd/agents/release-chief-sidecar/memories.md +73 -0
- package/bmd/agents/release-chief.agent.yaml +127 -0
- package/bmd/bmad-custom-module-installer-plan.md +1176 -0
- package/bmd/config.yaml +12 -0
- package/docs/bmad-brownfield-guide.md +1260 -0
- package/docs/conversion-report-shard-doc-2025-10-26.md +188 -0
- package/docs/ide-info/auggie.md +2 -2
- package/docs/ide-info/claude-code.md +4 -4
- package/docs/ide-info/codex.md +9 -20
- package/docs/ide-info/opencode.md +24 -0
- package/docs/installers-bundlers/ide-injections.md +0 -10
- package/docs/installers-bundlers/installers-modules-platforms-reference.md +22 -50
- package/docs/v4-to-v6-upgrade.md +225 -0
- package/eslint.config.mjs +4 -2
- package/package.json +11 -6
- package/src/core/_module-installer/{install-menu-config.yaml → install-config.yaml} +8 -4
- package/src/core/_module-installer/installer.js +1 -1
- package/src/core/agents/bmad-master.agent.yaml +39 -0
- package/src/core/agents/bmad-web-orchestrator.agent.xml +122 -0
- package/src/core/tasks/adv-elicit.xml +104 -0
- package/src/core/tasks/index-docs.xml +65 -0
- package/src/core/tasks/validate-workflow.xml +89 -0
- package/src/core/tasks/{workflow.md → workflow.xml} +42 -17
- package/src/core/tools/shard-doc.xml +100 -0
- package/src/core/workflows/brainstorming/README.md +271 -0
- package/src/core/workflows/brainstorming/brain-methods.csv +36 -0
- package/src/core/workflows/brainstorming/instructions.md +314 -0
- package/src/core/workflows/brainstorming/template.md +102 -0
- package/src/core/workflows/brainstorming/workflow.yaml +43 -0
- package/src/core/workflows/party-mode/instructions.md +30 -23
- package/src/core/workflows/party-mode/workflow.yaml +7 -8
- package/src/modules/bmb/README.md +132 -0
- package/src/modules/bmb/_module-installer/install-config.yaml +26 -0
- package/src/modules/bmb/agents/bmad-builder.agent.yaml +58 -0
- package/src/modules/bmb/workflows/audit-workflow/checklist.md +143 -0
- package/src/modules/bmb/workflows/audit-workflow/instructions.md +341 -0
- package/src/modules/bmb/workflows/audit-workflow/template.md +118 -0
- package/src/modules/bmb/workflows/audit-workflow/workflow.yaml +25 -0
- package/src/modules/bmb/workflows/convert-legacy/README.md +32 -32
- package/src/modules/bmb/workflows/convert-legacy/checklist.md +21 -20
- package/src/modules/bmb/workflows/convert-legacy/instructions.md +130 -81
- package/src/modules/bmb/workflows/convert-legacy/workflow.yaml +7 -8
- package/src/modules/bmb/workflows/create-agent/README.md +96 -44
- package/src/modules/bmb/workflows/create-agent/agent-architecture.md +58 -51
- package/src/modules/bmb/workflows/create-agent/agent-command-patterns.md +153 -151
- package/src/modules/bmb/workflows/create-agent/agent-types.md +137 -22
- package/src/modules/bmb/workflows/create-agent/brainstorm-context.md +4 -4
- package/src/modules/bmb/workflows/create-agent/checklist.md +30 -102
- package/src/modules/bmb/workflows/create-agent/communication-styles.md +22 -60
- package/src/modules/bmb/workflows/create-agent/instructions.md +309 -219
- package/src/modules/bmb/workflows/create-agent/workflow.yaml +24 -14
- package/src/modules/bmb/workflows/create-module/README.md +23 -21
- package/src/modules/bmb/workflows/create-module/brainstorm-context.md +1 -1
- package/src/modules/bmb/workflows/create-module/checklist.md +20 -21
- package/src/modules/bmb/workflows/create-module/installer-templates/install-config.yaml +92 -0
- package/src/modules/bmb/workflows/create-module/installer-templates/installer.js +1 -1
- package/src/modules/bmb/workflows/create-module/instructions.md +309 -237
- package/src/modules/bmb/workflows/create-module/module-structure.md +104 -48
- package/src/modules/bmb/workflows/create-module/workflow.yaml +14 -17
- package/src/modules/bmb/workflows/create-workflow/README.md +68 -7
- package/src/modules/bmb/workflows/create-workflow/brainstorm-context.md +4 -4
- package/src/modules/bmb/workflows/create-workflow/checklist.md +22 -0
- package/src/modules/bmb/workflows/create-workflow/instructions.md +496 -47
- package/src/modules/bmb/workflows/create-workflow/workflow-creation-guide.md +753 -59
- package/src/modules/bmb/workflows/create-workflow/workflow-template/instructions.md +4 -3
- package/src/modules/bmb/workflows/create-workflow/workflow-template/workflow.yaml +30 -0
- package/src/modules/bmb/workflows/create-workflow/workflow.yaml +11 -11
- package/src/modules/bmb/workflows/edit-agent/README.md +112 -0
- package/src/modules/bmb/workflows/edit-agent/checklist.md +112 -0
- package/src/modules/bmb/workflows/edit-agent/instructions.md +290 -0
- package/src/modules/bmb/workflows/edit-agent/workflow.yaml +35 -0
- package/src/modules/bmb/workflows/edit-module/README.md +187 -0
- package/src/modules/bmb/workflows/edit-module/checklist.md +165 -0
- package/src/modules/bmb/workflows/edit-module/instructions.md +339 -0
- package/src/modules/bmb/workflows/edit-module/workflow.yaml +36 -0
- package/src/modules/bmb/workflows/edit-workflow/README.md +58 -2
- package/src/modules/bmb/workflows/edit-workflow/instructions.md +289 -117
- package/src/modules/bmb/workflows/edit-workflow/workflow.yaml +5 -10
- package/src/modules/bmb/workflows/module-brief/README.md +16 -16
- package/src/modules/bmb/workflows/module-brief/checklist.md +4 -4
- package/src/modules/bmb/workflows/module-brief/instructions.md +9 -7
- package/src/modules/bmb/workflows/module-brief/template.md +9 -9
- package/src/modules/bmb/workflows/module-brief/workflow.yaml +5 -4
- package/src/modules/bmb/workflows/redoc/checklist.md +2 -2
- package/src/modules/bmb/workflows/redoc/instructions.md +20 -10
- package/src/modules/bmb/workflows/redoc/workflow.yaml +5 -4
- package/src/modules/bmm/README.md +141 -0
- package/src/modules/bmm/_module-installer/install-config.yaml +74 -0
- package/src/modules/bmm/_module-installer/installer.js +1 -1
- package/src/modules/bmm/_module-installer/platform-specifics/claude-code.js +1 -1
- package/src/modules/bmm/_module-installer/platform-specifics/windsurf.js +1 -1
- package/src/modules/bmm/agents/analyst.agent.yaml +43 -0
- package/src/modules/bmm/agents/architect.agent.yaml +41 -0
- package/src/modules/bmm/agents/dev.agent.yaml +43 -0
- package/src/modules/bmm/agents/game-architect.agent.yaml +35 -0
- package/src/modules/bmm/agents/game-designer.agent.yaml +47 -0
- package/src/modules/bmm/agents/game-dev.agent.yaml +39 -0
- package/src/modules/bmm/agents/pm.agent.yaml +50 -0
- package/src/modules/bmm/agents/sm.agent.yaml +67 -0
- package/src/modules/bmm/agents/tea.agent.yaml +59 -0
- package/src/modules/bmm/agents/ux-designer.agent.yaml +33 -0
- package/src/modules/bmm/sub-modules/claude-code/injections.yaml +1 -1
- package/src/modules/bmm/sub-modules/claude-code/readme.md +1 -1
- package/src/modules/bmm/sub-modules/claude-code/sub-agents/{api-documenter.md → bmad-analysis/api-documenter.md} +17 -0
- package/src/modules/bmm/sub-modules/claude-code/sub-agents/{codebase-analyzer.md → bmad-analysis/codebase-analyzer.md} +19 -1
- package/src/modules/bmm/sub-modules/claude-code/sub-agents/{data-analyst.md → bmad-analysis/data-analyst.md} +17 -0
- package/src/modules/bmm/sub-modules/claude-code/sub-agents/{pattern-detector.md → bmad-analysis/pattern-detector.md} +17 -0
- package/src/modules/bmm/sub-modules/claude-code/sub-agents/{dependency-mapper.md → bmad-planning/dependency-mapper.md} +16 -0
- package/src/modules/bmm/sub-modules/claude-code/sub-agents/{epic-optimizer.md → bmad-planning/epic-optimizer.md} +15 -0
- package/src/modules/bmm/sub-modules/claude-code/sub-agents/{technical-decisions-curator.md → bmad-planning/technical-decisions-curator.md} +24 -2
- package/src/modules/bmm/sub-modules/claude-code/sub-agents/{trend-spotter.md → bmad-planning/trend-spotter.md} +16 -0
- package/src/modules/bmm/sub-modules/claude-code/sub-agents/{user-journey-mapper.md → bmad-planning/user-journey-mapper.md} +22 -0
- package/src/modules/bmm/sub-modules/claude-code/sub-agents/{user-researcher.md → bmad-planning/user-researcher.md} +16 -0
- package/src/modules/bmm/sub-modules/claude-code/sub-agents/{market-researcher.md → bmad-research/market-researcher.md} +17 -0
- package/src/modules/bmm/sub-modules/claude-code/sub-agents/{tech-debt-auditor.md → bmad-research/tech-debt-auditor.md} +17 -0
- package/src/modules/bmm/sub-modules/claude-code/sub-agents/{document-reviewer.md → bmad-review/document-reviewer.md} +17 -0
- package/src/modules/bmm/sub-modules/claude-code/sub-agents/{technical-evaluator.md → bmad-review/technical-evaluator.md} +17 -0
- package/src/modules/bmm/sub-modules/claude-code/sub-agents/{test-coverage-analyzer.md → bmad-review/test-coverage-analyzer.md} +17 -0
- package/src/modules/bmm/tasks/{daily-standup.md → daily-standup.xml} +21 -27
- package/src/modules/bmm/tasks/{retrospective.md → retrospective.xml} +22 -28
- package/src/modules/bmm/teams/team-fullstack.yaml +11 -0
- package/src/modules/bmm/teams/team-gamedev.yaml +5 -0
- package/src/modules/bmm/testarch/README.md +311 -0
- package/src/modules/bmm/testarch/knowledge/ci-burn-in.md +675 -0
- package/src/modules/bmm/testarch/knowledge/component-tdd.md +486 -0
- package/src/modules/bmm/testarch/knowledge/contract-testing.md +957 -0
- package/src/modules/bmm/testarch/knowledge/data-factories.md +500 -0
- package/src/modules/bmm/testarch/knowledge/email-auth.md +721 -0
- package/src/modules/bmm/testarch/knowledge/error-handling.md +725 -0
- package/src/modules/bmm/testarch/knowledge/feature-flags.md +750 -0
- package/src/modules/bmm/testarch/knowledge/fixture-architecture.md +401 -0
- package/src/modules/bmm/testarch/knowledge/network-first.md +486 -0
- package/src/modules/bmm/testarch/knowledge/nfr-criteria.md +670 -0
- package/src/modules/bmm/testarch/knowledge/playwright-config.md +730 -0
- package/src/modules/bmm/testarch/knowledge/probability-impact.md +601 -0
- package/src/modules/bmm/testarch/knowledge/risk-governance.md +615 -0
- package/src/modules/bmm/testarch/knowledge/selective-testing.md +732 -0
- package/src/modules/bmm/testarch/knowledge/selector-resilience.md +527 -0
- package/src/modules/bmm/testarch/knowledge/test-healing-patterns.md +644 -0
- package/src/modules/bmm/testarch/knowledge/test-levels-framework.md +473 -0
- package/src/modules/bmm/testarch/knowledge/test-priorities-matrix.md +373 -0
- package/src/modules/bmm/testarch/knowledge/test-quality.md +664 -0
- package/src/modules/bmm/testarch/knowledge/timing-debugging.md +372 -0
- package/src/modules/bmm/testarch/knowledge/visual-debugging.md +524 -0
- package/src/modules/bmm/testarch/tea-index.csv +22 -0
- package/src/modules/bmm/workflows/1-analysis/brainstorm-game/README.md +38 -0
- package/src/modules/bmm/workflows/1-analysis/brainstorm-game/game-context.md +3 -3
- package/src/modules/bmm/workflows/1-analysis/brainstorm-game/instructions.md +74 -12
- package/src/modules/bmm/workflows/1-analysis/brainstorm-game/workflow.yaml +22 -3
- package/src/modules/bmm/workflows/1-analysis/brainstorm-project/README.md +29 -0
- package/src/modules/bmm/workflows/1-analysis/brainstorm-project/instructions.md +61 -8
- package/src/modules/bmm/workflows/1-analysis/brainstorm-project/project-context.md +4 -4
- package/src/modules/bmm/workflows/1-analysis/brainstorm-project/workflow.yaml +21 -3
- package/src/modules/bmm/workflows/1-analysis/game-brief/README.md +5 -5
- package/src/modules/bmm/workflows/1-analysis/game-brief/checklist.md +2 -2
- package/src/modules/bmm/workflows/1-analysis/game-brief/instructions.md +151 -311
- package/src/modules/bmm/workflows/1-analysis/game-brief/template.md +2 -2
- package/src/modules/bmm/workflows/1-analysis/game-brief/workflow.yaml +16 -6
- package/src/modules/bmm/workflows/1-analysis/product-brief/README.md +4 -4
- package/src/modules/bmm/workflows/1-analysis/product-brief/checklist.md +2 -2
- package/src/modules/bmm/workflows/1-analysis/product-brief/instructions.md +147 -179
- package/src/modules/bmm/workflows/1-analysis/product-brief/template.md +4 -4
- package/src/modules/bmm/workflows/1-analysis/product-brief/workflow.yaml +16 -6
- package/src/modules/bmm/workflows/1-analysis/research/README.md +3 -3
- package/src/modules/bmm/workflows/1-analysis/research/claude-code/sub-agents/bmm-competitor-analyzer.md +1 -1
- package/src/modules/bmm/workflows/1-analysis/research/claude-code/sub-agents/bmm-market-researcher.md +2 -2
- package/src/modules/bmm/workflows/1-analysis/research/claude-code/sub-agents/bmm-trend-spotter.md +2 -2
- package/src/modules/bmm/workflows/1-analysis/research/instructions-deep-prompt.md +80 -17
- package/src/modules/bmm/workflows/1-analysis/research/instructions-market.md +71 -11
- package/src/modules/bmm/workflows/1-analysis/research/instructions-router.md +72 -38
- package/src/modules/bmm/workflows/1-analysis/research/instructions-technical.md +73 -14
- package/src/modules/bmm/workflows/1-analysis/research/template-deep-prompt.md +1 -1
- package/src/modules/bmm/workflows/1-analysis/research/template-market.md +1 -1
- package/src/modules/bmm/workflows/1-analysis/research/workflow.yaml +21 -121
- package/src/modules/bmm/workflows/2-plan-workflows/README.md +258 -0
- package/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/checklist.md +310 -0
- package/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/instructions.md +1283 -0
- package/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/ux-design-template.md +145 -0
- package/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/workflow.yaml +42 -0
- package/src/modules/bmm/workflows/{2-plan → 2-plan-workflows}/gdd/README.md +16 -16
- package/src/modules/bmm/workflows/2-plan-workflows/gdd/checklist.md +148 -0
- package/src/modules/bmm/workflows/{2-plan → 2-plan-workflows}/gdd/game-types/action-platformer.md +1 -1
- package/src/modules/bmm/workflows/{2-plan → 2-plan-workflows}/gdd/game-types/adventure.md +1 -1
- package/src/modules/bmm/workflows/{2-plan → 2-plan-workflows}/gdd/game-types/card-game.md +2 -2
- package/src/modules/bmm/workflows/{2-plan → 2-plan-workflows}/gdd/game-types/fighting.md +1 -1
- package/src/modules/bmm/workflows/{2-plan → 2-plan-workflows}/gdd/game-types/horror.md +2 -2
- package/src/modules/bmm/workflows/{2-plan → 2-plan-workflows}/gdd/game-types/idle-incremental.md +1 -1
- package/src/modules/bmm/workflows/{2-plan → 2-plan-workflows}/gdd/game-types/moba.md +4 -4
- package/src/modules/bmm/workflows/{2-plan → 2-plan-workflows}/gdd/game-types/party-game.md +1 -1
- package/src/modules/bmm/workflows/{2-plan → 2-plan-workflows}/gdd/game-types/racing.md +3 -3
- package/src/modules/bmm/workflows/{2-plan → 2-plan-workflows}/gdd/game-types/rhythm.md +1 -1
- package/src/modules/bmm/workflows/{2-plan → 2-plan-workflows}/gdd/game-types/roguelike.md +2 -2
- package/src/modules/bmm/workflows/{2-plan → 2-plan-workflows}/gdd/game-types/rpg.md +3 -3
- package/src/modules/bmm/workflows/{2-plan → 2-plan-workflows}/gdd/game-types/sandbox.md +4 -4
- package/src/modules/bmm/workflows/{2-plan → 2-plan-workflows}/gdd/game-types/shooter.md +3 -3
- package/src/modules/bmm/workflows/{2-plan → 2-plan-workflows}/gdd/game-types/simulation.md +3 -3
- package/src/modules/bmm/workflows/{2-plan → 2-plan-workflows}/gdd/game-types/sports.md +3 -3
- package/src/modules/bmm/workflows/{2-plan → 2-plan-workflows}/gdd/game-types/strategy.md +3 -3
- package/src/modules/bmm/workflows/{2-plan → 2-plan-workflows}/gdd/game-types/survival.md +2 -2
- package/src/modules/bmm/workflows/{2-plan → 2-plan-workflows}/gdd/game-types/text-based.md +3 -3
- package/src/modules/bmm/workflows/{2-plan → 2-plan-workflows}/gdd/game-types/tower-defense.md +5 -5
- package/src/modules/bmm/workflows/{2-plan → 2-plan-workflows}/gdd/game-types/turn-based-tactics.md +4 -4
- package/src/modules/bmm/workflows/{2-plan → 2-plan-workflows}/gdd/game-types/visual-novel.md +1 -1
- package/src/modules/bmm/workflows/{2-plan → 2-plan-workflows}/gdd/gdd-template.md +6 -12
- package/src/modules/bmm/workflows/2-plan-workflows/gdd/instructions-gdd.md +475 -0
- package/src/modules/bmm/workflows/2-plan-workflows/gdd/workflow.yaml +67 -0
- package/src/modules/bmm/workflows/2-plan-workflows/narrative/checklist.md +139 -0
- package/src/modules/bmm/workflows/{2-plan → 2-plan-workflows}/narrative/instructions-narrative.md +52 -12
- package/src/modules/bmm/workflows/{2-plan → 2-plan-workflows}/narrative/narrative-template.md +8 -8
- package/src/modules/bmm/workflows/2-plan-workflows/narrative/workflow.yaml +38 -0
- package/src/modules/bmm/workflows/2-plan-workflows/prd/checklist.md +117 -0
- package/src/modules/bmm/workflows/2-plan-workflows/prd/epics-template.md +63 -0
- package/src/modules/bmm/workflows/2-plan-workflows/prd/instructions.md +449 -0
- package/src/modules/bmm/workflows/2-plan-workflows/prd/prd-template.md +62 -0
- package/src/modules/bmm/workflows/2-plan-workflows/prd/workflow.yaml +46 -0
- package/src/modules/bmm/workflows/2-plan-workflows/tech-spec/checklist.md +107 -0
- package/src/modules/bmm/workflows/2-plan-workflows/tech-spec/epics-template.md +11 -0
- package/src/modules/bmm/workflows/2-plan-workflows/tech-spec/instructions-level0-story.md +167 -0
- package/src/modules/bmm/workflows/2-plan-workflows/tech-spec/instructions-level1-stories.md +278 -0
- package/src/modules/bmm/workflows/2-plan-workflows/tech-spec/instructions.md +269 -0
- package/src/modules/bmm/workflows/{2-plan → 2-plan-workflows}/tech-spec/tech-spec-template.md +0 -4
- package/src/modules/bmm/workflows/2-plan-workflows/tech-spec/user-story-template.md +56 -0
- package/src/modules/bmm/workflows/2-plan-workflows/tech-spec/workflow.yaml +52 -0
- package/src/modules/bmm/workflows/3-solutioning/README.md +1 -565
- package/src/modules/bmm/workflows/3-solutioning/architecture/architecture-patterns.yaml +347 -0
- package/src/modules/bmm/workflows/3-solutioning/architecture/architecture-template.md +103 -0
- package/src/modules/bmm/workflows/3-solutioning/architecture/checklist.md +244 -0
- package/src/modules/bmm/workflows/3-solutioning/architecture/decision-catalog.yaml +222 -0
- package/src/modules/bmm/workflows/3-solutioning/architecture/instructions.md +703 -0
- package/src/modules/bmm/workflows/3-solutioning/architecture/pattern-categories.csv +13 -0
- package/src/modules/bmm/workflows/3-solutioning/architecture/readme.md +318 -0
- package/src/modules/bmm/workflows/3-solutioning/architecture/workflow.yaml +54 -0
- package/src/modules/bmm/workflows/3-solutioning/solutioning-gate-check/README.md +177 -0
- package/src/modules/bmm/workflows/3-solutioning/solutioning-gate-check/checklist.md +175 -0
- package/src/modules/bmm/workflows/3-solutioning/solutioning-gate-check/instructions.md +273 -0
- package/src/modules/bmm/workflows/3-solutioning/solutioning-gate-check/template.md +146 -0
- package/src/modules/bmm/workflows/3-solutioning/solutioning-gate-check/validation-criteria.yaml +189 -0
- package/src/modules/bmm/workflows/3-solutioning/solutioning-gate-check/workflow.yaml +40 -0
- package/src/modules/bmm/workflows/4-implementation/README.md +221 -0
- package/src/modules/bmm/workflows/4-implementation/{review-story → code-review}/README.md +4 -7
- package/src/modules/bmm/workflows/4-implementation/code-review/instructions.md +391 -0
- package/src/modules/bmm/workflows/4-implementation/code-review/workflow.yaml +56 -0
- package/src/modules/bmm/workflows/4-implementation/correct-course/README.md +73 -0
- package/src/modules/bmm/workflows/4-implementation/correct-course/checklist.md +5 -5
- package/src/modules/bmm/workflows/4-implementation/correct-course/instructions.md +64 -53
- package/src/modules/bmm/workflows/4-implementation/correct-course/workflow.yaml +10 -0
- package/src/modules/bmm/workflows/4-implementation/create-story/README.md +117 -30
- package/src/modules/bmm/workflows/4-implementation/create-story/checklist.md +240 -39
- package/src/modules/bmm/workflows/4-implementation/create-story/instructions.md +193 -22
- package/src/modules/bmm/workflows/4-implementation/create-story/template.md +2 -8
- package/src/modules/bmm/workflows/4-implementation/create-story/workflow.yaml +11 -34
- package/src/modules/bmm/workflows/4-implementation/dev-story/AUDIT-REPORT.md +367 -0
- package/src/modules/bmm/workflows/4-implementation/dev-story/README.md +189 -67
- package/src/modules/bmm/workflows/4-implementation/dev-story/checklist.md +1 -1
- package/src/modules/bmm/workflows/4-implementation/dev-story/instructions.md +215 -40
- package/src/modules/bmm/workflows/4-implementation/dev-story/workflow.yaml +12 -37
- package/src/modules/bmm/workflows/{3-solutioning/tech-spec → 4-implementation/epic-tech-context}/README.md +6 -6
- package/src/modules/bmm/workflows/{3-solutioning/tech-spec → 4-implementation/epic-tech-context}/checklist.md +1 -1
- package/src/modules/bmm/workflows/4-implementation/epic-tech-context/instructions.md +160 -0
- package/src/modules/bmm/workflows/{3-solutioning/tech-spec → 4-implementation/epic-tech-context}/template.md +1 -1
- package/src/modules/bmm/workflows/4-implementation/epic-tech-context/workflow.yaml +34 -0
- package/src/modules/bmm/workflows/4-implementation/retrospective/README.md +77 -0
- package/src/modules/bmm/workflows/4-implementation/retrospective/instructions.md +236 -148
- package/src/modules/bmm/workflows/4-implementation/retrospective/workflow.yaml +8 -4
- package/src/modules/bmm/workflows/4-implementation/sprint-planning/README.md +156 -0
- package/src/modules/bmm/workflows/4-implementation/sprint-planning/checklist.md +33 -0
- package/src/modules/bmm/workflows/4-implementation/sprint-planning/instructions.md +221 -0
- package/src/modules/bmm/workflows/4-implementation/sprint-planning/sprint-status-template.yaml +55 -0
- package/src/modules/bmm/workflows/4-implementation/sprint-planning/workflow.yaml +41 -0
- package/src/modules/bmm/workflows/4-implementation/story-context/README.md +1 -1
- package/src/modules/bmm/workflows/4-implementation/story-context/instructions.md +146 -21
- package/src/modules/bmm/workflows/4-implementation/story-context/workflow.yaml +8 -32
- package/src/modules/bmm/workflows/4-implementation/story-done/instructions.md +111 -0
- package/src/modules/bmm/workflows/4-implementation/story-done/workflow.yaml +27 -0
- package/src/modules/bmm/workflows/4-implementation/story-ready/instructions.md +117 -0
- package/src/modules/bmm/workflows/4-implementation/story-ready/workflow.yaml +27 -0
- package/src/modules/bmm/workflows/README.md +577 -0
- package/src/modules/bmm/workflows/document-project/README.md +444 -0
- package/src/modules/bmm/workflows/document-project/checklist.md +245 -0
- package/src/modules/bmm/workflows/document-project/documentation-requirements.csv +12 -0
- package/src/modules/bmm/workflows/document-project/instructions.md +222 -0
- package/src/modules/bmm/workflows/document-project/templates/README.md +38 -0
- package/src/modules/bmm/workflows/document-project/templates/deep-dive-template.md +345 -0
- package/src/modules/bmm/workflows/document-project/templates/index-template.md +169 -0
- package/src/modules/bmm/workflows/document-project/templates/project-overview-template.md +103 -0
- package/src/modules/bmm/workflows/document-project/templates/project-scan-report-schema.json +160 -0
- package/src/modules/bmm/workflows/document-project/templates/source-tree-template.md +135 -0
- package/src/modules/bmm/workflows/document-project/workflow.yaml +36 -0
- package/src/modules/bmm/workflows/document-project/workflows/deep-dive-instructions.md +298 -0
- package/src/modules/bmm/workflows/document-project/workflows/deep-dive.yaml +31 -0
- package/src/modules/bmm/workflows/document-project/workflows/full-scan-instructions.md +1106 -0
- package/src/modules/bmm/workflows/document-project/workflows/full-scan.yaml +31 -0
- package/src/modules/bmm/workflows/testarch/README.md +26 -0
- package/src/modules/bmm/workflows/testarch/atdd/README.md +672 -0
- package/src/modules/bmm/workflows/testarch/atdd/atdd-checklist-template.md +363 -0
- package/src/modules/bmm/workflows/testarch/atdd/checklist.md +373 -0
- package/src/modules/bmm/workflows/testarch/atdd/instructions.md +785 -0
- package/src/modules/bmm/workflows/testarch/atdd/workflow.yaml +54 -0
- package/src/modules/bmm/workflows/testarch/automate/README.md +869 -0
- package/src/modules/bmm/workflows/testarch/automate/checklist.md +580 -0
- package/src/modules/bmm/workflows/testarch/automate/instructions.md +1303 -0
- package/src/modules/bmm/workflows/testarch/automate/workflow.yaml +63 -0
- package/src/modules/bmm/workflows/testarch/ci/README.md +493 -0
- package/src/modules/bmm/workflows/testarch/ci/checklist.md +246 -0
- package/src/modules/bmm/workflows/testarch/ci/github-actions-template.yaml +165 -0
- package/src/modules/bmm/workflows/testarch/ci/gitlab-ci-template.yaml +128 -0
- package/src/modules/bmm/workflows/testarch/ci/instructions.md +517 -0
- package/src/modules/bmm/workflows/testarch/ci/workflow.yaml +55 -0
- package/src/modules/bmm/workflows/testarch/framework/README.md +340 -0
- package/src/modules/bmm/workflows/testarch/framework/checklist.md +321 -0
- package/src/modules/bmm/workflows/testarch/framework/instructions.md +455 -0
- package/src/modules/bmm/workflows/testarch/framework/workflow.yaml +55 -0
- package/src/modules/bmm/workflows/testarch/nfr-assess/README.md +469 -0
- package/src/modules/bmm/workflows/testarch/nfr-assess/checklist.md +405 -0
- package/src/modules/bmm/workflows/testarch/nfr-assess/instructions.md +722 -0
- package/src/modules/bmm/workflows/testarch/nfr-assess/nfr-report-template.md +443 -0
- package/src/modules/bmm/workflows/testarch/nfr-assess/workflow.yaml +58 -0
- package/src/modules/bmm/workflows/testarch/test-design/README.md +493 -0
- package/src/modules/bmm/workflows/testarch/test-design/checklist.md +234 -0
- package/src/modules/bmm/workflows/testarch/test-design/instructions.md +621 -0
- package/src/modules/bmm/workflows/testarch/test-design/test-design-template.md +285 -0
- package/src/modules/bmm/workflows/testarch/test-design/workflow.yaml +54 -0
- package/src/modules/bmm/workflows/testarch/test-review/README.md +775 -0
- package/src/modules/bmm/workflows/testarch/test-review/checklist.md +470 -0
- package/src/modules/bmm/workflows/testarch/test-review/instructions.md +608 -0
- package/src/modules/bmm/workflows/testarch/test-review/test-review-template.md +388 -0
- package/src/modules/bmm/workflows/testarch/test-review/workflow.yaml +55 -0
- package/src/modules/bmm/workflows/testarch/trace/README.md +802 -0
- package/src/modules/bmm/workflows/testarch/trace/checklist.md +654 -0
- package/src/modules/bmm/workflows/testarch/trace/instructions.md +1045 -0
- package/src/modules/bmm/workflows/testarch/trace/trace-template.md +673 -0
- package/src/modules/bmm/workflows/testarch/trace/workflow.yaml +68 -0
- package/src/modules/bmm/workflows/workflow-status/README.md +241 -0
- package/src/modules/bmm/workflows/workflow-status/init/instructions.md +297 -0
- package/src/modules/bmm/workflows/workflow-status/init/workflow.yaml +28 -0
- package/src/modules/bmm/workflows/workflow-status/instructions.md +324 -0
- package/src/modules/bmm/workflows/workflow-status/paths/brownfield-level-0.yaml +54 -0
- package/src/modules/bmm/workflows/workflow-status/paths/brownfield-level-1.yaml +58 -0
- package/src/modules/bmm/workflows/workflow-status/paths/brownfield-level-2.yaml +76 -0
- package/src/modules/bmm/workflows/workflow-status/paths/brownfield-level-3.yaml +95 -0
- package/src/modules/bmm/workflows/workflow-status/paths/brownfield-level-4.yaml +88 -0
- package/src/modules/bmm/workflows/workflow-status/paths/game-design.yaml +75 -0
- package/src/modules/bmm/workflows/workflow-status/paths/greenfield-level-0.yaml +45 -0
- package/src/modules/bmm/workflows/workflow-status/paths/greenfield-level-1.yaml +49 -0
- package/src/modules/bmm/workflows/workflow-status/paths/greenfield-level-2.yaml +78 -0
- package/src/modules/bmm/workflows/workflow-status/paths/greenfield-level-3.yaml +73 -0
- package/src/modules/bmm/workflows/workflow-status/paths/greenfield-level-4.yaml +75 -0
- package/src/modules/bmm/workflows/workflow-status/project-levels.yaml +59 -0
- package/src/modules/bmm/workflows/workflow-status/workflow-status-template.md +30 -0
- package/src/modules/bmm/workflows/workflow-status/workflow.yaml +30 -0
- package/src/modules/cis/_module-installer/installer.js +1 -1
- package/src/modules/cis/agents/brainstorming-coach.agent.yaml +23 -0
- package/src/modules/cis/agents/creative-problem-solver.agent.yaml +23 -0
- package/src/modules/cis/agents/design-thinking-coach.agent.yaml +23 -0
- package/src/modules/cis/agents/innovation-strategist.agent.yaml +23 -0
- package/src/modules/cis/agents/storyteller.agent.yaml +23 -0
- package/src/modules/cis/workflows/design-thinking/design-methods.csv +1 -1
- package/src/modules/cis/workflows/design-thinking/instructions.md +1 -1
- package/src/modules/cis/workflows/design-thinking/workflow.yaml +14 -0
- package/src/modules/cis/workflows/innovation-strategy/innovation-frameworks.csv +2 -2
- package/src/modules/cis/workflows/innovation-strategy/instructions.md +1 -1
- package/src/modules/cis/workflows/innovation-strategy/template.md +4 -4
- package/src/modules/cis/workflows/innovation-strategy/workflow.yaml +14 -0
- package/src/modules/cis/workflows/problem-solving/instructions.md +1 -1
- package/src/modules/cis/workflows/problem-solving/solving-methods.csv +6 -6
- package/src/modules/cis/workflows/problem-solving/template.md +3 -3
- package/src/modules/cis/workflows/problem-solving/workflow.yaml +14 -0
- package/src/modules/cis/workflows/storytelling/instructions.md +35 -27
- package/src/modules/cis/workflows/storytelling/template.md +2 -2
- package/src/modules/cis/workflows/storytelling/workflow.yaml +14 -0
- package/src/utility/models/agent-activation-ide.xml +3 -3
- package/src/utility/models/agent-activation-web.xml +60 -0
- package/src/utility/models/agent-in-team-activation.xml +3 -0
- package/src/utility/models/fragments/activation-rules.xml +8 -0
- package/src/utility/models/fragments/activation-steps.xml +15 -0
- package/src/utility/models/fragments/handler-action.xml +4 -0
- package/src/utility/models/fragments/handler-data.xml +5 -0
- package/src/utility/models/fragments/handler-exec.xml +5 -0
- package/src/utility/models/fragments/handler-tmpl.xml +5 -0
- package/src/utility/models/fragments/handler-validate-workflow.xml +7 -0
- package/src/utility/models/fragments/handler-workflow.xml +9 -0
- package/src/utility/models/fragments/menu-handlers.xml +6 -0
- package/src/utility/models/fragments/web-bundle-activation-steps.xml +32 -0
- package/src/utility/templates/agent.customize.template.yaml +42 -0
- package/test/README.md +295 -0
- package/test/fixtures/agent-schema/invalid/critical-actions/actions-as-string.agent.yaml +26 -0
- package/test/fixtures/agent-schema/invalid/critical-actions/empty-string-in-actions.agent.yaml +29 -0
- package/test/fixtures/agent-schema/invalid/menu/empty-menu.agent.yaml +21 -0
- package/test/fixtures/agent-schema/invalid/menu/missing-menu.agent.yaml +19 -0
- package/test/fixtures/agent-schema/invalid/menu-commands/empty-command-target.agent.yaml +24 -0
- package/test/fixtures/agent-schema/invalid/menu-commands/no-command-target.agent.yaml +23 -0
- package/test/fixtures/agent-schema/invalid/menu-triggers/camel-case.agent.yaml +24 -0
- package/test/fixtures/agent-schema/invalid/menu-triggers/duplicate-triggers.agent.yaml +30 -0
- package/test/fixtures/agent-schema/invalid/menu-triggers/empty-trigger.agent.yaml +24 -0
- package/test/fixtures/agent-schema/invalid/menu-triggers/leading-asterisk.agent.yaml +24 -0
- package/test/fixtures/agent-schema/invalid/menu-triggers/snake-case.agent.yaml +24 -0
- package/test/fixtures/agent-schema/invalid/menu-triggers/trigger-with-spaces.agent.yaml +24 -0
- package/test/fixtures/agent-schema/invalid/metadata/core-agent-with-module.agent.yaml +26 -0
- package/test/fixtures/agent-schema/invalid/metadata/empty-module-string.agent.yaml +26 -0
- package/test/fixtures/agent-schema/invalid/metadata/empty-name.agent.yaml +24 -0
- package/test/fixtures/agent-schema/invalid/metadata/extra-metadata-fields.agent.yaml +26 -0
- package/test/fixtures/agent-schema/invalid/metadata/missing-id.agent.yaml +23 -0
- package/test/fixtures/agent-schema/invalid/metadata/module-agent-missing-module.agent.yaml +25 -0
- package/test/fixtures/agent-schema/invalid/metadata/wrong-module-value.agent.yaml +26 -0
- package/test/fixtures/agent-schema/invalid/persona/empty-principles-array.agent.yaml +23 -0
- package/test/fixtures/agent-schema/invalid/persona/empty-string-in-principles.agent.yaml +26 -0
- package/test/fixtures/agent-schema/invalid/persona/extra-persona-fields.agent.yaml +26 -0
- package/test/fixtures/agent-schema/invalid/persona/missing-role.agent.yaml +23 -0
- package/test/fixtures/agent-schema/invalid/persona/principles-as-string.agent.yaml +23 -0
- package/test/fixtures/agent-schema/invalid/prompts/empty-content.agent.yaml +28 -0
- package/test/fixtures/agent-schema/invalid/prompts/extra-prompt-fields.agent.yaml +30 -0
- package/test/fixtures/agent-schema/invalid/prompts/missing-content.agent.yaml +27 -0
- package/test/fixtures/agent-schema/invalid/prompts/missing-id.agent.yaml +27 -0
- package/test/fixtures/agent-schema/invalid/top-level/empty-file.agent.yaml +5 -0
- package/test/fixtures/agent-schema/invalid/top-level/extra-top-level-keys.agent.yaml +27 -0
- package/test/fixtures/agent-schema/invalid/top-level/missing-agent-key.agent.yaml +11 -0
- package/test/fixtures/agent-schema/invalid/yaml-errors/invalid-indentation.agent.yaml +19 -0
- package/test/fixtures/agent-schema/invalid/yaml-errors/malformed-yaml.agent.yaml +18 -0
- package/test/fixtures/agent-schema/valid/critical-actions/empty-critical-actions.agent.yaml +23 -0
- package/test/fixtures/agent-schema/valid/critical-actions/no-critical-actions.agent.yaml +21 -0
- package/test/fixtures/agent-schema/valid/critical-actions/valid-critical-actions.agent.yaml +26 -0
- package/test/fixtures/agent-schema/valid/menu/multiple-menu-items.agent.yaml +30 -0
- package/test/fixtures/agent-schema/valid/menu/single-menu-item.agent.yaml +21 -0
- package/test/fixtures/agent-schema/valid/menu-commands/all-command-types.agent.yaml +39 -0
- package/test/fixtures/agent-schema/valid/menu-commands/multiple-commands.agent.yaml +23 -0
- package/test/fixtures/agent-schema/valid/menu-triggers/kebab-case-triggers.agent.yaml +33 -0
- package/test/fixtures/agent-schema/valid/metadata/empty-module-name-in-path.agent.yaml +23 -0
- package/test/fixtures/agent-schema/valid/metadata/malformed-path-treated-as-core.agent.yaml +23 -0
- package/test/fixtures/agent-schema/valid/metadata/module-agent-correct.agent.yaml +23 -0
- package/test/fixtures/agent-schema/valid/persona/complete-persona.agent.yaml +23 -0
- package/test/fixtures/agent-schema/valid/prompts/empty-prompts.agent.yaml +23 -0
- package/test/fixtures/agent-schema/valid/prompts/no-prompts.agent.yaml +21 -0
- package/test/fixtures/agent-schema/valid/prompts/valid-prompts-minimal.agent.yaml +27 -0
- package/test/fixtures/agent-schema/valid/prompts/valid-prompts-with-description.agent.yaml +29 -0
- package/test/fixtures/agent-schema/valid/top-level/minimal-core-agent.agent.yaml +23 -0
- package/test/test-agent-schema.js +387 -0
- package/test/test-cli-integration.sh +159 -0
- package/test/unit-test-schema.js +133 -0
- package/tools/bmad-npx-wrapper.js +38 -0
- package/tools/cli/README.md +590 -0
- package/tools/cli/bmad-cli.js +0 -2
- package/tools/cli/bundlers/bundle-web.js +24 -2
- package/tools/cli/bundlers/test-bundler.js +1 -1
- package/tools/cli/bundlers/web-bundler.js +639 -40
- package/tools/cli/commands/build.js +458 -0
- package/tools/cli/commands/install.js +49 -8
- package/tools/cli/installers/lib/core/config-collector.js +222 -15
- package/tools/cli/installers/lib/core/dependency-resolver.js +5 -1
- package/tools/cli/installers/lib/core/detector.js +80 -14
- package/tools/cli/installers/lib/core/ide-config-manager.js +152 -0
- package/tools/cli/installers/lib/core/installer.js +1175 -150
- package/tools/cli/installers/lib/core/manifest-generator.js +454 -63
- package/tools/cli/installers/lib/core/manifest.js +95 -43
- package/tools/cli/installers/lib/ide/_base-ide.js +311 -20
- package/tools/cli/installers/lib/ide/auggie.js +92 -27
- package/tools/cli/installers/lib/ide/claude-code.js +132 -308
- package/tools/cli/installers/lib/ide/cline.js +149 -227
- package/tools/cli/installers/lib/ide/codex.js +141 -174
- package/tools/cli/installers/lib/ide/crush.js +109 -37
- package/tools/cli/installers/lib/ide/cursor.js +81 -13
- package/tools/cli/installers/lib/ide/gemini.js +24 -28
- package/tools/cli/installers/lib/ide/github-copilot.js +15 -14
- package/tools/cli/installers/lib/ide/manager.js +26 -35
- package/tools/cli/installers/lib/ide/opencode.js +213 -0
- package/tools/cli/installers/lib/ide/qwen.js +172 -70
- package/tools/cli/installers/lib/ide/shared/bmad-artifacts.js +143 -0
- package/tools/cli/installers/lib/ide/shared/module-injections.js +133 -0
- package/tools/cli/installers/lib/ide/task-tool-command-generator.js +119 -0
- package/tools/cli/installers/lib/ide/trae.js +120 -24
- package/tools/cli/installers/lib/ide/windsurf.js +88 -36
- package/tools/cli/installers/lib/ide/workflow-command-generator.js +119 -46
- package/tools/cli/installers/lib/ide/workflow-command-template.md +7 -3
- package/tools/cli/installers/lib/modules/manager.js +123 -7
- package/tools/cli/lib/activation-builder.js +168 -0
- package/tools/cli/lib/agent-analyzer.js +81 -0
- package/tools/cli/lib/agent-party-generator.js +3 -3
- package/tools/cli/lib/ui.js +78 -3
- package/tools/cli/lib/xml-handler.js +46 -1
- package/tools/cli/lib/yaml-xml-builder.js +439 -0
- package/tools/cli/regenerate-manifests.js +1 -1
- package/tools/cli/test-yaml-builder.js +43 -0
- package/tools/format-workflow-md.js +263 -0
- package/tools/platform-codes.yaml +6 -0
- package/tools/schema/agent.js +231 -0
- package/tools/validate-agent-schema.js +110 -0
- package/v6-open-items.md +23 -0
- package/docs/codebase-flattener.md +0 -19
- package/readme.md +0 -216
- package/src/core/agents/bmad-master.md +0 -27
- package/src/core/agents/bmad-web-orchestrator.md +0 -71
- package/src/core/tasks/shard-doc.md +0 -57
- package/src/core/workflows/bmad-init/instructions.md +0 -79
- package/src/core/workflows/bmad-init/workflow.yaml +0 -24
- package/src/modules/bmb/_module-installer/install-menu-config.yaml +0 -16
- package/src/modules/bmb/agents/bmad-builder.md +0 -30
- package/src/modules/bmb/workflows/create-module/installer-templates/install-module-config.yaml +0 -132
- package/src/modules/bmm/_module-installer/install-menu-config.yaml +0 -49
- package/src/modules/bmm/agents/analyst.md +0 -26
- package/src/modules/bmm/agents/architect.md +0 -29
- package/src/modules/bmm/agents/dev.md +0 -61
- package/src/modules/bmm/agents/game-architect.md +0 -26
- package/src/modules/bmm/agents/game-designer.md +0 -27
- package/src/modules/bmm/agents/game-dev.md +0 -28
- package/src/modules/bmm/agents/pm.md +0 -26
- package/src/modules/bmm/agents/po.md +0 -25
- package/src/modules/bmm/agents/sm.md +0 -29
- package/src/modules/bmm/agents/tea.md +0 -32
- package/src/modules/bmm/agents/ux-expert.md +0 -24
- package/src/modules/bmm/teams/team-all.yaml +0 -7
- package/src/modules/bmm/teams/team-dev.yaml +0 -14
- package/src/modules/bmm/testarch/atdd.md +0 -40
- package/src/modules/bmm/testarch/automate.md +0 -38
- package/src/modules/bmm/testarch/ci.md +0 -39
- package/src/modules/bmm/testarch/framework.md +0 -41
- package/src/modules/bmm/testarch/nfr-assess.md +0 -38
- package/src/modules/bmm/testarch/risk-profile.md +0 -38
- package/src/modules/bmm/testarch/tea-commands.csv +0 -11
- package/src/modules/bmm/testarch/tea-gate.md +0 -38
- package/src/modules/bmm/testarch/tea-knowledge.md +0 -275
- package/src/modules/bmm/testarch/test-design.md +0 -39
- package/src/modules/bmm/testarch/test-levels-framework.md +0 -148
- package/src/modules/bmm/testarch/test-priorities-matrix.md +0 -174
- package/src/modules/bmm/testarch/trace-requirements.md +0 -38
- package/src/modules/bmm/workflows/2-plan/README.md +0 -203
- package/src/modules/bmm/workflows/2-plan/checklist.md +0 -369
- package/src/modules/bmm/workflows/2-plan/gdd/instructions-gdd.md +0 -480
- package/src/modules/bmm/workflows/2-plan/instructions-router.md +0 -222
- package/src/modules/bmm/workflows/2-plan/prd/analysis-template.md +0 -53
- package/src/modules/bmm/workflows/2-plan/prd/epics-template.md +0 -18
- package/src/modules/bmm/workflows/2-plan/prd/instructions-lg.md +0 -267
- package/src/modules/bmm/workflows/2-plan/prd/instructions-med.md +0 -251
- package/src/modules/bmm/workflows/2-plan/prd/prd-template.md +0 -73
- package/src/modules/bmm/workflows/2-plan/tech-spec/instructions-sm.md +0 -137
- package/src/modules/bmm/workflows/2-plan/ux/instructions-ux.md +0 -360
- package/src/modules/bmm/workflows/2-plan/ux/ux-spec-template.md +0 -162
- package/src/modules/bmm/workflows/2-plan/workflow.yaml +0 -60
- package/src/modules/bmm/workflows/3-solutioning/ADR-template.md +0 -74
- package/src/modules/bmm/workflows/3-solutioning/checklist.md +0 -170
- package/src/modules/bmm/workflows/3-solutioning/instructions.md +0 -661
- package/src/modules/bmm/workflows/3-solutioning/project-types/backend-questions.md +0 -490
- package/src/modules/bmm/workflows/3-solutioning/project-types/cli-questions.md +0 -337
- package/src/modules/bmm/workflows/3-solutioning/project-types/data-questions.md +0 -472
- package/src/modules/bmm/workflows/3-solutioning/project-types/desktop-questions.md +0 -299
- package/src/modules/bmm/workflows/3-solutioning/project-types/embedded-questions.md +0 -118
- package/src/modules/bmm/workflows/3-solutioning/project-types/extension-questions.md +0 -374
- package/src/modules/bmm/workflows/3-solutioning/project-types/game-questions.md +0 -133
- package/src/modules/bmm/workflows/3-solutioning/project-types/infra-questions.md +0 -484
- package/src/modules/bmm/workflows/3-solutioning/project-types/library-questions.md +0 -146
- package/src/modules/bmm/workflows/3-solutioning/project-types/mobile-questions.md +0 -110
- package/src/modules/bmm/workflows/3-solutioning/project-types/project-types.csv +0 -12
- package/src/modules/bmm/workflows/3-solutioning/project-types/web-questions.md +0 -136
- package/src/modules/bmm/workflows/3-solutioning/tech-spec/instructions.md +0 -73
- package/src/modules/bmm/workflows/3-solutioning/tech-spec/workflow.yaml +0 -51
- package/src/modules/bmm/workflows/3-solutioning/templates/backend-service-architecture.md +0 -66
- package/src/modules/bmm/workflows/3-solutioning/templates/cli-tool-architecture.md +0 -66
- package/src/modules/bmm/workflows/3-solutioning/templates/data-pipeline-architecture.md +0 -66
- package/src/modules/bmm/workflows/3-solutioning/templates/desktop-app-architecture.md +0 -66
- package/src/modules/bmm/workflows/3-solutioning/templates/embedded-firmware-architecture.md +0 -66
- package/src/modules/bmm/workflows/3-solutioning/templates/game-engine-architecture.md +0 -244
- package/src/modules/bmm/workflows/3-solutioning/templates/game-engine-godot-guide.md +0 -428
- package/src/modules/bmm/workflows/3-solutioning/templates/game-engine-unity-guide.md +0 -333
- package/src/modules/bmm/workflows/3-solutioning/templates/game-engine-web-guide.md +0 -528
- package/src/modules/bmm/workflows/3-solutioning/templates/infrastructure-architecture.md +0 -66
- package/src/modules/bmm/workflows/3-solutioning/templates/library-package-architecture.md +0 -66
- package/src/modules/bmm/workflows/3-solutioning/templates/mobile-app-architecture.md +0 -66
- package/src/modules/bmm/workflows/3-solutioning/templates/registry.csv +0 -172
- package/src/modules/bmm/workflows/3-solutioning/templates/web-api-architecture.md +0 -66
- package/src/modules/bmm/workflows/3-solutioning/templates/web-fullstack-architecture.md +0 -277
- package/src/modules/bmm/workflows/3-solutioning/workflow.yaml +0 -65
- package/src/modules/bmm/workflows/4-implementation/review-story/instructions.md +0 -176
- package/src/modules/bmm/workflows/4-implementation/review-story/workflow.yaml +0 -99
- package/src/modules/cis/agents/brainstorming-coach.md +0 -24
- package/src/modules/cis/agents/creative-problem-solver.md +0 -24
- package/src/modules/cis/agents/design-thinking-coach.md +0 -24
- package/src/modules/cis/agents/innovation-strategist.md +0 -24
- package/src/modules/cis/agents/storyteller.md +0 -24
- package/tools/test-agents/captain-kirk-commander.md +0 -110
- package/tools/test-agents/data-operations-android.md +0 -123
- package/tools/test-agents/geordi-chief-engineer.md +0 -135
- package/tools/test-agents/isabella-martinez-ethicist.md +0 -109
- package/tools/test-agents/marcus-thompson-security.md +0 -109
- package/tools/test-agents/maya-patel-pragmatist.md +0 -82
- package/tools/test-agents/picard-diplomat-captain.md +0 -134
- package/tools/test-agents/spock-science-officer.md +0 -124
- package/tools/test-agents/william-smithers-technocrat.md +0 -71
- package/tools/test-agents/zara-chen-designer.md +0 -94
- /package/{src/modules/cis → bmad/core}/workflows/brainstorming/brain-methods.csv +0 -0
- /package/src/modules/bmm/_module-installer/assets/{technical-decisions-template.md → technical-decisions.md} +0 -0
- /package/src/modules/bmm/sub-modules/claude-code/sub-agents/{requirements-analyst.md → bmad-planning/requirements-analyst.md} +0 -0
- /package/src/modules/bmm/workflows/{2-plan → 2-plan-workflows}/gdd/game-types/metroidvania.md +0 -0
- /package/src/modules/bmm/workflows/{2-plan → 2-plan-workflows}/gdd/game-types/puzzle.md +0 -0
- /package/src/modules/bmm/workflows/{2-plan → 2-plan-workflows}/gdd/game-types.csv +0 -0
- /package/src/modules/bmm/workflows/4-implementation/{review-story → code-review}/backlog_template.md +0 -0
- /package/src/modules/bmm/workflows/4-implementation/{review-story → code-review}/checklist.md +0 -0
- /package/src/modules/cis/_module-installer/{install-menu-config.yaml → install-config.yaml} +0 -0
|
@@ -0,0 +1,511 @@
|
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
#
|
|
3
|
+
# File: .claude/hooks/bmad-voice-manager.sh
|
|
4
|
+
#
|
|
5
|
+
# AgentVibes - Finally, your AI Agents can Talk Back! Text-to-Speech WITH personality for AI Assistants!
|
|
6
|
+
# Website: https://agentvibes.org
|
|
7
|
+
# Repository: https://github.com/paulpreibisch/AgentVibes
|
|
8
|
+
#
|
|
9
|
+
# Co-created by Paul Preibisch with Claude AI
|
|
10
|
+
# Copyright (c) 2025 Paul Preibisch
|
|
11
|
+
#
|
|
12
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
13
|
+
# you may not use this file except in compliance with the License.
|
|
14
|
+
# You may obtain a copy of the License at
|
|
15
|
+
#
|
|
16
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
17
|
+
#
|
|
18
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
19
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
20
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
21
|
+
# See the License for the specific language governing permissions and
|
|
22
|
+
# limitations under the License.
|
|
23
|
+
#
|
|
24
|
+
# DISCLAIMER: This software is provided "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
|
25
|
+
# express or implied, including but not limited to the warranties of
|
|
26
|
+
# merchantability, fitness for a particular purpose and noninfringement.
|
|
27
|
+
# In no event shall the authors or copyright holders be liable for any claim,
|
|
28
|
+
# damages or other liability, whether in an action of contract, tort or
|
|
29
|
+
# otherwise, arising from, out of or in connection with the software or the
|
|
30
|
+
# use or other dealings in the software.
|
|
31
|
+
#
|
|
32
|
+
# ---
|
|
33
|
+
#
|
|
34
|
+
# @fileoverview BMAD Voice Plugin Manager - Maps BMAD agents to unique TTS voices
|
|
35
|
+
# @context Enables each BMAD agent to have its own distinct voice for multi-agent sessions
|
|
36
|
+
# @architecture Markdown table-based voice mapping with enable/disable flag, auto-detection of BMAD
|
|
37
|
+
# @dependencies .claude/plugins/bmad-voices.md (voice mappings), bmad-tts-injector.sh, .bmad-core/ (BMAD installation)
|
|
38
|
+
# @entrypoints Called by /agent-vibes:bmad commands, auto-enabled on BMAD detection
|
|
39
|
+
# @patterns Plugin architecture, auto-enable on dependency detection, state backup/restore on toggle
|
|
40
|
+
# @related bmad-tts-injector.sh, .claude/plugins/bmad-voices.md, .bmad-agent-context file
|
|
41
|
+
|
|
42
|
+
PLUGIN_DIR=".claude/plugins"
|
|
43
|
+
PLUGIN_FILE="$PLUGIN_DIR/bmad-voices.md"
|
|
44
|
+
ENABLED_FLAG="$PLUGIN_DIR/bmad-voices-enabled.flag"
|
|
45
|
+
|
|
46
|
+
# AI NOTE: Auto-enable pattern - When BMAD is detected via .bmad-core/install-manifest.yaml,
|
|
47
|
+
# automatically enable the voice plugin to provide seamless multi-agent voice support.
|
|
48
|
+
# This avoids requiring manual plugin activation after BMAD installation.
|
|
49
|
+
|
|
50
|
+
# @function auto_enable_if_bmad_detected
|
|
51
|
+
# @intent Automatically enable BMAD voice plugin when BMAD framework is detected
|
|
52
|
+
# @why Provide seamless integration - users shouldn't need to manually enable voice mapping
|
|
53
|
+
# @param None
|
|
54
|
+
# @returns None
|
|
55
|
+
# @exitcode 0=auto-enabled, 1=not enabled (already enabled or BMAD not detected)
|
|
56
|
+
# @sideeffects Creates enabled flag file, creates plugin directory
|
|
57
|
+
# @edgecases Only auto-enables if plugin not already enabled, silent operation
|
|
58
|
+
# @calledby get_agent_voice
|
|
59
|
+
# @calls mkdir, touch
|
|
60
|
+
auto_enable_if_bmad_detected() {
|
|
61
|
+
# Check if BMAD is installed
|
|
62
|
+
if [[ -f ".bmad-core/install-manifest.yaml" ]] && [[ ! -f "$ENABLED_FLAG" ]]; then
|
|
63
|
+
# BMAD detected but plugin not enabled - enable it silently
|
|
64
|
+
mkdir -p "$PLUGIN_DIR"
|
|
65
|
+
touch "$ENABLED_FLAG"
|
|
66
|
+
return 0
|
|
67
|
+
fi
|
|
68
|
+
return 1
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
# @function get_agent_voice
|
|
72
|
+
# @intent Retrieve TTS voice assigned to specific BMAD agent
|
|
73
|
+
# @why Each BMAD agent needs unique voice for multi-agent conversation differentiation
|
|
74
|
+
# @param $1 {string} agent_id - BMAD agent identifier (pm, dev, qa, architect, etc.)
|
|
75
|
+
# @returns Echoes voice name to stdout, empty string if plugin disabled or agent not found
|
|
76
|
+
# @exitcode Always 0
|
|
77
|
+
# @sideeffects May auto-enable plugin if BMAD detected
|
|
78
|
+
# @edgecases Returns empty string if plugin disabled/missing, parses markdown table syntax
|
|
79
|
+
# @calledby bmad-tts-injector.sh, play-tts.sh when BMAD agent is active
|
|
80
|
+
# @calls auto_enable_if_bmad_detected, grep, awk, sed
|
|
81
|
+
get_agent_voice() {
|
|
82
|
+
local agent_id="$1"
|
|
83
|
+
|
|
84
|
+
# Auto-enable if BMAD is detected
|
|
85
|
+
auto_enable_if_bmad_detected
|
|
86
|
+
|
|
87
|
+
if [[ ! -f "$ENABLED_FLAG" ]]; then
|
|
88
|
+
echo "" # Plugin disabled
|
|
89
|
+
return
|
|
90
|
+
fi
|
|
91
|
+
|
|
92
|
+
if [[ ! -f "$PLUGIN_FILE" ]]; then
|
|
93
|
+
echo "" # Plugin file missing
|
|
94
|
+
return
|
|
95
|
+
fi
|
|
96
|
+
|
|
97
|
+
# Extract voice from markdown table
|
|
98
|
+
local voice=$(grep "^| $agent_id " "$PLUGIN_FILE" | \
|
|
99
|
+
awk -F'|' '{print $4}' | \
|
|
100
|
+
sed 's/^[[:space:]]*//;s/[[:space:]]*$//')
|
|
101
|
+
|
|
102
|
+
echo "$voice"
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
# @function get_agent_personality
|
|
106
|
+
# @intent Retrieve TTS personality assigned to specific BMAD agent
|
|
107
|
+
# @why Agents may have distinct speaking styles (friendly, professional, energetic, etc.)
|
|
108
|
+
# @param $1 {string} agent_id - BMAD agent identifier
|
|
109
|
+
# @returns Echoes personality name to stdout, empty string if not found
|
|
110
|
+
# @exitcode Always 0
|
|
111
|
+
# @sideeffects None
|
|
112
|
+
# @edgecases Returns empty string if plugin file missing, parses column 5 of markdown table
|
|
113
|
+
# @calledby bmad-tts-injector.sh for personality-aware voice synthesis
|
|
114
|
+
# @calls grep, awk, sed
|
|
115
|
+
get_agent_personality() {
|
|
116
|
+
local agent_id="$1"
|
|
117
|
+
|
|
118
|
+
if [[ ! -f "$PLUGIN_FILE" ]]; then
|
|
119
|
+
echo ""
|
|
120
|
+
return
|
|
121
|
+
fi
|
|
122
|
+
|
|
123
|
+
local personality=$(grep "^| $agent_id " "$PLUGIN_FILE" | \
|
|
124
|
+
awk -F'|' '{print $5}' | \
|
|
125
|
+
sed 's/^[[:space:]]*//;s/[[:space:]]*$//')
|
|
126
|
+
|
|
127
|
+
echo "$personality"
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
# @function is_plugin_enabled
|
|
131
|
+
# @intent Check if BMAD voice plugin is currently enabled
|
|
132
|
+
# @why Allow conditional logic based on plugin state
|
|
133
|
+
# @param None
|
|
134
|
+
# @returns Echoes "true" or "false" to stdout
|
|
135
|
+
# @exitcode Always 0
|
|
136
|
+
# @sideeffects None
|
|
137
|
+
# @edgecases None
|
|
138
|
+
# @calledby show_status, enable_plugin, disable_plugin
|
|
139
|
+
# @calls None (file existence check)
|
|
140
|
+
is_plugin_enabled() {
|
|
141
|
+
[[ -f "$ENABLED_FLAG" ]] && echo "true" || echo "false"
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
# @function enable_plugin
|
|
145
|
+
# @intent Enable BMAD voice plugin and backup current voice settings
|
|
146
|
+
# @why Allow users to switch to per-agent voices while preserving original configuration
|
|
147
|
+
# @param None
|
|
148
|
+
# @returns None
|
|
149
|
+
# @exitcode Always 0
|
|
150
|
+
# @sideeffects Creates flag file, backs up current voice/personality/sentiment to .bmad-previous-settings
|
|
151
|
+
# @sideeffects Creates activation-instructions file for BMAD agents, calls bmad-tts-injector.sh
|
|
152
|
+
# @edgecases Handles missing settings files gracefully with defaults
|
|
153
|
+
# @calledby Main command dispatcher with "enable" argument
|
|
154
|
+
# @calls mkdir, cat, source, list_mappings, bmad-tts-injector.sh
|
|
155
|
+
enable_plugin() {
|
|
156
|
+
mkdir -p "$PLUGIN_DIR"
|
|
157
|
+
|
|
158
|
+
# Save current settings before enabling
|
|
159
|
+
BACKUP_FILE="$PLUGIN_DIR/.bmad-previous-settings"
|
|
160
|
+
|
|
161
|
+
# Save current voice
|
|
162
|
+
if [[ -f ".claude/tts-voice.txt" ]]; then
|
|
163
|
+
CURRENT_VOICE=$(cat .claude/tts-voice.txt 2>/dev/null)
|
|
164
|
+
elif [[ -f "$HOME/.claude/tts-voice.txt" ]]; then
|
|
165
|
+
CURRENT_VOICE=$(cat "$HOME/.claude/tts-voice.txt" 2>/dev/null)
|
|
166
|
+
else
|
|
167
|
+
CURRENT_VOICE="Aria"
|
|
168
|
+
fi
|
|
169
|
+
|
|
170
|
+
# Save current personality
|
|
171
|
+
if [[ -f ".claude/tts-personality.txt" ]]; then
|
|
172
|
+
CURRENT_PERSONALITY=$(cat .claude/tts-personality.txt 2>/dev/null)
|
|
173
|
+
elif [[ -f "$HOME/.claude/tts-personality.txt" ]]; then
|
|
174
|
+
CURRENT_PERSONALITY=$(cat "$HOME/.claude/tts-personality.txt" 2>/dev/null)
|
|
175
|
+
else
|
|
176
|
+
CURRENT_PERSONALITY="normal"
|
|
177
|
+
fi
|
|
178
|
+
|
|
179
|
+
# Save current sentiment
|
|
180
|
+
if [[ -f ".claude/tts-sentiment.txt" ]]; then
|
|
181
|
+
CURRENT_SENTIMENT=$(cat .claude/tts-sentiment.txt 2>/dev/null)
|
|
182
|
+
elif [[ -f "$HOME/.claude/tts-sentiment.txt" ]]; then
|
|
183
|
+
CURRENT_SENTIMENT=$(cat "$HOME/.claude/tts-sentiment.txt" 2>/dev/null)
|
|
184
|
+
else
|
|
185
|
+
CURRENT_SENTIMENT=""
|
|
186
|
+
fi
|
|
187
|
+
|
|
188
|
+
# Write backup
|
|
189
|
+
cat > "$BACKUP_FILE" <<EOF
|
|
190
|
+
VOICE=$CURRENT_VOICE
|
|
191
|
+
PERSONALITY=$CURRENT_PERSONALITY
|
|
192
|
+
SENTIMENT=$CURRENT_SENTIMENT
|
|
193
|
+
EOF
|
|
194
|
+
|
|
195
|
+
touch "$ENABLED_FLAG"
|
|
196
|
+
|
|
197
|
+
# Create activation-instructions file for BMAD agents
|
|
198
|
+
ACTIVATION_FILE=".claude/activation-instructions"
|
|
199
|
+
if [[ ! -f "$ACTIVATION_FILE" ]]; then
|
|
200
|
+
cat > "$ACTIVATION_FILE" <<'ACTIVATION_EOF'
|
|
201
|
+
# BMAD Agent Activation Instructions
|
|
202
|
+
|
|
203
|
+
When a BMAD agent activates, follow these steps EXACTLY:
|
|
204
|
+
|
|
205
|
+
## STEP 3.5a: Create BMAD Context File (CRITICAL)
|
|
206
|
+
|
|
207
|
+
**IMMEDIATELY after agent identification, create the context file:**
|
|
208
|
+
|
|
209
|
+
```bash
|
|
210
|
+
echo "$AGENT_ID" > .bmad-agent-context
|
|
211
|
+
```
|
|
212
|
+
|
|
213
|
+
Where `$AGENT_ID` is one of:
|
|
214
|
+
- `pm` (Product Manager)
|
|
215
|
+
- `dev` (Developer)
|
|
216
|
+
- `qa` (QA)
|
|
217
|
+
- `architect` (Architect)
|
|
218
|
+
- `po` (Product Owner)
|
|
219
|
+
- `analyst` (Analyst)
|
|
220
|
+
- `sm` (Scrum Master)
|
|
221
|
+
- `ux-expert` (UX Expert)
|
|
222
|
+
- `bmad-master` (BMAD Master)
|
|
223
|
+
- `bmad-orchestrator` (Orchestrator)
|
|
224
|
+
|
|
225
|
+
**Example:**
|
|
226
|
+
```bash
|
|
227
|
+
# For Product Manager agent
|
|
228
|
+
echo "pm" > .bmad-agent-context
|
|
229
|
+
```
|
|
230
|
+
|
|
231
|
+
This file allows AgentVibes to:
|
|
232
|
+
1. Detect which BMAD agent is active
|
|
233
|
+
2. Look up the correct voice mapping
|
|
234
|
+
3. Automatically speak questions using the agent's assigned voice
|
|
235
|
+
|
|
236
|
+
## STEP 10: Clean Up on Exit
|
|
237
|
+
|
|
238
|
+
**Before exiting the agent, remove the context file:**
|
|
239
|
+
|
|
240
|
+
```bash
|
|
241
|
+
rm -f .bmad-agent-context
|
|
242
|
+
```
|
|
243
|
+
|
|
244
|
+
This ensures voice switching only happens when an agent is active.
|
|
245
|
+
|
|
246
|
+
## Why This Matters
|
|
247
|
+
|
|
248
|
+
Without the `.bmad-agent-context` file:
|
|
249
|
+
- AgentVibes cannot detect which agent is active
|
|
250
|
+
- Questions won't be spoken automatically
|
|
251
|
+
- Voice switching won't work
|
|
252
|
+
- The BMAD voice plugin becomes non-functional
|
|
253
|
+
|
|
254
|
+
**This is MANDATORY for BMAD voice integration to work!**
|
|
255
|
+
ACTIVATION_EOF
|
|
256
|
+
echo "📝 Created activation instructions: $ACTIVATION_FILE"
|
|
257
|
+
fi
|
|
258
|
+
|
|
259
|
+
echo "✅ BMAD voice plugin enabled"
|
|
260
|
+
echo "💾 Previous settings backed up:"
|
|
261
|
+
echo " Voice: $CURRENT_VOICE"
|
|
262
|
+
echo " Personality: $CURRENT_PERSONALITY"
|
|
263
|
+
[[ -n "$CURRENT_SENTIMENT" ]] && echo " Sentiment: $CURRENT_SENTIMENT"
|
|
264
|
+
echo ""
|
|
265
|
+
list_mappings
|
|
266
|
+
|
|
267
|
+
# Automatically inject TTS into BMAD agents
|
|
268
|
+
echo ""
|
|
269
|
+
echo "🎤 Automatically enabling TTS for BMAD agents..."
|
|
270
|
+
echo ""
|
|
271
|
+
|
|
272
|
+
# Get the directory where this script is located
|
|
273
|
+
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
274
|
+
|
|
275
|
+
# Check if bmad-tts-injector.sh exists
|
|
276
|
+
if [[ -f "$SCRIPT_DIR/bmad-tts-injector.sh" ]]; then
|
|
277
|
+
# Run the TTS injector
|
|
278
|
+
"$SCRIPT_DIR/bmad-tts-injector.sh" enable
|
|
279
|
+
else
|
|
280
|
+
echo "⚠️ TTS injector not found at: $SCRIPT_DIR/bmad-tts-injector.sh"
|
|
281
|
+
echo " You can manually enable TTS with: /agent-vibes:bmad-tts enable"
|
|
282
|
+
fi
|
|
283
|
+
}
|
|
284
|
+
|
|
285
|
+
# @function disable_plugin
|
|
286
|
+
# @intent Disable BMAD voice plugin and restore previous voice settings
|
|
287
|
+
# @why Allow users to return to single-voice mode with their original configuration
|
|
288
|
+
# @param None
|
|
289
|
+
# @returns None
|
|
290
|
+
# @exitcode Always 0
|
|
291
|
+
# @sideeffects Removes flag file, restores settings from backup, calls bmad-tts-injector.sh disable
|
|
292
|
+
# @edgecases Handles missing backup file gracefully, warns user if no backup exists
|
|
293
|
+
# @calledby Main command dispatcher with "disable" argument
|
|
294
|
+
# @calls source, rm, echo, bmad-tts-injector.sh
|
|
295
|
+
disable_plugin() {
|
|
296
|
+
BACKUP_FILE="$PLUGIN_DIR/.bmad-previous-settings"
|
|
297
|
+
|
|
298
|
+
# Check if we have a backup to restore
|
|
299
|
+
if [[ -f "$BACKUP_FILE" ]]; then
|
|
300
|
+
source "$BACKUP_FILE"
|
|
301
|
+
|
|
302
|
+
echo "❌ BMAD voice plugin disabled"
|
|
303
|
+
echo "🔄 Restoring previous settings:"
|
|
304
|
+
echo " Voice: $VOICE"
|
|
305
|
+
echo " Personality: $PERSONALITY"
|
|
306
|
+
[[ -n "$SENTIMENT" ]] && echo " Sentiment: $SENTIMENT"
|
|
307
|
+
|
|
308
|
+
# Restore voice
|
|
309
|
+
if [[ -n "$VOICE" ]]; then
|
|
310
|
+
echo "$VOICE" > .claude/tts-voice.txt 2>/dev/null || echo "$VOICE" > "$HOME/.claude/tts-voice.txt"
|
|
311
|
+
fi
|
|
312
|
+
|
|
313
|
+
# Restore personality
|
|
314
|
+
if [[ -n "$PERSONALITY" ]] && [[ "$PERSONALITY" != "normal" ]]; then
|
|
315
|
+
echo "$PERSONALITY" > .claude/tts-personality.txt 2>/dev/null || echo "$PERSONALITY" > "$HOME/.claude/tts-personality.txt"
|
|
316
|
+
fi
|
|
317
|
+
|
|
318
|
+
# Restore sentiment
|
|
319
|
+
if [[ -n "$SENTIMENT" ]]; then
|
|
320
|
+
echo "$SENTIMENT" > .claude/tts-sentiment.txt 2>/dev/null || echo "$SENTIMENT" > "$HOME/.claude/tts-sentiment.txt"
|
|
321
|
+
fi
|
|
322
|
+
|
|
323
|
+
# Clean up backup
|
|
324
|
+
rm -f "$BACKUP_FILE"
|
|
325
|
+
else
|
|
326
|
+
echo "❌ BMAD voice plugin disabled"
|
|
327
|
+
echo "⚠️ No previous settings found to restore"
|
|
328
|
+
echo "AgentVibes will use current voice/personality settings"
|
|
329
|
+
fi
|
|
330
|
+
|
|
331
|
+
rm -f "$ENABLED_FLAG"
|
|
332
|
+
|
|
333
|
+
# Automatically remove TTS from BMAD agents
|
|
334
|
+
echo ""
|
|
335
|
+
echo "🔇 Automatically disabling TTS for BMAD agents..."
|
|
336
|
+
echo ""
|
|
337
|
+
|
|
338
|
+
# Get the directory where this script is located
|
|
339
|
+
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
340
|
+
|
|
341
|
+
# Check if bmad-tts-injector.sh exists
|
|
342
|
+
if [[ -f "$SCRIPT_DIR/bmad-tts-injector.sh" ]]; then
|
|
343
|
+
# Run the TTS injector disable
|
|
344
|
+
"$SCRIPT_DIR/bmad-tts-injector.sh" disable
|
|
345
|
+
else
|
|
346
|
+
echo "⚠️ TTS injector not found"
|
|
347
|
+
echo " You can manually disable TTS with: /agent-vibes:bmad-tts disable"
|
|
348
|
+
fi
|
|
349
|
+
}
|
|
350
|
+
|
|
351
|
+
# @function list_mappings
|
|
352
|
+
# @intent Display all BMAD agent-to-voice mappings in readable format
|
|
353
|
+
# @why Help users see which voice is assigned to each agent
|
|
354
|
+
# @param None
|
|
355
|
+
# @returns None
|
|
356
|
+
# @exitcode 0=success, 1=plugin file not found
|
|
357
|
+
# @sideeffects Writes formatted output to stdout
|
|
358
|
+
# @edgecases Parses markdown table format, skips header and separator rows
|
|
359
|
+
# @calledby enable_plugin, show_status, main command dispatcher with "list"
|
|
360
|
+
# @calls grep, sed, echo
|
|
361
|
+
list_mappings() {
|
|
362
|
+
if [[ ! -f "$PLUGIN_FILE" ]]; then
|
|
363
|
+
echo "❌ Plugin file not found: $PLUGIN_FILE"
|
|
364
|
+
return 1
|
|
365
|
+
fi
|
|
366
|
+
|
|
367
|
+
echo "📊 BMAD Agent Voice Mappings:"
|
|
368
|
+
echo ""
|
|
369
|
+
|
|
370
|
+
grep "^| " "$PLUGIN_FILE" | grep -v "Agent ID" | grep -v "^|---" | \
|
|
371
|
+
while IFS='|' read -r _ agent_id name voice personality _; do
|
|
372
|
+
agent_id=$(echo "$agent_id" | sed 's/^[[:space:]]*//;s/[[:space:]]*$//')
|
|
373
|
+
name=$(echo "$name" | sed 's/^[[:space:]]*//;s/[[:space:]]*$//')
|
|
374
|
+
voice=$(echo "$voice" | sed 's/^[[:space:]]*//;s/[[:space:]]*$//')
|
|
375
|
+
personality=$(echo "$personality" | sed 's/^[[:space:]]*//;s/[[:space:]]*$//')
|
|
376
|
+
|
|
377
|
+
[[ -n "$agent_id" ]] && echo " $agent_id → $voice [$personality]"
|
|
378
|
+
done
|
|
379
|
+
}
|
|
380
|
+
|
|
381
|
+
# @function set_agent_voice
|
|
382
|
+
# @intent Update voice and personality mapping for specific BMAD agent
|
|
383
|
+
# @why Allow customization of agent voices to user preferences
|
|
384
|
+
# @param $1 {string} agent_id - BMAD agent identifier
|
|
385
|
+
# @param $2 {string} voice - New voice name
|
|
386
|
+
# @param $3 {string} personality - New personality (optional, defaults to "normal")
|
|
387
|
+
# @returns None
|
|
388
|
+
# @exitcode 0=success, 1=plugin file not found or agent not found
|
|
389
|
+
# @sideeffects Modifies plugin file, creates .bak backup
|
|
390
|
+
# @edgecases Validates agent exists before updating
|
|
391
|
+
# @calledby Main command dispatcher with "set" argument
|
|
392
|
+
# @calls grep, sed
|
|
393
|
+
set_agent_voice() {
|
|
394
|
+
local agent_id="$1"
|
|
395
|
+
local voice="$2"
|
|
396
|
+
local personality="${3:-normal}"
|
|
397
|
+
|
|
398
|
+
if [[ ! -f "$PLUGIN_FILE" ]]; then
|
|
399
|
+
echo "❌ Plugin file not found: $PLUGIN_FILE"
|
|
400
|
+
return 1
|
|
401
|
+
fi
|
|
402
|
+
|
|
403
|
+
# Check if agent exists
|
|
404
|
+
if ! grep -q "^| $agent_id " "$PLUGIN_FILE"; then
|
|
405
|
+
echo "❌ Agent '$agent_id' not found in plugin"
|
|
406
|
+
return 1
|
|
407
|
+
fi
|
|
408
|
+
|
|
409
|
+
# Update the voice and personality in the table
|
|
410
|
+
sed -i.bak "s/^| $agent_id |.*| .* | .* |$/| $agent_id | $(grep "^| $agent_id " "$PLUGIN_FILE" | awk -F'|' '{print $3}') | $voice | $personality |/" "$PLUGIN_FILE"
|
|
411
|
+
|
|
412
|
+
echo "✅ Updated $agent_id → $voice [$personality]"
|
|
413
|
+
}
|
|
414
|
+
|
|
415
|
+
# @function show_status
|
|
416
|
+
# @intent Display plugin status, BMAD detection, and current voice mappings
|
|
417
|
+
# @why Provide comprehensive overview of plugin state for troubleshooting
|
|
418
|
+
# @param None
|
|
419
|
+
# @returns None
|
|
420
|
+
# @exitcode Always 0
|
|
421
|
+
# @sideeffects Writes status information to stdout
|
|
422
|
+
# @edgecases Checks for BMAD installation via manifest file
|
|
423
|
+
# @calledby Main command dispatcher with "status" argument
|
|
424
|
+
# @calls is_plugin_enabled, list_mappings
|
|
425
|
+
show_status() {
|
|
426
|
+
# Check for BMAD installation
|
|
427
|
+
local bmad_installed="false"
|
|
428
|
+
if [[ -f ".bmad-core/install-manifest.yaml" ]]; then
|
|
429
|
+
bmad_installed="true"
|
|
430
|
+
fi
|
|
431
|
+
|
|
432
|
+
if [[ $(is_plugin_enabled) == "true" ]]; then
|
|
433
|
+
echo "✅ BMAD voice plugin: ENABLED"
|
|
434
|
+
if [[ "$bmad_installed" == "true" ]]; then
|
|
435
|
+
echo "🔍 BMAD detected: Auto-enabled"
|
|
436
|
+
fi
|
|
437
|
+
else
|
|
438
|
+
echo "❌ BMAD voice plugin: DISABLED"
|
|
439
|
+
if [[ "$bmad_installed" == "true" ]]; then
|
|
440
|
+
echo "⚠️ BMAD detected but plugin disabled (enable with: /agent-vibes-bmad enable)"
|
|
441
|
+
fi
|
|
442
|
+
fi
|
|
443
|
+
echo ""
|
|
444
|
+
list_mappings
|
|
445
|
+
}
|
|
446
|
+
|
|
447
|
+
# @function edit_plugin
|
|
448
|
+
# @intent Open plugin configuration file for manual editing
|
|
449
|
+
# @why Allow advanced users to modify voice mappings directly
|
|
450
|
+
# @param None
|
|
451
|
+
# @returns None
|
|
452
|
+
# @exitcode 0=success, 1=plugin file not found
|
|
453
|
+
# @sideeffects Displays file path and instructions
|
|
454
|
+
# @edgecases Does not actually open editor, just provides guidance
|
|
455
|
+
# @calledby Main command dispatcher with "edit" argument
|
|
456
|
+
# @calls echo
|
|
457
|
+
edit_plugin() {
|
|
458
|
+
if [[ ! -f "$PLUGIN_FILE" ]]; then
|
|
459
|
+
echo "❌ Plugin file not found: $PLUGIN_FILE"
|
|
460
|
+
return 1
|
|
461
|
+
fi
|
|
462
|
+
|
|
463
|
+
echo "Opening $PLUGIN_FILE for editing..."
|
|
464
|
+
echo "Edit the markdown table to change voice mappings"
|
|
465
|
+
}
|
|
466
|
+
|
|
467
|
+
# Main command dispatcher
|
|
468
|
+
case "${1:-help}" in
|
|
469
|
+
enable)
|
|
470
|
+
enable_plugin
|
|
471
|
+
;;
|
|
472
|
+
disable)
|
|
473
|
+
disable_plugin
|
|
474
|
+
;;
|
|
475
|
+
status)
|
|
476
|
+
show_status
|
|
477
|
+
;;
|
|
478
|
+
list)
|
|
479
|
+
list_mappings
|
|
480
|
+
;;
|
|
481
|
+
set)
|
|
482
|
+
if [[ -z "$2" ]] || [[ -z "$3" ]]; then
|
|
483
|
+
echo "Usage: bmad-voice-manager.sh set <agent-id> <voice> [personality]"
|
|
484
|
+
exit 1
|
|
485
|
+
fi
|
|
486
|
+
set_agent_voice "$2" "$3" "$4"
|
|
487
|
+
;;
|
|
488
|
+
get-voice)
|
|
489
|
+
get_agent_voice "$2"
|
|
490
|
+
;;
|
|
491
|
+
get-personality)
|
|
492
|
+
get_agent_personality "$2"
|
|
493
|
+
;;
|
|
494
|
+
edit)
|
|
495
|
+
edit_plugin
|
|
496
|
+
;;
|
|
497
|
+
*)
|
|
498
|
+
echo "Usage: bmad-voice-manager.sh {enable|disable|status|list|set|get-voice|get-personality|edit}"
|
|
499
|
+
echo ""
|
|
500
|
+
echo "Commands:"
|
|
501
|
+
echo " enable Enable BMAD voice plugin"
|
|
502
|
+
echo " disable Disable BMAD voice plugin"
|
|
503
|
+
echo " status Show plugin status and mappings"
|
|
504
|
+
echo " list List all agent voice mappings"
|
|
505
|
+
echo " set <id> <voice> Set voice for agent"
|
|
506
|
+
echo " get-voice <id> Get voice for agent"
|
|
507
|
+
echo " get-personality <id> Get personality for agent"
|
|
508
|
+
echo " edit Edit plugin configuration"
|
|
509
|
+
exit 1
|
|
510
|
+
;;
|
|
511
|
+
esac
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
#
|
|
3
|
+
# File: .claude/hooks/check-output-style.sh
|
|
4
|
+
#
|
|
5
|
+
# AgentVibes - Finally, your AI Agents can Talk Back! Text-to-Speech WITH personality for AI Assistants!
|
|
6
|
+
# Website: https://agentvibes.org
|
|
7
|
+
# Repository: https://github.com/paulpreibisch/AgentVibes
|
|
8
|
+
#
|
|
9
|
+
# Co-created by Paul Preibisch with Claude AI
|
|
10
|
+
# Copyright (c) 2025 Paul Preibisch
|
|
11
|
+
#
|
|
12
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
13
|
+
# you may not use this file except in compliance with the License.
|
|
14
|
+
# You may obtain a copy of the License at
|
|
15
|
+
#
|
|
16
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
17
|
+
#
|
|
18
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
19
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
20
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
21
|
+
# See the License for the specific language governing permissions and
|
|
22
|
+
# limitations under the License.
|
|
23
|
+
#
|
|
24
|
+
# DISCLAIMER: This software is provided "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
|
25
|
+
# express or implied, including but not limited to the warranties of
|
|
26
|
+
# merchantability, fitness for a particular purpose and noninfringement.
|
|
27
|
+
# In no event shall the authors or copyright holders be liable for any claim,
|
|
28
|
+
# damages or other liability, whether in an action of contract, tort or
|
|
29
|
+
# otherwise, arising from, out of or in connection with the software or the
|
|
30
|
+
# use or other dealings in the software.
|
|
31
|
+
#
|
|
32
|
+
# ---
|
|
33
|
+
#
|
|
34
|
+
# @fileoverview Output Style Detection - Detects if Agent Vibes output style is active in Claude Code
|
|
35
|
+
# @context Voice commands require the Agent Vibes output style to work properly with automatic TTS
|
|
36
|
+
# @architecture Heuristic detection using environment variables and file system checks
|
|
37
|
+
# @dependencies CLAUDECODE environment variable, .claude/output-styles/agent-vibes.md file
|
|
38
|
+
# @entrypoints Called by slash commands to warn users if output style is incorrect
|
|
39
|
+
# @patterns Environment-based detection, graceful degradation with helpful error messages
|
|
40
|
+
# @related .claude/output-styles/agent-vibes.md, Claude Code output style system
|
|
41
|
+
|
|
42
|
+
# AI NOTE: Output style detection is heuristic-based because Claude Code does not expose
|
|
43
|
+
# the active output style via environment variables. We check for CLAUDECODE env var and
|
|
44
|
+
# the presence of the agent-vibes.md output style file as indicators.
|
|
45
|
+
|
|
46
|
+
# @function check_output_style
|
|
47
|
+
# @intent Detect if Agent Vibes output style is likely active in Claude Code session
|
|
48
|
+
# @why Voice commands depend on output style hooks that automatically invoke TTS
|
|
49
|
+
# @param None
|
|
50
|
+
# @returns None
|
|
51
|
+
# @exitcode 0=likely using agent-vibes style, 1=not using or cannot detect
|
|
52
|
+
# @sideeffects None (read-only checks)
|
|
53
|
+
# @edgecases Cannot directly detect output style, relies on CLAUDECODE env var and file presence
|
|
54
|
+
# @calledby Main execution block, slash command validation
|
|
55
|
+
# @calls None (direct environment and file checks)
|
|
56
|
+
check_output_style() {
|
|
57
|
+
# Strategy: Check if this script is being called from within a Claude response
|
|
58
|
+
# If CLAUDECODE env var is set, we're in Claude Code
|
|
59
|
+
# If not, we're running standalone (not in a Claude Code session)
|
|
60
|
+
|
|
61
|
+
if [[ -z "$CLAUDECODE" ]]; then
|
|
62
|
+
# Not in Claude Code at all
|
|
63
|
+
return 1
|
|
64
|
+
fi
|
|
65
|
+
|
|
66
|
+
# We're in Claude Code, but we can't directly detect output style
|
|
67
|
+
# The agent-vibes output style calls our TTS hooks automatically
|
|
68
|
+
# So if this function is called, it means a slash command was invoked
|
|
69
|
+
|
|
70
|
+
# Check if we have the necessary TTS setup
|
|
71
|
+
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
72
|
+
|
|
73
|
+
# Check if agent-vibes output style is installed
|
|
74
|
+
if [[ ! -f "$SCRIPT_DIR/../output-styles/agent-vibes.md" ]]; then
|
|
75
|
+
return 1
|
|
76
|
+
fi
|
|
77
|
+
|
|
78
|
+
# All checks passed - likely using agent-vibes output style
|
|
79
|
+
return 0
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
# @function show_output_style_warning
|
|
83
|
+
# @intent Display helpful warning about enabling Agent Vibes output style
|
|
84
|
+
# @why Users need guidance on how to enable automatic TTS narration
|
|
85
|
+
# @param None
|
|
86
|
+
# @returns None
|
|
87
|
+
# @exitcode Always 0
|
|
88
|
+
# @sideeffects Writes warning message to stdout
|
|
89
|
+
# @edgecases None
|
|
90
|
+
# @calledby Main execution block when check_output_style fails
|
|
91
|
+
# @calls echo
|
|
92
|
+
show_output_style_warning() {
|
|
93
|
+
echo ""
|
|
94
|
+
echo "⚠️ Voice commands require the Agent Vibes output style"
|
|
95
|
+
echo ""
|
|
96
|
+
echo "To enable voice narration, run:"
|
|
97
|
+
echo " /output-style Agent Vibes"
|
|
98
|
+
echo ""
|
|
99
|
+
echo "This will make Claude speak with TTS for all responses."
|
|
100
|
+
echo "You can still use voice commands manually with agent-vibes disabled,"
|
|
101
|
+
echo "but you won't hear automatic TTS narration."
|
|
102
|
+
echo ""
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
# Main execution when called directly
|
|
106
|
+
if [[ "${BASH_SOURCE[0]}" == "${0}" ]]; then
|
|
107
|
+
if ! check_output_style; then
|
|
108
|
+
show_output_style_warning
|
|
109
|
+
exit 1
|
|
110
|
+
fi
|
|
111
|
+
exit 0
|
|
112
|
+
fi
|