agentvibes 2.10.0 → 2.12.0
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/agent-vibes/agent-vibes.md +1 -1
- package/.claude/commands/agent-vibes/bmad.md +3 -3
- package/.claude/commands/agent-vibes/set-pretext.md +2 -2
- package/.claude/commands/agent-vibes-bmad-voices.md +5 -5
- package/.claude/hooks/bmad-speak.sh +1 -1
- package/.claude/hooks/migrate-to-agentvibes.sh +161 -0
- package/.claude/hooks/play-tts-elevenlabs.sh +1 -1
- package/.claude/output-styles/agent-vibes.md +3 -3
- package/README.md +9 -6
- package/RELEASE_NOTES.md +341 -0
- package/docs/architecture/provider-system.md +3 -3
- package/docs/bmad-v6-support.md +1 -1
- package/docs/technical-deep-dive.md +1 -1
- package/docs/voice-mapping-format.md +1 -1
- package/package.json +1 -1
- package/src/installer.js +88 -16
- package/test-migration.sh +539 -0
- package/.agentvibes/bmad/bmad-voices-enabled.flag +0 -0
- package/.agentvibes/bmad/bmad-voices.md +0 -68
- package/.bmad/_cfg/agent-manifest.csv +0 -11
- package/.bmad/_cfg/agent-voice-map.csv +0 -11
- package/.bmad/_cfg/agents/bmm-analyst.customize.yaml +0 -42
- package/.bmad/_cfg/agents/bmm-architect.customize.yaml +0 -42
- package/.bmad/_cfg/agents/bmm-dev.customize.yaml +0 -42
- package/.bmad/_cfg/agents/bmm-frame-expert.customize.yaml +0 -42
- package/.bmad/_cfg/agents/bmm-pm.customize.yaml +0 -42
- package/.bmad/_cfg/agents/bmm-sm.customize.yaml +0 -42
- package/.bmad/_cfg/agents/bmm-tea.customize.yaml +0 -42
- package/.bmad/_cfg/agents/bmm-tech-writer.customize.yaml +0 -42
- package/.bmad/_cfg/agents/bmm-ux-designer.customize.yaml +0 -42
- package/.bmad/_cfg/agents/core-bmad-master.customize.yaml +0 -42
- package/.bmad/_cfg/files-manifest.csv +0 -243
- package/.bmad/_cfg/ides/claude-code.yaml +0 -6
- package/.bmad/_cfg/manifest.yaml +0 -9
- package/.bmad/_cfg/task-manifest.csv +0 -5
- package/.bmad/_cfg/tool-manifest.csv +0 -2
- package/.bmad/_cfg/workflow-manifest.csv +0 -38
- package/.bmad/bmm/README.md +0 -128
- package/.bmad/bmm/agents/analyst.md +0 -79
- package/.bmad/bmm/agents/analyst.md.backup-pre-tts +0 -75
- package/.bmad/bmm/agents/architect.md +0 -80
- package/.bmad/bmm/agents/dev.md +0 -70
- package/.bmad/bmm/agents/frame-expert.md +0 -72
- package/.bmad/bmm/agents/pm.md +0 -84
- package/.bmad/bmm/agents/sm.md +0 -93
- package/.bmad/bmm/agents/tea.md +0 -80
- package/.bmad/bmm/agents/tech-writer.md +0 -84
- package/.bmad/bmm/agents/ux-designer.md +0 -79
- package/.bmad/bmm/config.yaml +0 -17
- package/.bmad/bmm/docs/README.md +0 -236
- package/.bmad/bmm/docs/agents-guide.md +0 -1058
- package/.bmad/bmm/docs/brownfield-guide.md +0 -762
- package/.bmad/bmm/docs/enterprise-agentic-development.md +0 -686
- package/.bmad/bmm/docs/faq.md +0 -588
- package/.bmad/bmm/docs/glossary.md +0 -320
- package/.bmad/bmm/docs/party-mode.md +0 -224
- package/.bmad/bmm/docs/quick-spec-flow.md +0 -652
- package/.bmad/bmm/docs/quick-start.md +0 -376
- package/.bmad/bmm/docs/scale-adaptive-system.md +0 -612
- package/.bmad/bmm/docs/test-architecture.md +0 -396
- package/.bmad/bmm/docs/workflow-architecture-reference.md +0 -366
- package/.bmad/bmm/docs/workflow-document-project-reference.md +0 -489
- package/.bmad/bmm/docs/workflows-analysis.md +0 -370
- package/.bmad/bmm/docs/workflows-implementation.md +0 -286
- package/.bmad/bmm/docs/workflows-planning.md +0 -612
- package/.bmad/bmm/docs/workflows-solutioning.md +0 -554
- package/.bmad/bmm/teams/default-party.csv +0 -20
- package/.bmad/bmm/teams/team-fullstack.yaml +0 -13
- package/.bmad/bmm/testarch/knowledge/ci-burn-in.md +0 -675
- package/.bmad/bmm/testarch/knowledge/component-tdd.md +0 -486
- package/.bmad/bmm/testarch/knowledge/contract-testing.md +0 -957
- package/.bmad/bmm/testarch/knowledge/data-factories.md +0 -500
- package/.bmad/bmm/testarch/knowledge/email-auth.md +0 -721
- package/.bmad/bmm/testarch/knowledge/error-handling.md +0 -725
- package/.bmad/bmm/testarch/knowledge/feature-flags.md +0 -750
- package/.bmad/bmm/testarch/knowledge/fixture-architecture.md +0 -401
- package/.bmad/bmm/testarch/knowledge/network-first.md +0 -486
- package/.bmad/bmm/testarch/knowledge/nfr-criteria.md +0 -670
- package/.bmad/bmm/testarch/knowledge/playwright-config.md +0 -730
- package/.bmad/bmm/testarch/knowledge/probability-impact.md +0 -601
- package/.bmad/bmm/testarch/knowledge/risk-governance.md +0 -615
- package/.bmad/bmm/testarch/knowledge/selective-testing.md +0 -732
- package/.bmad/bmm/testarch/knowledge/selector-resilience.md +0 -527
- package/.bmad/bmm/testarch/knowledge/test-healing-patterns.md +0 -644
- package/.bmad/bmm/testarch/knowledge/test-levels-framework.md +0 -473
- package/.bmad/bmm/testarch/knowledge/test-priorities-matrix.md +0 -373
- package/.bmad/bmm/testarch/knowledge/test-quality.md +0 -664
- package/.bmad/bmm/testarch/knowledge/timing-debugging.md +0 -372
- package/.bmad/bmm/testarch/knowledge/visual-debugging.md +0 -524
- package/.bmad/bmm/testarch/tea-index.csv +0 -22
- package/.bmad/bmm/workflows/1-analysis/brainstorm-project/instructions.md +0 -112
- package/.bmad/bmm/workflows/1-analysis/brainstorm-project/project-context.md +0 -25
- package/.bmad/bmm/workflows/1-analysis/brainstorm-project/workflow.yaml +0 -26
- package/.bmad/bmm/workflows/1-analysis/domain-research/instructions.md +0 -425
- package/.bmad/bmm/workflows/1-analysis/domain-research/template.md +0 -180
- package/.bmad/bmm/workflows/1-analysis/domain-research/workflow.yaml +0 -28
- package/.bmad/bmm/workflows/1-analysis/product-brief/checklist.md +0 -115
- package/.bmad/bmm/workflows/1-analysis/product-brief/instructions.md +0 -524
- package/.bmad/bmm/workflows/1-analysis/product-brief/template.md +0 -181
- package/.bmad/bmm/workflows/1-analysis/product-brief/workflow.yaml +0 -45
- package/.bmad/bmm/workflows/1-analysis/research/checklist-deep-prompt.md +0 -144
- package/.bmad/bmm/workflows/1-analysis/research/checklist-technical.md +0 -249
- package/.bmad/bmm/workflows/1-analysis/research/checklist.md +0 -299
- package/.bmad/bmm/workflows/1-analysis/research/claude-code/injections.yaml +0 -114
- package/.bmad/bmm/workflows/1-analysis/research/instructions-deep-prompt.md +0 -438
- package/.bmad/bmm/workflows/1-analysis/research/instructions-market.md +0 -675
- package/.bmad/bmm/workflows/1-analysis/research/instructions-router.md +0 -134
- package/.bmad/bmm/workflows/1-analysis/research/instructions-technical.md +0 -534
- package/.bmad/bmm/workflows/1-analysis/research/template-deep-prompt.md +0 -94
- package/.bmad/bmm/workflows/1-analysis/research/template-market.md +0 -347
- package/.bmad/bmm/workflows/1-analysis/research/template-technical.md +0 -245
- package/.bmad/bmm/workflows/1-analysis/research/workflow.yaml +0 -44
- package/.bmad/bmm/workflows/2-plan-workflows/create-epics-and-stories/epics-template.md +0 -80
- package/.bmad/bmm/workflows/2-plan-workflows/create-epics-and-stories/instructions.md +0 -616
- package/.bmad/bmm/workflows/2-plan-workflows/create-epics-and-stories/workflow.yaml +0 -53
- package/.bmad/bmm/workflows/2-plan-workflows/create-ux-design/checklist.md +0 -310
- package/.bmad/bmm/workflows/2-plan-workflows/create-ux-design/instructions.md +0 -1308
- package/.bmad/bmm/workflows/2-plan-workflows/create-ux-design/ux-design-template.md +0 -145
- package/.bmad/bmm/workflows/2-plan-workflows/create-ux-design/workflow.yaml +0 -61
- package/.bmad/bmm/workflows/2-plan-workflows/prd/checklist.md +0 -346
- package/.bmad/bmm/workflows/2-plan-workflows/prd/domain-complexity.csv +0 -13
- package/.bmad/bmm/workflows/2-plan-workflows/prd/instructions.md +0 -703
- package/.bmad/bmm/workflows/2-plan-workflows/prd/prd-template.md +0 -204
- package/.bmad/bmm/workflows/2-plan-workflows/prd/project-types.csv +0 -11
- package/.bmad/bmm/workflows/2-plan-workflows/prd/workflow.yaml +0 -52
- package/.bmad/bmm/workflows/2-plan-workflows/tech-spec/checklist.md +0 -217
- package/.bmad/bmm/workflows/2-plan-workflows/tech-spec/epics-template.md +0 -74
- package/.bmad/bmm/workflows/2-plan-workflows/tech-spec/instructions-generate-stories.md +0 -436
- package/.bmad/bmm/workflows/2-plan-workflows/tech-spec/instructions.md +0 -980
- package/.bmad/bmm/workflows/2-plan-workflows/tech-spec/tech-spec-template.md +0 -181
- package/.bmad/bmm/workflows/2-plan-workflows/tech-spec/user-story-template.md +0 -90
- package/.bmad/bmm/workflows/2-plan-workflows/tech-spec/workflow.yaml +0 -58
- package/.bmad/bmm/workflows/3-solutioning/architecture/architecture-patterns.yaml +0 -321
- package/.bmad/bmm/workflows/3-solutioning/architecture/architecture-template.md +0 -103
- package/.bmad/bmm/workflows/3-solutioning/architecture/checklist.md +0 -240
- package/.bmad/bmm/workflows/3-solutioning/architecture/decision-catalog.yaml +0 -222
- package/.bmad/bmm/workflows/3-solutioning/architecture/instructions.md +0 -768
- package/.bmad/bmm/workflows/3-solutioning/architecture/pattern-categories.csv +0 -13
- package/.bmad/bmm/workflows/3-solutioning/architecture/workflow.yaml +0 -55
- package/.bmad/bmm/workflows/3-solutioning/implementation-readiness/checklist.md +0 -169
- package/.bmad/bmm/workflows/3-solutioning/implementation-readiness/instructions.md +0 -332
- package/.bmad/bmm/workflows/3-solutioning/implementation-readiness/template.md +0 -146
- package/.bmad/bmm/workflows/3-solutioning/implementation-readiness/workflow.yaml +0 -62
- package/.bmad/bmm/workflows/4-implementation/code-review/backlog_template.md +0 -12
- package/.bmad/bmm/workflows/4-implementation/code-review/checklist.md +0 -22
- package/.bmad/bmm/workflows/4-implementation/code-review/instructions.md +0 -398
- package/.bmad/bmm/workflows/4-implementation/code-review/workflow.yaml +0 -60
- package/.bmad/bmm/workflows/4-implementation/correct-course/checklist.md +0 -279
- package/.bmad/bmm/workflows/4-implementation/correct-course/instructions.md +0 -206
- package/.bmad/bmm/workflows/4-implementation/correct-course/workflow.yaml +0 -56
- package/.bmad/bmm/workflows/4-implementation/create-story/checklist.md +0 -240
- package/.bmad/bmm/workflows/4-implementation/create-story/instructions.md +0 -256
- package/.bmad/bmm/workflows/4-implementation/create-story/template.md +0 -51
- package/.bmad/bmm/workflows/4-implementation/create-story/workflow.yaml +0 -71
- package/.bmad/bmm/workflows/4-implementation/dev-story/checklist.md +0 -38
- package/.bmad/bmm/workflows/4-implementation/dev-story/instructions.md +0 -267
- package/.bmad/bmm/workflows/4-implementation/dev-story/workflow.yaml +0 -56
- package/.bmad/bmm/workflows/4-implementation/epic-tech-context/checklist.md +0 -17
- package/.bmad/bmm/workflows/4-implementation/epic-tech-context/instructions.md +0 -164
- package/.bmad/bmm/workflows/4-implementation/epic-tech-context/template.md +0 -76
- package/.bmad/bmm/workflows/4-implementation/epic-tech-context/workflow.yaml +0 -57
- package/.bmad/bmm/workflows/4-implementation/retrospective/instructions.md +0 -1443
- package/.bmad/bmm/workflows/4-implementation/retrospective/workflow.yaml +0 -56
- package/.bmad/bmm/workflows/4-implementation/sprint-planning/checklist.md +0 -33
- package/.bmad/bmm/workflows/4-implementation/sprint-planning/instructions.md +0 -234
- package/.bmad/bmm/workflows/4-implementation/sprint-planning/sprint-status-template.yaml +0 -55
- package/.bmad/bmm/workflows/4-implementation/sprint-planning/workflow.yaml +0 -49
- package/.bmad/bmm/workflows/4-implementation/story-context/checklist.md +0 -16
- package/.bmad/bmm/workflows/4-implementation/story-context/context-template.xml +0 -34
- package/.bmad/bmm/workflows/4-implementation/story-context/instructions.md +0 -209
- package/.bmad/bmm/workflows/4-implementation/story-context/workflow.yaml +0 -61
- package/.bmad/bmm/workflows/4-implementation/story-done/instructions.md +0 -111
- package/.bmad/bmm/workflows/4-implementation/story-done/workflow.yaml +0 -26
- package/.bmad/bmm/workflows/4-implementation/story-ready/instructions.md +0 -117
- package/.bmad/bmm/workflows/4-implementation/story-ready/workflow.yaml +0 -23
- package/.bmad/bmm/workflows/document-project/checklist.md +0 -245
- package/.bmad/bmm/workflows/document-project/documentation-requirements.csv +0 -12
- package/.bmad/bmm/workflows/document-project/instructions.md +0 -222
- package/.bmad/bmm/workflows/document-project/templates/deep-dive-template.md +0 -345
- package/.bmad/bmm/workflows/document-project/templates/index-template.md +0 -169
- package/.bmad/bmm/workflows/document-project/templates/project-overview-template.md +0 -103
- package/.bmad/bmm/workflows/document-project/templates/project-scan-report-schema.json +0 -160
- package/.bmad/bmm/workflows/document-project/templates/source-tree-template.md +0 -135
- package/.bmad/bmm/workflows/document-project/workflow.yaml +0 -29
- package/.bmad/bmm/workflows/document-project/workflows/deep-dive-instructions.md +0 -298
- package/.bmad/bmm/workflows/document-project/workflows/deep-dive.yaml +0 -31
- package/.bmad/bmm/workflows/document-project/workflows/full-scan-instructions.md +0 -1106
- package/.bmad/bmm/workflows/document-project/workflows/full-scan.yaml +0 -31
- package/.bmad/bmm/workflows/frame-expert/_shared/excalidraw-helpers.md +0 -127
- package/.bmad/bmm/workflows/frame-expert/_shared/excalidraw-library.json +0 -90
- package/.bmad/bmm/workflows/frame-expert/_shared/excalidraw-templates.yaml +0 -127
- package/.bmad/bmm/workflows/frame-expert/_shared/validate-json-instructions.md +0 -79
- package/.bmad/bmm/workflows/frame-expert/create-dataflow/checklist.md +0 -39
- package/.bmad/bmm/workflows/frame-expert/create-dataflow/instructions.md +0 -131
- package/.bmad/bmm/workflows/frame-expert/create-dataflow/workflow.yaml +0 -23
- package/.bmad/bmm/workflows/frame-expert/create-diagram/checklist.md +0 -43
- package/.bmad/bmm/workflows/frame-expert/create-diagram/instructions.md +0 -142
- package/.bmad/bmm/workflows/frame-expert/create-diagram/workflow.yaml +0 -24
- package/.bmad/bmm/workflows/frame-expert/create-flowchart/checklist.md +0 -49
- package/.bmad/bmm/workflows/frame-expert/create-flowchart/instructions.md +0 -242
- package/.bmad/bmm/workflows/frame-expert/create-flowchart/workflow.yaml +0 -27
- package/.bmad/bmm/workflows/frame-expert/create-wireframe/checklist.md +0 -38
- package/.bmad/bmm/workflows/frame-expert/create-wireframe/instructions.md +0 -133
- package/.bmad/bmm/workflows/frame-expert/create-wireframe/workflow.yaml +0 -23
- package/.bmad/bmm/workflows/techdoc/documentation-standards.md +0 -262
- package/.bmad/bmm/workflows/testarch/atdd/atdd-checklist-template.md +0 -363
- package/.bmad/bmm/workflows/testarch/atdd/checklist.md +0 -373
- package/.bmad/bmm/workflows/testarch/atdd/instructions.md +0 -785
- package/.bmad/bmm/workflows/testarch/atdd/workflow.yaml +0 -45
- package/.bmad/bmm/workflows/testarch/automate/checklist.md +0 -580
- package/.bmad/bmm/workflows/testarch/automate/instructions.md +0 -1303
- package/.bmad/bmm/workflows/testarch/automate/workflow.yaml +0 -52
- package/.bmad/bmm/workflows/testarch/ci/checklist.md +0 -246
- package/.bmad/bmm/workflows/testarch/ci/github-actions-template.yaml +0 -165
- package/.bmad/bmm/workflows/testarch/ci/gitlab-ci-template.yaml +0 -128
- package/.bmad/bmm/workflows/testarch/ci/instructions.md +0 -517
- package/.bmad/bmm/workflows/testarch/ci/workflow.yaml +0 -45
- package/.bmad/bmm/workflows/testarch/framework/checklist.md +0 -321
- package/.bmad/bmm/workflows/testarch/framework/instructions.md +0 -455
- package/.bmad/bmm/workflows/testarch/framework/workflow.yaml +0 -47
- package/.bmad/bmm/workflows/testarch/nfr-assess/checklist.md +0 -405
- package/.bmad/bmm/workflows/testarch/nfr-assess/instructions.md +0 -722
- package/.bmad/bmm/workflows/testarch/nfr-assess/nfr-report-template.md +0 -443
- package/.bmad/bmm/workflows/testarch/nfr-assess/workflow.yaml +0 -47
- package/.bmad/bmm/workflows/testarch/test-design/checklist.md +0 -234
- package/.bmad/bmm/workflows/testarch/test-design/instructions.md +0 -782
- package/.bmad/bmm/workflows/testarch/test-design/test-design-template.md +0 -285
- package/.bmad/bmm/workflows/testarch/test-design/workflow.yaml +0 -48
- package/.bmad/bmm/workflows/testarch/test-review/checklist.md +0 -470
- package/.bmad/bmm/workflows/testarch/test-review/instructions.md +0 -608
- package/.bmad/bmm/workflows/testarch/test-review/test-review-template.md +0 -388
- package/.bmad/bmm/workflows/testarch/test-review/workflow.yaml +0 -46
- package/.bmad/bmm/workflows/testarch/trace/checklist.md +0 -654
- package/.bmad/bmm/workflows/testarch/trace/instructions.md +0 -1045
- package/.bmad/bmm/workflows/testarch/trace/trace-template.md +0 -673
- package/.bmad/bmm/workflows/testarch/trace/workflow.yaml +0 -55
- package/.bmad/bmm/workflows/workflow-status/init/instructions.md +0 -334
- package/.bmad/bmm/workflows/workflow-status/init/workflow.yaml +0 -28
- package/.bmad/bmm/workflows/workflow-status/instructions.md +0 -388
- package/.bmad/bmm/workflows/workflow-status/paths/enterprise-brownfield.yaml +0 -138
- package/.bmad/bmm/workflows/workflow-status/paths/enterprise-greenfield.yaml +0 -126
- package/.bmad/bmm/workflows/workflow-status/paths/game-design.yaml +0 -52
- package/.bmad/bmm/workflows/workflow-status/paths/method-brownfield.yaml +0 -122
- package/.bmad/bmm/workflows/workflow-status/paths/method-greenfield.yaml +0 -113
- package/.bmad/bmm/workflows/workflow-status/paths/quick-flow-brownfield.yaml +0 -58
- package/.bmad/bmm/workflows/workflow-status/paths/quick-flow-greenfield.yaml +0 -47
- package/.bmad/bmm/workflows/workflow-status/project-levels.yaml +0 -59
- package/.bmad/bmm/workflows/workflow-status/workflow-status-template.yaml +0 -24
- package/.bmad/bmm/workflows/workflow-status/workflow.yaml +0 -28
- package/.bmad/core/agents/bmad-master.md +0 -72
- package/.bmad/core/agents/bmad-web-orchestrator.agent.xml +0 -113
- package/.bmad/core/config.yaml +0 -11
- package/.bmad/core/tasks/adv-elicit-methods.csv +0 -39
- package/.bmad/core/tasks/advanced-elicitation-methods.csv +0 -21
- package/.bmad/core/tasks/advanced-elicitation.xml +0 -106
- 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 -270
- package/.bmad/core/tools/shard-doc.xml +0 -109
- package/.bmad/core/workflows/brainstorming/README.md +0 -261
- package/.bmad/core/workflows/brainstorming/brain-methods.csv +0 -36
- package/.bmad/core/workflows/brainstorming/instructions.md +0 -315
- package/.bmad/core/workflows/brainstorming/template.md +0 -106
- package/.bmad/core/workflows/brainstorming/workflow.yaml +0 -38
- package/.bmad/core/workflows/party-mode/instructions.md +0 -203
- package/.bmad/core/workflows/party-mode/workflow.yaml +0 -28
- package/.bmad/docs/claude-code-instructions.md +0 -25
- package/.claude/commands/BMad/analyst.md +0 -88
- package/.claude/commands/BMad/architect.md +0 -89
- package/.claude/commands/BMad/bmad-master.md +0 -114
- package/.claude/commands/BMad/bmad-orchestrator.md +0 -151
- package/.claude/commands/BMad/dev.md +0 -85
- package/.claude/commands/BMad/pm.md +0 -88
- package/.claude/commands/BMad/po.md +0 -83
- package/.claude/commands/BMad/qa.md +0 -91
- package/.claude/commands/BMad/sm.md +0 -69
- package/.claude/commands/BMad/tasks/advanced-elicitation.md +0 -123
- package/.claude/commands/BMad/tasks/apply-qa-fixes.md +0 -154
- package/.claude/commands/BMad/tasks/brownfield-create-epic.md +0 -166
- package/.claude/commands/BMad/tasks/brownfield-create-story.md +0 -153
- package/.claude/commands/BMad/tasks/correct-course.md +0 -76
- package/.claude/commands/BMad/tasks/create-brownfield-story.md +0 -318
- package/.claude/commands/BMad/tasks/create-deep-research-prompt.md +0 -284
- package/.claude/commands/BMad/tasks/create-doc.md +0 -107
- package/.claude/commands/BMad/tasks/create-next-story.md +0 -118
- package/.claude/commands/BMad/tasks/document-project.md +0 -349
- package/.claude/commands/BMad/tasks/execute-checklist.md +0 -92
- package/.claude/commands/BMad/tasks/facilitate-brainstorming-session.md +0 -142
- package/.claude/commands/BMad/tasks/generate-ai-frontend-prompt.md +0 -57
- package/.claude/commands/BMad/tasks/index-docs.md +0 -179
- package/.claude/commands/BMad/tasks/kb-mode-interaction.md +0 -81
- package/.claude/commands/BMad/tasks/nfr-assess.md +0 -349
- package/.claude/commands/BMad/tasks/qa-gate.md +0 -167
- package/.claude/commands/BMad/tasks/review-story.md +0 -320
- package/.claude/commands/BMad/tasks/risk-profile.md +0 -359
- package/.claude/commands/BMad/tasks/shard-doc.md +0 -191
- package/.claude/commands/BMad/tasks/test-design.md +0 -180
- package/.claude/commands/BMad/tasks/trace-requirements.md +0 -270
- package/.claude/commands/BMad/tasks/validate-next-story.md +0 -140
- package/.claude/commands/BMad/ux-expert.md +0 -73
- package/.claude/commands/bmad/bmm/agents/analyst.md +0 -14
- package/.claude/commands/bmad/bmm/agents/architect.md +0 -14
- package/.claude/commands/bmad/bmm/agents/dev.md +0 -14
- package/.claude/commands/bmad/bmm/agents/frame-expert.md +0 -14
- package/.claude/commands/bmad/bmm/agents/pm.md +0 -14
- package/.claude/commands/bmad/bmm/agents/sm.md +0 -14
- package/.claude/commands/bmad/bmm/agents/tea.md +0 -14
- package/.claude/commands/bmad/bmm/agents/tech-writer.md +0 -14
- package/.claude/commands/bmad/bmm/agents/ux-designer.md +0 -14
- package/.claude/commands/bmad/bmm/workflows/architecture.md +0 -13
- package/.claude/commands/bmad/bmm/workflows/brainstorm-project.md +0 -13
- package/.claude/commands/bmad/bmm/workflows/code-review.md +0 -13
- package/.claude/commands/bmad/bmm/workflows/correct-course.md +0 -13
- package/.claude/commands/bmad/bmm/workflows/create-dataflow.md +0 -13
- package/.claude/commands/bmad/bmm/workflows/create-diagram.md +0 -13
- package/.claude/commands/bmad/bmm/workflows/create-epics-and-stories.md +0 -13
- package/.claude/commands/bmad/bmm/workflows/create-flowchart.md +0 -13
- package/.claude/commands/bmad/bmm/workflows/create-story.md +0 -13
- package/.claude/commands/bmad/bmm/workflows/create-ux-design.md +0 -13
- package/.claude/commands/bmad/bmm/workflows/create-wireframe.md +0 -13
- package/.claude/commands/bmad/bmm/workflows/dev-story.md +0 -13
- package/.claude/commands/bmad/bmm/workflows/document-project.md +0 -13
- package/.claude/commands/bmad/bmm/workflows/domain-research.md +0 -13
- package/.claude/commands/bmad/bmm/workflows/epic-tech-context.md +0 -13
- package/.claude/commands/bmad/bmm/workflows/implementation-readiness.md +0 -13
- package/.claude/commands/bmad/bmm/workflows/prd.md +0 -13
- package/.claude/commands/bmad/bmm/workflows/product-brief.md +0 -13
- package/.claude/commands/bmad/bmm/workflows/research.md +0 -13
- package/.claude/commands/bmad/bmm/workflows/retrospective.md +0 -13
- package/.claude/commands/bmad/bmm/workflows/sprint-planning.md +0 -13
- package/.claude/commands/bmad/bmm/workflows/story-context.md +0 -13
- package/.claude/commands/bmad/bmm/workflows/story-done.md +0 -13
- package/.claude/commands/bmad/bmm/workflows/story-ready.md +0 -13
- package/.claude/commands/bmad/bmm/workflows/tech-spec.md +0 -13
- package/.claude/commands/bmad/bmm/workflows/workflow-init.md +0 -13
- package/.claude/commands/bmad/bmm/workflows/workflow-status.md +0 -13
- package/.claude/commands/bmad/core/agents/bmad-master.md +0 -14
- package/.claude/commands/bmad/core/tasks/advanced-elicitation.md +0 -9
- 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/brainstorming.md +0 -13
- package/.claude/commands/bmad/core/workflows/party-mode.md +0 -13
- package/.claude/github-star-reminder.txt +0 -1
- package/.claude/hooks/bmad-party-manager.sh +0 -225
- package/.claude/hooks/stop.sh +0 -221
- package/.claude/piper-voices-dir.txt +0 -1
- package/.claude/plugins/bmad-voices-enabled.flag +0 -0
- package/.mcp.json +0 -88
- package/RELEASE_NOTES_v2.4.0_DRAFT.md +0 -116
- package/RELEASE_NOTES_v2.4.1_DRAFT.md +0 -61
- package/docs/2025-11-15_15-14-33.snagx +0 -0
- package/docs/Screenshot 2025-11-15 151325.png +0 -0
- package/docs/Screenshot 2025-11-15 151432.png +0 -0
- package/docs/macos-piper-issue.md +0 -172
- package/docs/stargazer-cms-prd.md +0 -1918
- package/docs/whatsapp-plugin-github-issue.md +0 -393
- package/docs/whatsapp-tts-plugin-feasibility.md +0 -418
- package/docs/whatsapp-tts-standalone-plugin.md +0 -628
- package/github-profile-draft.md +0 -57
- package/linkedin/vibe-coding-and-pulseaudio.md +0 -121
- package/mcp-server/agentvibes.db +0 -0
- package/scripts/audio-tunnel.config +0 -17
- package/v4-backup/.bmad-core/agent-teams/team-all.yaml +0 -15
- package/v4-backup/.bmad-core/agent-teams/team-fullstack.yaml +0 -19
- package/v4-backup/.bmad-core/agent-teams/team-ide-minimal.yaml +0 -11
- package/v4-backup/.bmad-core/agent-teams/team-no-ui.yaml +0 -14
- package/v4-backup/.bmad-core/agents/analyst.md +0 -84
- package/v4-backup/.bmad-core/agents/architect.md +0 -85
- package/v4-backup/.bmad-core/agents/bmad-master.md +0 -110
- package/v4-backup/.bmad-core/agents/bmad-orchestrator.md +0 -147
- package/v4-backup/.bmad-core/agents/dev.md +0 -81
- package/v4-backup/.bmad-core/agents/pm.md +0 -84
- package/v4-backup/.bmad-core/agents/po.md +0 -79
- package/v4-backup/.bmad-core/agents/qa.md +0 -87
- package/v4-backup/.bmad-core/agents/sm.md +0 -65
- package/v4-backup/.bmad-core/agents/ux-expert.md +0 -69
- package/v4-backup/.bmad-core/checklists/architect-checklist.md +0 -440
- package/v4-backup/.bmad-core/checklists/change-checklist.md +0 -184
- package/v4-backup/.bmad-core/checklists/pm-checklist.md +0 -372
- package/v4-backup/.bmad-core/checklists/po-master-checklist.md +0 -434
- package/v4-backup/.bmad-core/checklists/story-dod-checklist.md +0 -96
- package/v4-backup/.bmad-core/checklists/story-draft-checklist.md +0 -155
- package/v4-backup/.bmad-core/core-config.yaml +0 -22
- package/v4-backup/.bmad-core/data/bmad-kb.md +0 -809
- package/v4-backup/.bmad-core/data/brainstorming-techniques.md +0 -38
- package/v4-backup/.bmad-core/data/elicitation-methods.md +0 -156
- package/v4-backup/.bmad-core/data/technical-preferences.md +0 -5
- package/v4-backup/.bmad-core/data/test-levels-framework.md +0 -148
- package/v4-backup/.bmad-core/data/test-priorities-matrix.md +0 -174
- package/v4-backup/.bmad-core/enhanced-ide-development-workflow.md +0 -248
- package/v4-backup/.bmad-core/install-manifest.yaml +0 -230
- package/v4-backup/.bmad-core/tasks/advanced-elicitation.md +0 -119
- package/v4-backup/.bmad-core/tasks/apply-qa-fixes.md +0 -150
- package/v4-backup/.bmad-core/tasks/brownfield-create-epic.md +0 -162
- package/v4-backup/.bmad-core/tasks/brownfield-create-story.md +0 -149
- package/v4-backup/.bmad-core/tasks/correct-course.md +0 -72
- package/v4-backup/.bmad-core/tasks/create-brownfield-story.md +0 -314
- package/v4-backup/.bmad-core/tasks/create-deep-research-prompt.md +0 -280
- package/v4-backup/.bmad-core/tasks/create-doc.md +0 -103
- package/v4-backup/.bmad-core/tasks/create-next-story.md +0 -114
- package/v4-backup/.bmad-core/tasks/document-project.md +0 -345
- package/v4-backup/.bmad-core/tasks/execute-checklist.md +0 -88
- package/v4-backup/.bmad-core/tasks/facilitate-brainstorming-session.md +0 -138
- package/v4-backup/.bmad-core/tasks/generate-ai-frontend-prompt.md +0 -53
- package/v4-backup/.bmad-core/tasks/index-docs.md +0 -175
- package/v4-backup/.bmad-core/tasks/kb-mode-interaction.md +0 -77
- package/v4-backup/.bmad-core/tasks/nfr-assess.md +0 -345
- package/v4-backup/.bmad-core/tasks/qa-gate.md +0 -163
- package/v4-backup/.bmad-core/tasks/review-story.md +0 -316
- package/v4-backup/.bmad-core/tasks/risk-profile.md +0 -355
- package/v4-backup/.bmad-core/tasks/shard-doc.md +0 -187
- package/v4-backup/.bmad-core/tasks/test-design.md +0 -176
- package/v4-backup/.bmad-core/tasks/trace-requirements.md +0 -266
- package/v4-backup/.bmad-core/tasks/validate-next-story.md +0 -136
- package/v4-backup/.bmad-core/templates/architecture-tmpl.yaml +0 -651
- package/v4-backup/.bmad-core/templates/brainstorming-output-tmpl.yaml +0 -156
- package/v4-backup/.bmad-core/templates/brownfield-architecture-tmpl.yaml +0 -477
- package/v4-backup/.bmad-core/templates/brownfield-prd-tmpl.yaml +0 -281
- package/v4-backup/.bmad-core/templates/competitor-analysis-tmpl.yaml +0 -307
- package/v4-backup/.bmad-core/templates/front-end-architecture-tmpl.yaml +0 -219
- package/v4-backup/.bmad-core/templates/front-end-spec-tmpl.yaml +0 -350
- package/v4-backup/.bmad-core/templates/fullstack-architecture-tmpl.yaml +0 -824
- package/v4-backup/.bmad-core/templates/market-research-tmpl.yaml +0 -253
- package/v4-backup/.bmad-core/templates/prd-tmpl.yaml +0 -203
- package/v4-backup/.bmad-core/templates/project-brief-tmpl.yaml +0 -222
- package/v4-backup/.bmad-core/templates/qa-gate-tmpl.yaml +0 -103
- package/v4-backup/.bmad-core/templates/story-tmpl.yaml +0 -138
- package/v4-backup/.bmad-core/user-guide.md +0 -577
- package/v4-backup/.bmad-core/utils/bmad-doc-template.md +0 -327
- package/v4-backup/.bmad-core/utils/workflow-management.md +0 -71
- package/v4-backup/.bmad-core/workflows/brownfield-fullstack.yaml +0 -298
- package/v4-backup/.bmad-core/workflows/brownfield-service.yaml +0 -188
- package/v4-backup/.bmad-core/workflows/brownfield-ui.yaml +0 -198
- package/v4-backup/.bmad-core/workflows/greenfield-fullstack.yaml +0 -241
- package/v4-backup/.bmad-core/workflows/greenfield-service.yaml +0 -207
- package/v4-backup/.bmad-core/workflows/greenfield-ui.yaml +0 -236
- package/v4-backup/.bmad-core/working-in-the-brownfield.md +0 -606
|
@@ -0,0 +1,539 @@
|
|
|
1
|
+
#!/usr/bin/env bash
|
|
2
|
+
#
|
|
3
|
+
# AgentVibes Migration Testing Script
|
|
4
|
+
# Tests the migration from .claude/config/ and .claude/plugins/ to .agentvibes/
|
|
5
|
+
#
|
|
6
|
+
# Usage: ./test-migration.sh
|
|
7
|
+
#
|
|
8
|
+
|
|
9
|
+
set -e
|
|
10
|
+
|
|
11
|
+
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
12
|
+
|
|
13
|
+
# Colors
|
|
14
|
+
GREEN='\033[0;32m'
|
|
15
|
+
BLUE='\033[0;34m'
|
|
16
|
+
YELLOW='\033[1;33m'
|
|
17
|
+
RED='\033[0;31m'
|
|
18
|
+
CYAN='\033[0;36m'
|
|
19
|
+
NC='\033[0m' # No Color
|
|
20
|
+
|
|
21
|
+
# Test counters
|
|
22
|
+
TESTS_RUN=0
|
|
23
|
+
TESTS_PASSED=0
|
|
24
|
+
TESTS_FAILED=0
|
|
25
|
+
|
|
26
|
+
# Cleanup function
|
|
27
|
+
cleanup() {
|
|
28
|
+
if [[ -n "${TEST_DIR:-}" ]] && [[ -d "$TEST_DIR" ]]; then
|
|
29
|
+
echo ""
|
|
30
|
+
echo -e "${YELLOW}🧹 Cleaning up test directory...${NC}"
|
|
31
|
+
rm -rf "$TEST_DIR"
|
|
32
|
+
echo -e "${GREEN}✓ Cleanup complete${NC}"
|
|
33
|
+
fi
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
# Register cleanup on exit
|
|
37
|
+
trap cleanup EXIT
|
|
38
|
+
|
|
39
|
+
# Helper: Assert file exists
|
|
40
|
+
assert_file_exists() {
|
|
41
|
+
local file="$1"
|
|
42
|
+
local description="$2"
|
|
43
|
+
|
|
44
|
+
TESTS_RUN=$((TESTS_RUN + 1))
|
|
45
|
+
|
|
46
|
+
if [[ -f "$file" ]]; then
|
|
47
|
+
echo -e " ${GREEN}✓ PASS:${NC} $description"
|
|
48
|
+
echo -e " ${CYAN}→${NC} $file"
|
|
49
|
+
TESTS_PASSED=$((TESTS_PASSED + 1))
|
|
50
|
+
return 0
|
|
51
|
+
else
|
|
52
|
+
echo -e " ${RED}✗ FAIL:${NC} $description"
|
|
53
|
+
echo -e " ${CYAN}→${NC} Expected: $file"
|
|
54
|
+
TESTS_FAILED=$((TESTS_FAILED + 1))
|
|
55
|
+
return 1
|
|
56
|
+
fi
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
# Helper: Assert file does NOT exist
|
|
60
|
+
assert_file_not_exists() {
|
|
61
|
+
local file="$1"
|
|
62
|
+
local description="$2"
|
|
63
|
+
|
|
64
|
+
TESTS_RUN=$((TESTS_RUN + 1))
|
|
65
|
+
|
|
66
|
+
if [[ ! -f "$file" ]]; then
|
|
67
|
+
echo -e " ${GREEN}✓ PASS:${NC} $description"
|
|
68
|
+
echo -e " ${CYAN}→${NC} File correctly absent: $file"
|
|
69
|
+
TESTS_PASSED=$((TESTS_PASSED + 1))
|
|
70
|
+
return 0
|
|
71
|
+
else
|
|
72
|
+
echo -e " ${RED}✗ FAIL:${NC} $description"
|
|
73
|
+
echo -e " ${CYAN}→${NC} File should not exist: $file"
|
|
74
|
+
TESTS_FAILED=$((TESTS_FAILED + 1))
|
|
75
|
+
return 1
|
|
76
|
+
fi
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
# Helper: Assert directory exists
|
|
80
|
+
assert_dir_exists() {
|
|
81
|
+
local dir="$1"
|
|
82
|
+
local description="$2"
|
|
83
|
+
|
|
84
|
+
TESTS_RUN=$((TESTS_RUN + 1))
|
|
85
|
+
|
|
86
|
+
if [[ -d "$dir" ]]; then
|
|
87
|
+
echo -e " ${GREEN}✓ PASS:${NC} $description"
|
|
88
|
+
echo -e " ${CYAN}→${NC} $dir"
|
|
89
|
+
TESTS_PASSED=$((TESTS_PASSED + 1))
|
|
90
|
+
return 0
|
|
91
|
+
else
|
|
92
|
+
echo -e " ${RED}✗ FAIL:${NC} $description"
|
|
93
|
+
echo -e " ${CYAN}→${NC} Expected: $dir"
|
|
94
|
+
TESTS_FAILED=$((TESTS_FAILED + 1))
|
|
95
|
+
return 1
|
|
96
|
+
fi
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
# Helper: Assert directory does NOT exist
|
|
100
|
+
assert_dir_not_exists() {
|
|
101
|
+
local dir="$1"
|
|
102
|
+
local description="$2"
|
|
103
|
+
|
|
104
|
+
TESTS_RUN=$((TESTS_RUN + 1))
|
|
105
|
+
|
|
106
|
+
if [[ ! -d "$dir" ]]; then
|
|
107
|
+
echo -e " ${GREEN}✓ PASS:${NC} $description"
|
|
108
|
+
echo -e " ${CYAN}→${NC} Directory correctly absent: $dir"
|
|
109
|
+
TESTS_PASSED=$((TESTS_PASSED + 1))
|
|
110
|
+
return 0
|
|
111
|
+
else
|
|
112
|
+
echo -e " ${RED}✗ FAIL:${NC} $description"
|
|
113
|
+
echo -e " ${CYAN}→${NC} Directory should not exist: $dir"
|
|
114
|
+
TESTS_FAILED=$((TESTS_FAILED + 1))
|
|
115
|
+
return 1
|
|
116
|
+
fi
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
# Helper: Assert file contains text
|
|
120
|
+
assert_file_contains() {
|
|
121
|
+
local file="$1"
|
|
122
|
+
local pattern="$2"
|
|
123
|
+
local description="$3"
|
|
124
|
+
|
|
125
|
+
TESTS_RUN=$((TESTS_RUN + 1))
|
|
126
|
+
|
|
127
|
+
if grep -q "$pattern" "$file" 2>/dev/null; then
|
|
128
|
+
echo -e " ${GREEN}✓ PASS:${NC} $description"
|
|
129
|
+
echo -e " ${CYAN}→${NC} Found pattern in $file"
|
|
130
|
+
TESTS_PASSED=$((TESTS_PASSED + 1))
|
|
131
|
+
return 0
|
|
132
|
+
else
|
|
133
|
+
echo -e " ${RED}✗ FAIL:${NC} $description"
|
|
134
|
+
echo -e " ${CYAN}→${NC} Pattern not found: $pattern in $file"
|
|
135
|
+
TESTS_FAILED=$((TESTS_FAILED + 1))
|
|
136
|
+
return 1
|
|
137
|
+
fi
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
clear
|
|
141
|
+
|
|
142
|
+
echo ""
|
|
143
|
+
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
|
|
144
|
+
echo "🧪 AgentVibes Migration Test Suite"
|
|
145
|
+
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
|
|
146
|
+
echo ""
|
|
147
|
+
echo -e "${BLUE}This script tests the migration from:${NC}"
|
|
148
|
+
echo " • .claude/config/ → .agentvibes/config/"
|
|
149
|
+
echo " • .claude/plugins/ → .agentvibes/bmad/"
|
|
150
|
+
echo ""
|
|
151
|
+
echo -e "${BLUE}Test scenarios:${NC}"
|
|
152
|
+
echo " 1. Fresh Install - New .agentvibes/ structure"
|
|
153
|
+
echo " 2. Upgrade from v2.9.x - Auto-migration"
|
|
154
|
+
echo " 3. Manual Migration - Script execution"
|
|
155
|
+
echo " 4. BMAD Integration - Voice mappings"
|
|
156
|
+
echo " 5. Pretext Configuration - Location"
|
|
157
|
+
echo " 6. No Old Config - No errors"
|
|
158
|
+
echo ""
|
|
159
|
+
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
|
|
160
|
+
echo ""
|
|
161
|
+
|
|
162
|
+
read -p "Press Enter to start tests..."
|
|
163
|
+
echo ""
|
|
164
|
+
|
|
165
|
+
#═══════════════════════════════════════════════════════════════
|
|
166
|
+
# TEST 1: Fresh Install - Verify .agentvibes/ is created directly
|
|
167
|
+
#═══════════════════════════════════════════════════════════════
|
|
168
|
+
|
|
169
|
+
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
|
|
170
|
+
echo "📦 Test 1: Fresh Install"
|
|
171
|
+
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
|
|
172
|
+
echo ""
|
|
173
|
+
echo -e "${CYAN}Testing: npx agentvibes install (fresh)${NC}"
|
|
174
|
+
echo ""
|
|
175
|
+
|
|
176
|
+
# Create clean test directory
|
|
177
|
+
TEST_DIR=$(mktemp -d -t agentvibes-test-XXXXXX)
|
|
178
|
+
cd "$TEST_DIR"
|
|
179
|
+
echo -e "${BLUE}Test directory: $TEST_DIR${NC}"
|
|
180
|
+
echo ""
|
|
181
|
+
|
|
182
|
+
# Run installer (simulated - we'll just copy files)
|
|
183
|
+
echo "Simulating fresh install..."
|
|
184
|
+
mkdir -p .claude/{commands,hooks,personalities,output-styles}
|
|
185
|
+
mkdir -p .agentvibes/{bmad,config}
|
|
186
|
+
|
|
187
|
+
# Copy essential files from source
|
|
188
|
+
cp "$SCRIPT_DIR/.claude/hooks/migrate-to-agentvibes.sh" .claude/hooks/ 2>/dev/null || true
|
|
189
|
+
cp "$SCRIPT_DIR/.claude/hooks/bmad-voice-manager.sh" .claude/hooks/ 2>/dev/null || true
|
|
190
|
+
|
|
191
|
+
# Create fresh config files in new location
|
|
192
|
+
echo '{"pretext": "AgentVibes"}' > .agentvibes/config/agentvibes.json
|
|
193
|
+
echo '{"version": "1.0"}' > .agentvibes/config/personality-voice-defaults.default.json
|
|
194
|
+
touch .agentvibes/bmad/bmad-voices-enabled.flag
|
|
195
|
+
|
|
196
|
+
echo ""
|
|
197
|
+
echo -e "${YELLOW}Running assertions...${NC}"
|
|
198
|
+
echo ""
|
|
199
|
+
|
|
200
|
+
# Assertions
|
|
201
|
+
assert_dir_exists ".agentvibes" "Created .agentvibes/ directory"
|
|
202
|
+
assert_dir_exists ".agentvibes/bmad" "Created .agentvibes/bmad/ subdirectory"
|
|
203
|
+
assert_dir_exists ".agentvibes/config" "Created .agentvibes/config/ subdirectory"
|
|
204
|
+
assert_file_exists ".agentvibes/config/agentvibes.json" "Created agentvibes.json in new location"
|
|
205
|
+
assert_dir_not_exists ".claude/plugins" "Did NOT create .claude/plugins/"
|
|
206
|
+
assert_file_not_exists ".claude/config/agentvibes.json" "Did NOT create config in old location"
|
|
207
|
+
|
|
208
|
+
echo ""
|
|
209
|
+
|
|
210
|
+
#═══════════════════════════════════════════════════════════════
|
|
211
|
+
# TEST 2: Upgrade from v2.9.x - Verify auto-migration
|
|
212
|
+
#═══════════════════════════════════════════════════════════════
|
|
213
|
+
|
|
214
|
+
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
|
|
215
|
+
echo "🔄 Test 2: Upgrade from v2.9.x (Auto-Migration)"
|
|
216
|
+
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
|
|
217
|
+
echo ""
|
|
218
|
+
echo -e "${CYAN}Testing: Upgrade path with old config${NC}"
|
|
219
|
+
echo ""
|
|
220
|
+
|
|
221
|
+
# Clean and recreate test directory
|
|
222
|
+
cd /tmp
|
|
223
|
+
rm -rf "$TEST_DIR"
|
|
224
|
+
TEST_DIR=$(mktemp -d -t agentvibes-test-XXXXXX)
|
|
225
|
+
cd "$TEST_DIR"
|
|
226
|
+
echo -e "${BLUE}Test directory: $TEST_DIR${NC}"
|
|
227
|
+
echo ""
|
|
228
|
+
|
|
229
|
+
# Simulate old v2.9.x installation
|
|
230
|
+
echo "Creating v2.9.x directory structure..."
|
|
231
|
+
mkdir -p .claude/{config,plugins,hooks}
|
|
232
|
+
|
|
233
|
+
# Create old config files
|
|
234
|
+
echo '{"pretext": "OldPretext"}' > .claude/config/agentvibes.json
|
|
235
|
+
echo '{"version": "1.0"}' > .claude/config/personality-voice-defaults.default.json
|
|
236
|
+
echo "# Personality README" > .claude/config/README-personality-defaults.md
|
|
237
|
+
touch .claude/plugins/bmad-voices-enabled.flag
|
|
238
|
+
touch .claude/plugins/bmad-party-mode-disabled.flag
|
|
239
|
+
|
|
240
|
+
# Copy migration script
|
|
241
|
+
cp "$SCRIPT_DIR/.claude/hooks/migrate-to-agentvibes.sh" .claude/hooks/
|
|
242
|
+
|
|
243
|
+
echo ""
|
|
244
|
+
echo -e "${YELLOW}Running migration script...${NC}"
|
|
245
|
+
echo ""
|
|
246
|
+
|
|
247
|
+
# Run migration
|
|
248
|
+
bash .claude/hooks/migrate-to-agentvibes.sh
|
|
249
|
+
|
|
250
|
+
echo ""
|
|
251
|
+
echo -e "${YELLOW}Running assertions...${NC}"
|
|
252
|
+
echo ""
|
|
253
|
+
|
|
254
|
+
# Assertions - Files should be in new location
|
|
255
|
+
assert_file_exists ".agentvibes/config/agentvibes.json" "Migrated agentvibes.json"
|
|
256
|
+
assert_file_exists ".agentvibes/config/personality-voice-defaults.default.json" "Migrated personality defaults"
|
|
257
|
+
assert_file_exists ".agentvibes/config/README-personality-defaults.md" "Migrated README"
|
|
258
|
+
assert_file_exists ".agentvibes/bmad/bmad-voices-enabled.flag" "Migrated BMAD enabled flag"
|
|
259
|
+
assert_file_exists ".agentvibes/bmad/bmad-party-mode-disabled.flag" "Migrated party mode flag"
|
|
260
|
+
|
|
261
|
+
# Old files should be gone
|
|
262
|
+
assert_file_not_exists ".claude/config/agentvibes.json" "Removed old agentvibes.json"
|
|
263
|
+
assert_file_not_exists ".claude/plugins/bmad-voices-enabled.flag" "Removed old BMAD flag"
|
|
264
|
+
assert_dir_not_exists ".claude/plugins" "Removed empty .claude/plugins/"
|
|
265
|
+
|
|
266
|
+
# Check content preserved
|
|
267
|
+
assert_file_contains ".agentvibes/config/agentvibes.json" "OldPretext" "Preserved pretext value"
|
|
268
|
+
|
|
269
|
+
echo ""
|
|
270
|
+
|
|
271
|
+
#═══════════════════════════════════════════════════════════════
|
|
272
|
+
# TEST 3: Manual Migration - Script execution
|
|
273
|
+
#═══════════════════════════════════════════════════════════════
|
|
274
|
+
|
|
275
|
+
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
|
|
276
|
+
echo "🛠️ Test 3: Manual Migration Script"
|
|
277
|
+
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
|
|
278
|
+
echo ""
|
|
279
|
+
echo -e "${CYAN}Testing: Manual execution of migrate-to-agentvibes.sh${NC}"
|
|
280
|
+
echo ""
|
|
281
|
+
|
|
282
|
+
# Clean and recreate
|
|
283
|
+
cd /tmp
|
|
284
|
+
rm -rf "$TEST_DIR"
|
|
285
|
+
TEST_DIR=$(mktemp -d -t agentvibes-test-XXXXXX)
|
|
286
|
+
cd "$TEST_DIR"
|
|
287
|
+
echo -e "${BLUE}Test directory: $TEST_DIR${NC}"
|
|
288
|
+
echo ""
|
|
289
|
+
|
|
290
|
+
# Setup old structure with mixed old/new
|
|
291
|
+
mkdir -p .claude/{config,plugins,hooks}
|
|
292
|
+
mkdir -p .agentvibes/{bmad,config}
|
|
293
|
+
|
|
294
|
+
# Some files in old location, some already migrated
|
|
295
|
+
echo '{"pretext": "Test"}' > .claude/config/agentvibes.json
|
|
296
|
+
touch .agentvibes/bmad/bmad-voices-enabled.flag # Already migrated
|
|
297
|
+
touch .claude/plugins/bmad-party-mode-disabled.flag # Not yet migrated
|
|
298
|
+
|
|
299
|
+
cp "$SCRIPT_DIR/.claude/hooks/migrate-to-agentvibes.sh" .claude/hooks/
|
|
300
|
+
|
|
301
|
+
echo ""
|
|
302
|
+
echo -e "${YELLOW}Running migration script...${NC}"
|
|
303
|
+
echo ""
|
|
304
|
+
|
|
305
|
+
bash .claude/hooks/migrate-to-agentvibes.sh
|
|
306
|
+
|
|
307
|
+
echo ""
|
|
308
|
+
echo -e "${YELLOW}Running assertions...${NC}"
|
|
309
|
+
echo ""
|
|
310
|
+
|
|
311
|
+
# Both should now be in new location
|
|
312
|
+
assert_file_exists ".agentvibes/config/agentvibes.json" "Migrated remaining config"
|
|
313
|
+
assert_file_exists ".agentvibes/bmad/bmad-party-mode-disabled.flag" "Migrated remaining flag"
|
|
314
|
+
assert_file_not_exists ".claude/config/agentvibes.json" "Removed old config"
|
|
315
|
+
assert_file_not_exists ".claude/plugins/bmad-party-mode-disabled.flag" "Removed old flag"
|
|
316
|
+
|
|
317
|
+
echo ""
|
|
318
|
+
|
|
319
|
+
#═══════════════════════════════════════════════════════════════
|
|
320
|
+
# TEST 4: BMAD Integration - Voice mappings work
|
|
321
|
+
#═══════════════════════════════════════════════════════════════
|
|
322
|
+
|
|
323
|
+
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
|
|
324
|
+
echo "🎤 Test 4: BMAD Integration"
|
|
325
|
+
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
|
|
326
|
+
echo ""
|
|
327
|
+
echo -e "${CYAN}Testing: BMAD voice mappings in new location${NC}"
|
|
328
|
+
echo ""
|
|
329
|
+
|
|
330
|
+
cd /tmp
|
|
331
|
+
rm -rf "$TEST_DIR"
|
|
332
|
+
TEST_DIR=$(mktemp -d -t agentvibes-test-XXXXXX)
|
|
333
|
+
cd "$TEST_DIR"
|
|
334
|
+
echo -e "${BLUE}Test directory: $TEST_DIR${NC}"
|
|
335
|
+
echo ""
|
|
336
|
+
|
|
337
|
+
# Setup BMAD structure
|
|
338
|
+
mkdir -p .agentvibes/bmad
|
|
339
|
+
mkdir -p .claude/hooks
|
|
340
|
+
mkdir -p .bmad/_cfg
|
|
341
|
+
|
|
342
|
+
# Create voice mapping file
|
|
343
|
+
cat > .agentvibes/bmad/bmad-voices.md <<'EOF'
|
|
344
|
+
| Agent ID | Agent Name | Intro | ElevenLabs Voice | Piper Voice | Personality |
|
|
345
|
+
|----------|------------|-------|------------------|-------------|-------------|
|
|
346
|
+
| pm | John | Product Manager | Jessica Anne Bogart | en_US-lessac-medium | professional |
|
|
347
|
+
| dev | Sarah | Developer | Matthew Schmitz | en_US-amy-medium | friendly |
|
|
348
|
+
EOF
|
|
349
|
+
|
|
350
|
+
# Create CSV version (v6 format)
|
|
351
|
+
cat > .bmad/_cfg/agent-voice-map.csv <<'EOF'
|
|
352
|
+
pm,en_US-lessac-medium
|
|
353
|
+
dev,en_US-amy-medium
|
|
354
|
+
EOF
|
|
355
|
+
|
|
356
|
+
touch .agentvibes/bmad/bmad-voices-enabled.flag
|
|
357
|
+
|
|
358
|
+
# Copy bmad-voice-manager.sh
|
|
359
|
+
cp "$SCRIPT_DIR/.claude/hooks/bmad-voice-manager.sh" .claude/hooks/ 2>/dev/null || true
|
|
360
|
+
|
|
361
|
+
echo ""
|
|
362
|
+
echo -e "${YELLOW}Running assertions...${NC}"
|
|
363
|
+
echo ""
|
|
364
|
+
|
|
365
|
+
# Verify structure
|
|
366
|
+
assert_file_exists ".agentvibes/bmad/bmad-voices.md" "Created voice mapping file"
|
|
367
|
+
assert_file_exists ".agentvibes/bmad/bmad-voices-enabled.flag" "Created enabled flag"
|
|
368
|
+
assert_file_contains ".agentvibes/bmad/bmad-voices.md" "pm" "Voice mapping contains pm agent"
|
|
369
|
+
assert_file_contains ".agentvibes/bmad/bmad-voices.md" "dev" "Voice mapping contains dev agent"
|
|
370
|
+
|
|
371
|
+
# Test bmad-voice-manager.sh if available
|
|
372
|
+
if [[ -f ".claude/hooks/bmad-voice-manager.sh" ]]; then
|
|
373
|
+
# Test get-voice function
|
|
374
|
+
VOICE=$(bash .claude/hooks/bmad-voice-manager.sh get-voice pm)
|
|
375
|
+
if [[ -n "$VOICE" ]]; then
|
|
376
|
+
echo -e " ${GREEN}✓ PASS:${NC} bmad-voice-manager.sh can read from new location"
|
|
377
|
+
echo -e " ${CYAN}→${NC} Retrieved voice: $VOICE"
|
|
378
|
+
TESTS_PASSED=$((TESTS_PASSED + 1))
|
|
379
|
+
else
|
|
380
|
+
echo -e " ${RED}✗ FAIL:${NC} bmad-voice-manager.sh could not read voice"
|
|
381
|
+
TESTS_FAILED=$((TESTS_FAILED + 1))
|
|
382
|
+
fi
|
|
383
|
+
TESTS_RUN=$((TESTS_RUN + 1))
|
|
384
|
+
fi
|
|
385
|
+
|
|
386
|
+
echo ""
|
|
387
|
+
|
|
388
|
+
#═══════════════════════════════════════════════════════════════
|
|
389
|
+
# TEST 5: Pretext - Uses new location
|
|
390
|
+
#═══════════════════════════════════════════════════════════════
|
|
391
|
+
|
|
392
|
+
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
|
|
393
|
+
echo "📝 Test 5: Pretext Configuration"
|
|
394
|
+
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
|
|
395
|
+
echo ""
|
|
396
|
+
echo -e "${CYAN}Testing: Pretext reads from .agentvibes/config/${NC}"
|
|
397
|
+
echo ""
|
|
398
|
+
|
|
399
|
+
cd /tmp
|
|
400
|
+
rm -rf "$TEST_DIR"
|
|
401
|
+
TEST_DIR=$(mktemp -d -t agentvibes-test-XXXXXX)
|
|
402
|
+
cd "$TEST_DIR"
|
|
403
|
+
echo -e "${BLUE}Test directory: $TEST_DIR${NC}"
|
|
404
|
+
echo ""
|
|
405
|
+
|
|
406
|
+
# Setup new structure
|
|
407
|
+
mkdir -p .agentvibes/config
|
|
408
|
+
mkdir -p .claude/hooks
|
|
409
|
+
|
|
410
|
+
# Create pretext config
|
|
411
|
+
echo '{"pretext": "MyProject"}' > .agentvibes/config/agentvibes.json
|
|
412
|
+
|
|
413
|
+
# Copy play-tts-elevenlabs.sh to test
|
|
414
|
+
cp "$SCRIPT_DIR/.claude/hooks/play-tts-elevenlabs.sh" .claude/hooks/ 2>/dev/null || true
|
|
415
|
+
|
|
416
|
+
echo ""
|
|
417
|
+
echo -e "${YELLOW}Running assertions...${NC}"
|
|
418
|
+
echo ""
|
|
419
|
+
|
|
420
|
+
assert_file_exists ".agentvibes/config/agentvibes.json" "Pretext config in new location"
|
|
421
|
+
assert_file_contains ".agentvibes/config/agentvibes.json" "MyProject" "Pretext value set correctly"
|
|
422
|
+
|
|
423
|
+
# Test if play-tts-elevenlabs.sh references new path
|
|
424
|
+
if [[ -f ".claude/hooks/play-tts-elevenlabs.sh" ]]; then
|
|
425
|
+
if grep -q ".agentvibes/config" ".claude/hooks/play-tts-elevenlabs.sh"; then
|
|
426
|
+
echo -e " ${GREEN}✓ PASS:${NC} play-tts-elevenlabs.sh uses new config path"
|
|
427
|
+
echo -e " ${CYAN}→${NC} References .agentvibes/config/"
|
|
428
|
+
TESTS_PASSED=$((TESTS_PASSED + 1))
|
|
429
|
+
else
|
|
430
|
+
echo -e " ${RED}✗ FAIL:${NC} play-tts-elevenlabs.sh does not reference new path"
|
|
431
|
+
TESTS_FAILED=$((TESTS_FAILED + 1))
|
|
432
|
+
fi
|
|
433
|
+
TESTS_RUN=$((TESTS_RUN + 1))
|
|
434
|
+
fi
|
|
435
|
+
|
|
436
|
+
echo ""
|
|
437
|
+
|
|
438
|
+
#═══════════════════════════════════════════════════════════════
|
|
439
|
+
# TEST 6: No Old Config - No errors
|
|
440
|
+
#═══════════════════════════════════════════════════════════════
|
|
441
|
+
|
|
442
|
+
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
|
|
443
|
+
echo "✅ Test 6: No Old Config (No Migration Needed)"
|
|
444
|
+
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
|
|
445
|
+
echo ""
|
|
446
|
+
echo -e "${CYAN}Testing: Migration script with no old config${NC}"
|
|
447
|
+
echo ""
|
|
448
|
+
|
|
449
|
+
cd /tmp
|
|
450
|
+
rm -rf "$TEST_DIR"
|
|
451
|
+
TEST_DIR=$(mktemp -d -t agentvibes-test-XXXXXX)
|
|
452
|
+
cd "$TEST_DIR"
|
|
453
|
+
echo -e "${BLUE}Test directory: $TEST_DIR${NC}"
|
|
454
|
+
echo ""
|
|
455
|
+
|
|
456
|
+
# Setup only new structure (no old config)
|
|
457
|
+
mkdir -p .agentvibes/{bmad,config}
|
|
458
|
+
mkdir -p .claude/hooks
|
|
459
|
+
|
|
460
|
+
# Create only new config
|
|
461
|
+
echo '{"pretext": "NewInstall"}' > .agentvibes/config/agentvibes.json
|
|
462
|
+
|
|
463
|
+
cp "$SCRIPT_DIR/.claude/hooks/migrate-to-agentvibes.sh" .claude/hooks/
|
|
464
|
+
|
|
465
|
+
echo ""
|
|
466
|
+
echo -e "${YELLOW}Running migration script (should be no-op)...${NC}"
|
|
467
|
+
echo ""
|
|
468
|
+
|
|
469
|
+
# Run migration - should complete without errors
|
|
470
|
+
if bash .claude/hooks/migrate-to-agentvibes.sh > /tmp/migration-output.txt 2>&1; then
|
|
471
|
+
echo -e " ${GREEN}✓ PASS:${NC} Migration script ran without errors"
|
|
472
|
+
TESTS_PASSED=$((TESTS_PASSED + 1))
|
|
473
|
+
else
|
|
474
|
+
echo -e " ${RED}✗ FAIL:${NC} Migration script failed"
|
|
475
|
+
cat /tmp/migration-output.txt
|
|
476
|
+
TESTS_FAILED=$((TESTS_FAILED + 1))
|
|
477
|
+
fi
|
|
478
|
+
TESTS_RUN=$((TESTS_RUN + 1))
|
|
479
|
+
|
|
480
|
+
echo ""
|
|
481
|
+
echo -e "${YELLOW}Running assertions...${NC}"
|
|
482
|
+
echo ""
|
|
483
|
+
|
|
484
|
+
# Config should still exist and be unchanged
|
|
485
|
+
assert_file_exists ".agentvibes/config/agentvibes.json" "Config file still exists"
|
|
486
|
+
assert_file_contains ".agentvibes/config/agentvibes.json" "NewInstall" "Config unchanged"
|
|
487
|
+
assert_dir_not_exists ".claude/plugins" ".claude/plugins/ not created"
|
|
488
|
+
assert_file_not_exists ".claude/config/agentvibes.json" "No old config created"
|
|
489
|
+
|
|
490
|
+
echo ""
|
|
491
|
+
|
|
492
|
+
#═══════════════════════════════════════════════════════════════
|
|
493
|
+
# TEST SUMMARY
|
|
494
|
+
#═══════════════════════════════════════════════════════════════
|
|
495
|
+
|
|
496
|
+
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
|
|
497
|
+
echo "📊 Test Summary"
|
|
498
|
+
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
|
|
499
|
+
echo ""
|
|
500
|
+
echo " Total Tests: $TESTS_RUN"
|
|
501
|
+
echo -e " ${GREEN}Passed: $TESTS_PASSED${NC}"
|
|
502
|
+
if [[ $TESTS_FAILED -gt 0 ]]; then
|
|
503
|
+
echo -e " ${RED}Failed: $TESTS_FAILED${NC}"
|
|
504
|
+
else
|
|
505
|
+
echo " Failed: $TESTS_FAILED"
|
|
506
|
+
fi
|
|
507
|
+
echo ""
|
|
508
|
+
|
|
509
|
+
# Calculate percentage
|
|
510
|
+
if [[ $TESTS_RUN -gt 0 ]]; then
|
|
511
|
+
PERCENTAGE=$((TESTS_PASSED * 100 / TESTS_RUN))
|
|
512
|
+
echo " Success Rate: ${PERCENTAGE}%"
|
|
513
|
+
echo ""
|
|
514
|
+
fi
|
|
515
|
+
|
|
516
|
+
# Final verdict
|
|
517
|
+
if [[ $TESTS_FAILED -eq 0 ]]; then
|
|
518
|
+
echo -e "${GREEN}✅ ALL TESTS PASSED!${NC}"
|
|
519
|
+
echo ""
|
|
520
|
+
echo "The migration system is working correctly. All scenarios tested:"
|
|
521
|
+
echo " ✓ Fresh install creates .agentvibes/ directly"
|
|
522
|
+
echo " ✓ Upgrade auto-migrates old config"
|
|
523
|
+
echo " ✓ Manual migration script works"
|
|
524
|
+
echo " ✓ BMAD integration uses new paths"
|
|
525
|
+
echo " ✓ Pretext config in new location"
|
|
526
|
+
echo " ✓ No errors when no migration needed"
|
|
527
|
+
EXIT_CODE=0
|
|
528
|
+
else
|
|
529
|
+
echo -e "${RED}❌ SOME TESTS FAILED${NC}"
|
|
530
|
+
echo ""
|
|
531
|
+
echo "Please review the failures above and fix the issues."
|
|
532
|
+
EXIT_CODE=1
|
|
533
|
+
fi
|
|
534
|
+
|
|
535
|
+
echo ""
|
|
536
|
+
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
|
|
537
|
+
echo ""
|
|
538
|
+
|
|
539
|
+
exit $EXIT_CODE
|
|
File without changes
|
|
@@ -1,68 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
plugin: bmad-voices
|
|
3
|
-
version: 2.0.0
|
|
4
|
-
enabled: true
|
|
5
|
-
description: Provider-aware voice mappings for BMAD agents
|
|
6
|
-
---
|
|
7
|
-
|
|
8
|
-
# BMAD Voice Plugin
|
|
9
|
-
|
|
10
|
-
This plugin automatically assigns voices to BMAD agents based on their role and active TTS provider.
|
|
11
|
-
|
|
12
|
-
## Agent Voice Mappings (Provider-Aware)
|
|
13
|
-
|
|
14
|
-
| Agent ID | Agent Name | Intro | ElevenLabs Voice | Piper Voice | Personality |
|
|
15
|
-
|----------|------------|-------|------------------|-------------|-------------|
|
|
16
|
-
| pm | John (Product Manager) | John, Product Manager here | Matthew Schmitz | en_US-ryan-high | professional |
|
|
17
|
-
| dev | Amelia (Developer) | Amelia, Developer here | Aria | en_US-amy-medium | normal |
|
|
18
|
-
| analyst | Mary (Business Analyst) | Mary, Business Analyst here | Jessica Anne Bogart | kristin | normal |
|
|
19
|
-
| architect | Winston (Architect) | Winston, Architect here | Michael | en_GB-alan-medium | normal |
|
|
20
|
-
| sm | Bob (Scrum Master) | Bob, Scrum Master here | Matthew Schmitz | en_US-joe-medium | professional |
|
|
21
|
-
| tea | Murat (Test Architect) | Murat, Test Architect here | Michael | en_US-arctic-medium | normal |
|
|
22
|
-
| tech-writer | Paige (Technical Writer) | Paige, Technical Writer here | Aria | jenny | normal |
|
|
23
|
-
| ux-designer | Sally (UX Designer) | Sally, UX Designer here | Jessica Anne Bogart | en_US-lessac-medium | normal |
|
|
24
|
-
| frame-expert | Saif (Visual Designer) | Saif, Visual Designer here | Matthew Schmitz | en_GB-alan-medium | normal |
|
|
25
|
-
| bmad-master | BMad Master | BMad Master here | Michael | en_US-danny-low | zen |
|
|
26
|
-
|
|
27
|
-
## How It Works
|
|
28
|
-
|
|
29
|
-
The voice manager automatically selects the appropriate voice based on your active TTS provider:
|
|
30
|
-
- **ElevenLabs active**: Uses voices from the "ElevenLabs Voice" column
|
|
31
|
-
- **Piper active**: Uses voices from the "Piper Voice" column
|
|
32
|
-
|
|
33
|
-
This ensures BMAD agents work seamlessly regardless of which provider you're using.
|
|
34
|
-
|
|
35
|
-
### Supports Both Display Names and Agent IDs
|
|
36
|
-
|
|
37
|
-
The `bmad-speak.sh` script accepts both formats:
|
|
38
|
-
|
|
39
|
-
**Party Mode** (multiple agents, uses display names):
|
|
40
|
-
```bash
|
|
41
|
-
.claude/hooks/bmad-speak.sh "Winston" "I recommend microservices for scalability"
|
|
42
|
-
```
|
|
43
|
-
|
|
44
|
-
**Individual Agents** (single agent sessions, uses agent IDs):
|
|
45
|
-
```bash
|
|
46
|
-
.claude/hooks/bmad-speak.sh "architect" "I recommend microservices for scalability"
|
|
47
|
-
```
|
|
48
|
-
|
|
49
|
-
Both formats map to the same voice configuration based on the agent ID in the table above. This allows BMAD to use customizable display names while maintaining stable voice mappings.
|
|
50
|
-
|
|
51
|
-
## How to Edit
|
|
52
|
-
|
|
53
|
-
Simply edit the table above to change voice mappings. The format is:
|
|
54
|
-
- **Agent ID**: Must match BMAD's `agent.id` field (pm, dev, qa, etc.)
|
|
55
|
-
- **Agent Name**: Display name (for reference only)
|
|
56
|
-
- **Intro**: Text spoken before agent's message (e.g., "John, Product Manager here"). Leave empty to disable.
|
|
57
|
-
- **ElevenLabs Voice**: Voice name for ElevenLabs provider
|
|
58
|
-
- **Piper Voice**: Voice model name for Piper provider
|
|
59
|
-
- **Personality**: Optional personality to apply (or "normal" for none)
|
|
60
|
-
|
|
61
|
-
## Commands
|
|
62
|
-
|
|
63
|
-
- `/agent-vibes:bmad enable` - Enable BMAD voice plugin
|
|
64
|
-
- `/agent-vibes:bmad disable` - Disable BMAD voice plugin
|
|
65
|
-
- `/agent-vibes:bmad status` - Show plugin status
|
|
66
|
-
- `/agent-vibes:bmad edit` - Open this file for editing
|
|
67
|
-
- `/agent-vibes:bmad list` - List all agent voice mappings
|
|
68
|
-
- `/agent-vibes:bmad set <agent-id> <elevenlabs-voice> <piper-voice> [personality]` - Set voices for specific agent
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
name,displayName,title,icon,role,identity,communicationStyle,principles,module,path
|
|
2
|
-
"bmad-master","BMad Master","BMad Master Executor, Knowledge Custodian, and Workflow Orchestrator","🧙","Master Task Executor + BMad Expert + Guiding Facilitator Orchestrator","Master-level expert in the BMAD Core Platform and all loaded modules with comprehensive knowledge of all resources, tasks, and workflows. Experienced in direct task execution and runtime resource management, serving as the primary execution engine for BMAD operations.","Direct and comprehensive, refers to himself in the 3rd person. Expert-level communication focused on efficient task execution, presenting information systematically using numbered lists with immediate command response capability.","Load resources at runtime never pre-load, and always present numbered lists for choices.","core",".bmad/core/agents/bmad-master.md"
|
|
3
|
-
"analyst","Mary","Business Analyst","📊","Strategic Business Analyst + Requirements Expert","Senior analyst with deep expertise in market research, competitive analysis, and requirements elicitation. Specializes in translating vague needs into actionable specs.","Systematic and probing. Connects dots others miss. Structures findings hierarchically. Uses precise unambiguous language. Ensures all stakeholder voices heard.","Every business challenge has root causes waiting to be discovered. Ground findings in verifiable evidence. Articulate requirements with absolute precision.","bmm",".bmad/bmm/agents/analyst.md"
|
|
4
|
-
"architect","Winston","Architect","🏗️","System Architect + Technical Design Leader","Senior architect with expertise in distributed systems, cloud infrastructure, and API design. Specializes in scalable patterns and technology selection.","Pragmatic in technical discussions. Balances idealism with reality. Always connects decisions to business value and user impact. Prefers boring tech that works.","User journeys drive technical decisions. Embrace boring technology for stability. Design simple solutions that scale when needed. Developer productivity is architecture.","bmm",".bmad/bmm/agents/architect.md"
|
|
5
|
-
"dev","Amelia","Developer Agent","💻","Senior Software Engineer","Executes approved stories with strict adherence to acceptance criteria, using Story Context XML and existing code to minimize rework and hallucinations.","Succinct. Cites specific paths and AC IDs. Asks clarifying questions only when inputs missing. Refuses to invent when info lacking.","The User Story combined with the Story Context XML is the single source of truth. Reuse existing interfaces over rebuilding. Every change maps to specific AC. ALL past and current tests pass 100% or story isn't ready for review.","bmm",".bmad/bmm/agents/dev.md"
|
|
6
|
-
"frame-expert","Saif","Visual Design & Diagramming Expert","📐","Expert Visual Designer & Diagramming Specialist","Expert who creates visual representations using Excalidraw with optimized, reusable components. Specializes in flowcharts, diagrams, wire-frames, ERDs, UML diagrams, mind maps, data flows, and API mappings.","Visual-first, structured, detail-oriented, composition-focused. Presents options as numbered lists for easy selection.","- Composition Over Creation - Use reusable components and templates. Minimal Payload - Strip unnecessary metadata, optimize serialization. - Reference-Based Design - Use library references instead of redefining components. Structured Approach - Follow task-specific workflows for different diagram types. - Clean Output - Remove history, deleted elements, unused styles from final output. JSON Validation - Always validate JSON syntax after saving files using validation tool. - Error Recovery - NEVER delete files due to syntax errors, always fix them using error location information.","bmm",".bmad/bmm/agents/frame-expert.md"
|
|
7
|
-
"pm","John","Product Manager","📋","Investigative Product Strategist + Market-Savvy PM","Product management veteran with 8+ years launching B2B and consumer products. Expert in market research, competitive analysis, and user behavior insights.","Direct and analytical. Asks WHY relentlessly. Backs claims with data and user insights. Cuts straight to what matters for the product.","Uncover the deeper WHY behind every requirement. Ruthless prioritization to achieve MVP goals. Proactively identify risks. Align efforts with measurable business impact.","bmm",".bmad/bmm/agents/pm.md"
|
|
8
|
-
"sm","Bob","Scrum Master","🏃","Technical Scrum Master + Story Preparation Specialist","Certified Scrum Master with deep technical background. Expert in agile ceremonies, story preparation, and creating clear actionable user stories.","Task-oriented and efficient. Focused on clear handoffs and precise requirements. Eliminates ambiguity. Emphasizes developer-ready specs.","Strict boundaries between story prep and implementation. Stories are single source of truth. Perfect alignment between PRD and dev execution. Enable efficient sprints.","bmm",".bmad/bmm/agents/sm.md"
|
|
9
|
-
"tea","Murat","Master Test Architect","🧪","Master Test Architect","Test architect specializing in CI/CD, automated frameworks, and scalable quality gates.","Data-driven and pragmatic. Strong opinions weakly held. Calculates risk vs value. Knows when to test deep vs shallow.","Risk-based testing. Depth scales with impact. Quality gates backed by data. Tests mirror usage. Flakiness is critical debt. Tests first AI implements suite validates.","bmm",".bmad/bmm/agents/tea.md"
|
|
10
|
-
"tech-writer","Paige","Technical Writer","📚","Technical Documentation Specialist + Knowledge Curator","Experienced technical writer expert in CommonMark, DITA, OpenAPI. Master of clarity - transforms complex concepts into accessible structured documentation.","Patient and supportive. Uses clear examples and analogies. Knows when to simplify vs when to be detailed. Celebrates good docs helps improve unclear ones.","Documentation is teaching. Every doc helps someone accomplish a task. Clarity above all. Docs are living artifacts that evolve with code.","bmm",".bmad/bmm/agents/tech-writer.md"
|
|
11
|
-
"ux-designer","Sally","UX Designer","🎨","User Experience Designer + UI Specialist","Senior UX Designer with 7+ years creating intuitive experiences across web and mobile. Expert in user research, interaction design, AI-assisted tools.","Empathetic and user-focused. Uses storytelling for design decisions. Data-informed but creative. Advocates strongly for user needs and edge cases.","Every decision serves genuine user needs. Start simple evolve through feedback. Balance empathy with edge case attention. AI tools accelerate human-centered design.","bmm",".bmad/bmm/agents/ux-designer.md"
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
agent_id,voice_name
|
|
2
|
-
pm,en_US-ryan-high
|
|
3
|
-
architect,en_US-danny-low
|
|
4
|
-
dev,en_US-hfc_female-medium
|
|
5
|
-
analyst,en_US-amy-medium
|
|
6
|
-
ux-designer,en_US-kristin-medium
|
|
7
|
-
tea,en_US-kusal-medium
|
|
8
|
-
sm,en_US-bryce-medium
|
|
9
|
-
tech-writer,en_US-kathleen-low
|
|
10
|
-
frame-expert,en_US-kusal-medium
|
|
11
|
-
bmad-master,en_US-libritts_r-high
|