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
|
@@ -1,393 +0,0 @@
|
|
|
1
|
-
# GitHub Issue: WhatsApp TTS Notifications Plugin
|
|
2
|
-
|
|
3
|
-
## Title
|
|
4
|
-
🔔 Feature: WhatsApp TTS Notifications Plugin with Voice Round-Robin
|
|
5
|
-
|
|
6
|
-
## Labels
|
|
7
|
-
`enhancement`, `plugin`, `tts`, `whatsapp`, `mcp-server`
|
|
8
|
-
|
|
9
|
-
## Description
|
|
10
|
-
|
|
11
|
-
### Summary
|
|
12
|
-
Create a **standalone plugin** in an independent repository that enables voice notifications for incoming WhatsApp messages through the MCP (Model Context Protocol) server. The plugin will integrate with AgentVibes (via subprocess) and provide natural language control to enable/disable notifications per contact/channel with round-robin voice assignment for speaker differentiation in group chats.
|
|
13
|
-
|
|
14
|
-
**Repository**: New standalone repo: `whatsapp-agentvibes` or `agentvibes-whatsapp-plugin`
|
|
15
|
-
**Distribution**: PyPI package (`pip install whatsapp-agentvibes`)
|
|
16
|
-
**Architecture**: Independent MCP server that calls AgentVibes TTS via subprocess
|
|
17
|
-
|
|
18
|
-
### Problem Statement
|
|
19
|
-
Users who integrate WhatsApp with Claude (via whatsapp-mcp) want audible notifications for important messages, with the ability to:
|
|
20
|
-
- Selectively enable/disable notifications per contact or group
|
|
21
|
-
- Distinguish between speakers in group chats through different voices
|
|
22
|
-
- Control notifications using natural language commands
|
|
23
|
-
- Leverage AgentVibes' existing voice library (27+ voices)
|
|
24
|
-
|
|
25
|
-
### Proposed Solution
|
|
26
|
-
Build a **standalone MCP server in an independent repository** that bridges the WhatsApp MCP server with AgentVibes TTS capabilities, providing:
|
|
27
|
-
|
|
28
|
-
1. **Voice Notifications**: Automatically read incoming WhatsApp messages aloud
|
|
29
|
-
2. **Round-Robin Voice Assignment**: Different contacts get different voices (consistent per contact)
|
|
30
|
-
3. **MCP Commands**: Natural language control for notification management
|
|
31
|
-
4. **Group Chat Support**: Per-sender voice assignment within groups
|
|
32
|
-
5. **Clean Architecture**: Standalone repo with AgentVibes as external dependency (subprocess calls)
|
|
33
|
-
6. **Independent Distribution**: pip package on PyPI
|
|
34
|
-
|
|
35
|
-
**Why Standalone?**
|
|
36
|
-
- ✅ Separation of concerns (TTS engine vs messaging integration)
|
|
37
|
-
- ✅ Independent versioning and releases
|
|
38
|
-
- ✅ Easier maintenance and community contributions
|
|
39
|
-
- ✅ Opens path for plugin ecosystem (Signal, Telegram, Slack)
|
|
40
|
-
- ✅ Users install only what they need
|
|
41
|
-
|
|
42
|
-
### Architecture Overview
|
|
43
|
-
|
|
44
|
-
**Standalone Repository Architecture:**
|
|
45
|
-
|
|
46
|
-
```
|
|
47
|
-
┌─────────────────────────────────────┐
|
|
48
|
-
│ whatsapp-agentvibes │ ← New Standalone Repo (pip package)
|
|
49
|
-
│ (Independent MCP Server) │
|
|
50
|
-
│ │
|
|
51
|
-
│ - Message monitoring (SQLite poll) │
|
|
52
|
-
│ - Voice assignment (round-robin) │
|
|
53
|
-
│ - Notification config management │
|
|
54
|
-
│ - MCP command handlers │
|
|
55
|
-
└──────────────┬──────────────────────┘
|
|
56
|
-
│ depends on (subprocess calls)
|
|
57
|
-
│
|
|
58
|
-
┌────────┴─────────┬────────────────┐
|
|
59
|
-
▼ ▼ ▼
|
|
60
|
-
┌────────────┐ ┌──────────────┐ ┌─────────────┐
|
|
61
|
-
│ WhatsApp │ │ AgentVibes │ │ FastMCP │
|
|
62
|
-
│ MCP Server │ │ (installed) │ │ (Python) │
|
|
63
|
-
│ │ │ play-tts.sh │ │ │
|
|
64
|
-
└────────────┘ └──────────────┘ └─────────────┘
|
|
65
|
-
(data) (subprocess) (framework)
|
|
66
|
-
```
|
|
67
|
-
|
|
68
|
-
**Integration Method:**
|
|
69
|
-
- **WhatsApp**: Direct SQLite database reads (read-only)
|
|
70
|
-
- **AgentVibes**: Subprocess calls to `~/.claude/hooks/play-tts.sh`
|
|
71
|
-
- **No code imports**: Plugin is fully independent
|
|
72
|
-
|
|
73
|
-
### Key Features
|
|
74
|
-
|
|
75
|
-
#### 1. New MCP Commands
|
|
76
|
-
- **`whatsapp_enable_notifications(contact_or_chat: str)`** - Enable TTS for a contact/group
|
|
77
|
-
- **`whatsapp_disable_notifications(contact_or_chat: str)`** - Disable TTS for a contact/group
|
|
78
|
-
- **`whatsapp_list_notification_channels()`** - Show all enabled notification channels
|
|
79
|
-
- **`whatsapp_set_contact_voice(contact: str, voice: str)`** - Override automatic voice assignment
|
|
80
|
-
- **`whatsapp_get_notification_status()`** - Show notification statistics
|
|
81
|
-
|
|
82
|
-
#### 2. Round-Robin Voice Assignment
|
|
83
|
-
- Hash-based voice selection: Same contact always gets same voice
|
|
84
|
-
- Persistent mapping stored in `.claude/whatsapp-notifications.json`
|
|
85
|
-
- Automatic distribution across 27+ available voices
|
|
86
|
-
- Manual override capability per contact
|
|
87
|
-
|
|
88
|
-
#### 3. Group Chat Voice Differentiation
|
|
89
|
-
- Per-sender voice assignment within groups
|
|
90
|
-
- Announces sender name: "John says: Hello there"
|
|
91
|
-
- Consistent voices across all group interactions
|
|
92
|
-
|
|
93
|
-
#### 4. Message Monitoring
|
|
94
|
-
- Polls WhatsApp SQLite database every 2 seconds
|
|
95
|
-
- Filters messages by enabled contacts only
|
|
96
|
-
- Skips self-sent messages (is_from_me = true)
|
|
97
|
-
- Handles text messages and media notifications
|
|
98
|
-
|
|
99
|
-
### Example Usage
|
|
100
|
-
|
|
101
|
-
**Scenario 1: Enable notifications for a contact**
|
|
102
|
-
```
|
|
103
|
-
User: "Enable WhatsApp notifications for my mom"
|
|
104
|
-
Claude: [Searches contacts for "mom"]
|
|
105
|
-
[Finds: Jane Smith, +1234567890]
|
|
106
|
-
[Enables notifications]
|
|
107
|
-
✅ Enabled notifications for Jane Smith with voice "Aria"
|
|
108
|
-
|
|
109
|
-
[Message arrives from Jane]
|
|
110
|
-
TTS (Aria): "Message from Jane Smith: Don't forget to call me tonight"
|
|
111
|
-
```
|
|
112
|
-
|
|
113
|
-
**Scenario 2: Group chat with multiple voices**
|
|
114
|
-
```
|
|
115
|
-
User: "Enable notifications for the Family group"
|
|
116
|
-
Claude: ✅ Enabled notifications for Family group
|
|
117
|
-
Voices will be assigned per sender automatically
|
|
118
|
-
|
|
119
|
-
[Messages arrive]
|
|
120
|
-
TTS (Aria): "Dad: Can someone pick up milk?"
|
|
121
|
-
TTS (Terry): "Mom: I'll get it on the way home"
|
|
122
|
-
TTS (Bob): "Sister: Thanks Mom!"
|
|
123
|
-
```
|
|
124
|
-
|
|
125
|
-
**Scenario 3: Managing notifications**
|
|
126
|
-
```
|
|
127
|
-
User: "Show me all WhatsApp notification channels"
|
|
128
|
-
Claude: 🔔 WhatsApp Notifications Active:
|
|
129
|
-
1. Jane Smith (+1234567890) - Voice: Aria
|
|
130
|
-
2. Family Group - 3 senders with voices
|
|
131
|
-
3. Work Team - Voice: Jenny
|
|
132
|
-
```
|
|
133
|
-
|
|
134
|
-
### Implementation Plan
|
|
135
|
-
|
|
136
|
-
#### Phase 0: Repository Setup (Day 1-2)
|
|
137
|
-
- [ ] Create new GitHub repository: `whatsapp-agentvibes`
|
|
138
|
-
- [ ] Set up Python package structure with pyproject.toml
|
|
139
|
-
- [ ] Configure GitHub Actions for testing/linting
|
|
140
|
-
- [ ] Create initial README with installation instructions
|
|
141
|
-
- [ ] Set up issue templates and contributing guidelines
|
|
142
|
-
|
|
143
|
-
#### Phase 1: Core Integration (Week 1)
|
|
144
|
-
- [ ] Implement `AgentVibesClient` class (subprocess wrapper)
|
|
145
|
-
- Detect AgentVibes installation
|
|
146
|
-
- Call play-tts.sh script
|
|
147
|
-
- List available voices
|
|
148
|
-
- Handle errors gracefully
|
|
149
|
-
- [ ] Set up configuration management (JSON file in `~/.config/`)
|
|
150
|
-
- [ ] Add hash-based voice assignment logic
|
|
151
|
-
- [ ] Implement basic MCP tools:
|
|
152
|
-
- `whatsapp_enable_notifications`
|
|
153
|
-
- `whatsapp_disable_notifications`
|
|
154
|
-
- `whatsapp_list_notification_channels`
|
|
155
|
-
- [ ] Write unit tests for voice assignment and config
|
|
156
|
-
|
|
157
|
-
#### Phase 2: Message Monitoring (Week 2)
|
|
158
|
-
- [ ] Implement SQLite database polling (2-second interval)
|
|
159
|
-
- [ ] Add timestamp tracking for incremental message fetch
|
|
160
|
-
- [ ] Implement message filtering by enabled contacts
|
|
161
|
-
- [ ] Integrate with AgentVibes `play-tts.sh` script
|
|
162
|
-
- [ ] Handle group vs direct message differentiation
|
|
163
|
-
|
|
164
|
-
#### Phase 3: Advanced Features (Week 3)
|
|
165
|
-
- [ ] Add manual voice override tool: `whatsapp_set_contact_voice`
|
|
166
|
-
- [ ] Implement status/statistics tool: `whatsapp_get_notification_status`
|
|
167
|
-
- [ ] Add group chat per-sender voice assignment
|
|
168
|
-
- [ ] Implement media message announcements ("John sent a photo")
|
|
169
|
-
- [ ] Add sender name prefixing for group messages
|
|
170
|
-
|
|
171
|
-
#### Phase 4: Testing & Documentation (Week 4)
|
|
172
|
-
- [ ] Write unit tests for voice assignment logic
|
|
173
|
-
- [ ] Create end-to-end integration tests
|
|
174
|
-
- [ ] Write comprehensive documentation:
|
|
175
|
-
- Installation guide
|
|
176
|
-
- Configuration reference
|
|
177
|
-
- Usage examples
|
|
178
|
-
- Troubleshooting section
|
|
179
|
-
- [ ] Create demo video showing the feature
|
|
180
|
-
- [ ] Update main AgentVibes README
|
|
181
|
-
|
|
182
|
-
### Technical Specifications
|
|
183
|
-
|
|
184
|
-
**Technology Stack**:
|
|
185
|
-
- Python 3.8+ (MCP server)
|
|
186
|
-
- FastMCP framework (existing)
|
|
187
|
-
- SQLite (WhatsApp message database - read-only)
|
|
188
|
-
- Bash (AgentVibes TTS scripts)
|
|
189
|
-
- JSON (configuration storage)
|
|
190
|
-
|
|
191
|
-
**Database Interaction**:
|
|
192
|
-
```python
|
|
193
|
-
# Poll for new messages
|
|
194
|
-
query = """
|
|
195
|
-
SELECT id, chat_jid, sender, content, timestamp, is_from_me
|
|
196
|
-
FROM messages
|
|
197
|
-
WHERE timestamp > ? AND is_from_me = 0
|
|
198
|
-
ORDER BY timestamp ASC
|
|
199
|
-
"""
|
|
200
|
-
```
|
|
201
|
-
|
|
202
|
-
**Voice Assignment Algorithm**:
|
|
203
|
-
```python
|
|
204
|
-
def assign_voice_to_contact(contact_jid: str, available_voices: list) -> str:
|
|
205
|
-
"""Assigns consistent voice using hash-based selection"""
|
|
206
|
-
contact_hash = hash(contact_jid) % len(available_voices)
|
|
207
|
-
return available_voices[contact_hash]
|
|
208
|
-
```
|
|
209
|
-
|
|
210
|
-
**Configuration Format**:
|
|
211
|
-
```json
|
|
212
|
-
{
|
|
213
|
-
"enabled_contacts": [
|
|
214
|
-
"1234567890@s.whatsapp.net",
|
|
215
|
-
"group123@g.us"
|
|
216
|
-
],
|
|
217
|
-
"contact_voices": {
|
|
218
|
-
"1234567890@s.whatsapp.net": "Aria",
|
|
219
|
-
"group123@g.us": {
|
|
220
|
-
"sender1@s.whatsapp.net": "Northern Terry",
|
|
221
|
-
"sender2@s.whatsapp.net": "Kristin"
|
|
222
|
-
}
|
|
223
|
-
},
|
|
224
|
-
"last_checked_timestamp": "2025-11-12T10:30:00Z"
|
|
225
|
-
}
|
|
226
|
-
```
|
|
227
|
-
|
|
228
|
-
### Dependencies
|
|
229
|
-
|
|
230
|
-
**Prerequisites (Must Be Installed)**:
|
|
231
|
-
- WhatsApp MCP Server (https://github.com/lharries/whatsapp-mcp)
|
|
232
|
-
- AgentVibes TTS system (https://github.com/paulpreibisch/AgentVibes)
|
|
233
|
-
- Called via subprocess, not imported
|
|
234
|
-
- Python 3.8+
|
|
235
|
-
|
|
236
|
-
**Python Dependencies (requirements.txt)**:
|
|
237
|
-
```txt
|
|
238
|
-
mcp>=0.9.0
|
|
239
|
-
aiosqlite>=0.19.0
|
|
240
|
-
```
|
|
241
|
-
|
|
242
|
-
**Note**: AgentVibes is NOT listed as a pip dependency because it's called via subprocess.
|
|
243
|
-
|
|
244
|
-
### Repository Structure
|
|
245
|
-
|
|
246
|
-
**New Standalone Repository: `whatsapp-agentvibes`**
|
|
247
|
-
|
|
248
|
-
```
|
|
249
|
-
whatsapp-agentvibes/
|
|
250
|
-
├── README.md # Installation & usage
|
|
251
|
-
├── LICENSE # Apache 2.0
|
|
252
|
-
├── requirements.txt # Python dependencies
|
|
253
|
-
├── pyproject.toml # Package metadata
|
|
254
|
-
├── setup.py # Installation script
|
|
255
|
-
│
|
|
256
|
-
├── src/
|
|
257
|
-
│ └── whatsapp_agentvibes/
|
|
258
|
-
│ ├── __init__.py
|
|
259
|
-
│ ├── server.py # Main MCP server
|
|
260
|
-
│ ├── monitor.py # WhatsApp message monitoring
|
|
261
|
-
│ ├── voice_manager.py # Voice assignment logic
|
|
262
|
-
│ ├── config.py # Configuration management
|
|
263
|
-
│ └── agentvibes_client.py # AgentVibes subprocess wrapper
|
|
264
|
-
│
|
|
265
|
-
├── config/
|
|
266
|
-
│ ├── notifications.json.example # Example configuration
|
|
267
|
-
│ └── claude_desktop_config.json # MCP setup example
|
|
268
|
-
│
|
|
269
|
-
├── tests/
|
|
270
|
-
│ ├── test_voice_assignment.py
|
|
271
|
-
│ ├── test_monitor.py
|
|
272
|
-
│ ├── test_config.py
|
|
273
|
-
│ └── test_agentvibes_client.py
|
|
274
|
-
│
|
|
275
|
-
├── docs/
|
|
276
|
-
│ ├── installation.md
|
|
277
|
-
│ ├── configuration.md
|
|
278
|
-
│ ├── troubleshooting.md
|
|
279
|
-
│ └── development.md
|
|
280
|
-
│
|
|
281
|
-
└── .github/
|
|
282
|
-
└── workflows/
|
|
283
|
-
├── test.yml # CI tests
|
|
284
|
-
└── publish.yml # PyPI publish
|
|
285
|
-
```
|
|
286
|
-
|
|
287
|
-
**Configuration Location**: `~/.config/whatsapp-agentvibes/config.json`
|
|
288
|
-
|
|
289
|
-
### Benefits
|
|
290
|
-
|
|
291
|
-
✅ **Standalone architecture** - Independent repo, separate from AgentVibes codebase
|
|
292
|
-
✅ **Zero modification to existing systems** - WhatsApp bridge and AgentVibes core remain unchanged
|
|
293
|
-
✅ **Independent versioning** - Plugin releases independently from AgentVibes
|
|
294
|
-
✅ **Native MCP integration** - Works seamlessly with Claude Desktop and Claude Code
|
|
295
|
-
✅ **Natural language control** - "Enable notifications for Mom" vs manual commands
|
|
296
|
-
✅ **Voice variety** - 27+ voices for rich speaker differentiation
|
|
297
|
-
✅ **Consistent voice assignment** - Same contact always gets same voice
|
|
298
|
-
✅ **Privacy-focused** - All processing local, no external data transmission
|
|
299
|
-
✅ **Plugin ecosystem** - Opens path for Signal-TTS, Telegram-TTS, Slack-TTS
|
|
300
|
-
✅ **Easy installation** - `pip install whatsapp-agentvibes`
|
|
301
|
-
|
|
302
|
-
### Challenges & Solutions
|
|
303
|
-
|
|
304
|
-
| Challenge | Solution |
|
|
305
|
-
|-----------|----------|
|
|
306
|
-
| Polling latency (1-5 sec delay) | Acceptable for notifications; 2-second interval balances responsiveness with CPU usage |
|
|
307
|
-
| Voice assignment persistence | JSON config file in `.claude/` directory with hash-based stable assignment |
|
|
308
|
-
| Group chat complexity | Extend mapping to `{group_jid: {sender_jid: voice}}` structure |
|
|
309
|
-
| Media message handling | Announce metadata: "[Name] sent a photo/video/voice message" |
|
|
310
|
-
| Database schema changes | Read-only access to existing schema; no modifications needed |
|
|
311
|
-
|
|
312
|
-
### Testing Strategy
|
|
313
|
-
|
|
314
|
-
1. **Unit Tests**:
|
|
315
|
-
- Voice assignment hash consistency
|
|
316
|
-
- Configuration save/load
|
|
317
|
-
- Message filtering logic
|
|
318
|
-
|
|
319
|
-
2. **Integration Tests**:
|
|
320
|
-
- SQLite database polling
|
|
321
|
-
- AgentVibes TTS integration
|
|
322
|
-
- MCP command execution
|
|
323
|
-
|
|
324
|
-
3. **End-to-End Tests**:
|
|
325
|
-
- Enable/disable notifications flow
|
|
326
|
-
- Group message voice differentiation
|
|
327
|
-
- Configuration persistence across restarts
|
|
328
|
-
|
|
329
|
-
### Documentation Requirements
|
|
330
|
-
|
|
331
|
-
1. **Installation Guide**:
|
|
332
|
-
- Prerequisites (WhatsApp MCP + AgentVibes)
|
|
333
|
-
- MCP server configuration
|
|
334
|
-
- Claude Desktop integration
|
|
335
|
-
|
|
336
|
-
2. **Usage Guide**:
|
|
337
|
-
- Enabling/disabling notifications
|
|
338
|
-
- Voice management
|
|
339
|
-
- Group chat handling
|
|
340
|
-
|
|
341
|
-
3. **Configuration Reference**:
|
|
342
|
-
- JSON structure
|
|
343
|
-
- MCP command reference
|
|
344
|
-
- Troubleshooting section
|
|
345
|
-
|
|
346
|
-
4. **Developer Guide**:
|
|
347
|
-
- Architecture overview
|
|
348
|
-
- Adding new commands
|
|
349
|
-
- Extending voice assignment logic
|
|
350
|
-
|
|
351
|
-
### Success Criteria
|
|
352
|
-
|
|
353
|
-
- [ ] All MCP commands functional and tested
|
|
354
|
-
- [ ] Voice round-robin working consistently
|
|
355
|
-
- [ ] Group chat voice differentiation operational
|
|
356
|
-
- [ ] Polling latency under 3 seconds
|
|
357
|
-
- [ ] Documentation complete and accurate
|
|
358
|
-
- [ ] Demo video created
|
|
359
|
-
- [ ] Zero breaking changes to AgentVibes core
|
|
360
|
-
- [ ] Zero breaking changes to WhatsApp MCP
|
|
361
|
-
|
|
362
|
-
### Estimated Effort
|
|
363
|
-
|
|
364
|
-
- **Development**: 25-35 hours
|
|
365
|
-
- **Testing**: 8-12 hours
|
|
366
|
-
- **Documentation**: 6-8 hours
|
|
367
|
-
- **Total**: ~40-55 hours (~1-2 weeks for full-time developer)
|
|
368
|
-
|
|
369
|
-
### Related Resources
|
|
370
|
-
|
|
371
|
-
- **Standalone Architecture Document**: [/docs/whatsapp-tts-standalone-plugin.md](https://github.com/paulpreibisch/AgentVibes/blob/main/docs/whatsapp-tts-standalone-plugin.md)
|
|
372
|
-
- **Feasibility Analysis**: [/docs/whatsapp-tts-plugin-feasibility.md](https://github.com/paulpreibisch/AgentVibes/blob/main/docs/whatsapp-tts-plugin-feasibility.md)
|
|
373
|
-
- **WhatsApp MCP Server**: https://github.com/lharries/whatsapp-mcp
|
|
374
|
-
- **AgentVibes TTS System**: https://github.com/paulpreibisch/AgentVibes
|
|
375
|
-
- **AgentVibes Voice Library**: https://github.com/paulpreibisch/AgentVibes/blob/main/docs/voice-library.md
|
|
376
|
-
|
|
377
|
-
### Community Feedback
|
|
378
|
-
|
|
379
|
-
Before starting implementation, please provide feedback on:
|
|
380
|
-
1. Is the MCP command naming intuitive?
|
|
381
|
-
2. Should we support custom notification sounds (in addition to TTS)?
|
|
382
|
-
3. Any concerns about the 2-second polling interval?
|
|
383
|
-
4. Should we add a "Do Not Disturb" schedule feature?
|
|
384
|
-
5. Interest in extending to other messaging platforms (Signal, Telegram)?
|
|
385
|
-
|
|
386
|
-
---
|
|
387
|
-
|
|
388
|
-
**Ready to implement!** Please comment if you have questions or suggestions before we proceed.
|
|
389
|
-
|
|
390
|
-
**Related Issues**: None yet
|
|
391
|
-
**Milestone**: AgentVibes v2.4.0
|
|
392
|
-
**Assignees**: TBD
|
|
393
|
-
**Priority**: High (highly requested feature)
|