agentvibes 2.0.17-beta.2 → 2.0.17-beta.21
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.bmad-core/agent-teams/team-all.yaml +15 -0
- package/.bmad-core/agent-teams/team-fullstack.yaml +19 -0
- package/.bmad-core/agent-teams/team-ide-minimal.yaml +11 -0
- package/.bmad-core/agent-teams/team-no-ui.yaml +14 -0
- package/.bmad-core/agents/analyst.md +84 -0
- package/.bmad-core/agents/architect.md +85 -0
- package/.bmad-core/agents/bmad-master.md +110 -0
- package/.bmad-core/agents/bmad-orchestrator.md +147 -0
- package/.bmad-core/agents/dev.md +81 -0
- package/.bmad-core/agents/pm.md +84 -0
- package/.bmad-core/agents/po.md +79 -0
- package/.bmad-core/agents/qa.md +87 -0
- package/.bmad-core/agents/sm.md +65 -0
- package/.bmad-core/agents/ux-expert.md +69 -0
- package/.bmad-core/checklists/architect-checklist.md +440 -0
- package/.bmad-core/checklists/change-checklist.md +184 -0
- package/.bmad-core/checklists/pm-checklist.md +372 -0
- package/.bmad-core/checklists/po-master-checklist.md +434 -0
- package/.bmad-core/checklists/story-dod-checklist.md +96 -0
- package/.bmad-core/checklists/story-draft-checklist.md +155 -0
- package/.bmad-core/core-config.yaml +22 -0
- package/.bmad-core/data/bmad-kb.md +809 -0
- package/.bmad-core/data/brainstorming-techniques.md +38 -0
- package/.bmad-core/data/elicitation-methods.md +156 -0
- package/.bmad-core/data/technical-preferences.md +5 -0
- package/.bmad-core/data/test-levels-framework.md +148 -0
- package/.bmad-core/data/test-priorities-matrix.md +174 -0
- package/.bmad-core/enhanced-ide-development-workflow.md +248 -0
- package/.bmad-core/install-manifest.yaml +230 -0
- package/.bmad-core/tasks/advanced-elicitation.md +119 -0
- package/.bmad-core/tasks/apply-qa-fixes.md +150 -0
- package/.bmad-core/tasks/brownfield-create-epic.md +162 -0
- package/.bmad-core/tasks/brownfield-create-story.md +149 -0
- package/.bmad-core/tasks/correct-course.md +72 -0
- package/.bmad-core/tasks/create-brownfield-story.md +314 -0
- package/.bmad-core/tasks/create-deep-research-prompt.md +280 -0
- package/.bmad-core/tasks/create-doc.md +103 -0
- package/.bmad-core/tasks/create-next-story.md +114 -0
- package/.bmad-core/tasks/document-project.md +345 -0
- package/.bmad-core/tasks/execute-checklist.md +88 -0
- package/.bmad-core/tasks/facilitate-brainstorming-session.md +138 -0
- package/.bmad-core/tasks/generate-ai-frontend-prompt.md +53 -0
- package/.bmad-core/tasks/index-docs.md +175 -0
- package/.bmad-core/tasks/kb-mode-interaction.md +77 -0
- package/.bmad-core/tasks/nfr-assess.md +345 -0
- package/.bmad-core/tasks/qa-gate.md +163 -0
- package/.bmad-core/tasks/review-story.md +316 -0
- package/.bmad-core/tasks/risk-profile.md +355 -0
- package/.bmad-core/tasks/shard-doc.md +187 -0
- package/.bmad-core/tasks/test-design.md +176 -0
- package/.bmad-core/tasks/trace-requirements.md +266 -0
- package/.bmad-core/tasks/validate-next-story.md +136 -0
- package/.bmad-core/templates/architecture-tmpl.yaml +651 -0
- package/.bmad-core/templates/brainstorming-output-tmpl.yaml +156 -0
- package/.bmad-core/templates/brownfield-architecture-tmpl.yaml +477 -0
- package/.bmad-core/templates/brownfield-prd-tmpl.yaml +281 -0
- package/.bmad-core/templates/competitor-analysis-tmpl.yaml +307 -0
- package/.bmad-core/templates/front-end-architecture-tmpl.yaml +219 -0
- package/.bmad-core/templates/front-end-spec-tmpl.yaml +350 -0
- package/.bmad-core/templates/fullstack-architecture-tmpl.yaml +824 -0
- package/.bmad-core/templates/market-research-tmpl.yaml +253 -0
- package/.bmad-core/templates/prd-tmpl.yaml +203 -0
- package/.bmad-core/templates/project-brief-tmpl.yaml +222 -0
- package/.bmad-core/templates/qa-gate-tmpl.yaml +103 -0
- package/.bmad-core/templates/story-tmpl.yaml +138 -0
- package/.bmad-core/user-guide.md +577 -0
- package/.bmad-core/utils/bmad-doc-template.md +327 -0
- package/.bmad-core/utils/workflow-management.md +71 -0
- package/.bmad-core/workflows/brownfield-fullstack.yaml +298 -0
- package/.bmad-core/workflows/brownfield-service.yaml +188 -0
- package/.bmad-core/workflows/brownfield-ui.yaml +198 -0
- package/.bmad-core/workflows/greenfield-fullstack.yaml +241 -0
- package/.bmad-core/workflows/greenfield-service.yaml +207 -0
- package/.bmad-core/workflows/greenfield-ui.yaml +236 -0
- package/.bmad-core/working-in-the-brownfield.md +606 -0
- package/.claude/commands/BMad/agents/analyst.md +88 -0
- package/.claude/commands/BMad/agents/architect.md +89 -0
- package/.claude/commands/BMad/agents/bmad-master.md +114 -0
- package/.claude/commands/BMad/agents/bmad-orchestrator.md +151 -0
- package/.claude/commands/BMad/agents/dev.md +85 -0
- package/.claude/commands/BMad/agents/pm.md +88 -0
- package/.claude/commands/BMad/agents/po.md +83 -0
- package/.claude/commands/BMad/agents/qa.md +91 -0
- package/.claude/commands/BMad/agents/sm.md +69 -0
- package/.claude/commands/BMad/agents/ux-expert.md +73 -0
- package/.claude/commands/BMad/tasks/advanced-elicitation.md +123 -0
- package/.claude/commands/BMad/tasks/apply-qa-fixes.md +154 -0
- package/.claude/commands/BMad/tasks/brownfield-create-epic.md +166 -0
- package/.claude/commands/BMad/tasks/brownfield-create-story.md +153 -0
- package/.claude/commands/BMad/tasks/correct-course.md +76 -0
- package/.claude/commands/BMad/tasks/create-brownfield-story.md +318 -0
- package/.claude/commands/BMad/tasks/create-deep-research-prompt.md +284 -0
- package/.claude/commands/BMad/tasks/create-doc.md +107 -0
- package/.claude/commands/BMad/tasks/create-next-story.md +118 -0
- package/.claude/commands/BMad/tasks/document-project.md +349 -0
- package/.claude/commands/BMad/tasks/execute-checklist.md +92 -0
- package/.claude/commands/BMad/tasks/facilitate-brainstorming-session.md +142 -0
- package/.claude/commands/BMad/tasks/generate-ai-frontend-prompt.md +57 -0
- package/.claude/commands/BMad/tasks/index-docs.md +179 -0
- package/.claude/commands/BMad/tasks/kb-mode-interaction.md +81 -0
- package/.claude/commands/BMad/tasks/nfr-assess.md +349 -0
- package/.claude/commands/BMad/tasks/qa-gate.md +167 -0
- package/.claude/commands/BMad/tasks/review-story.md +320 -0
- package/.claude/commands/BMad/tasks/risk-profile.md +359 -0
- package/.claude/commands/BMad/tasks/shard-doc.md +191 -0
- package/.claude/commands/BMad/tasks/test-design.md +180 -0
- package/.claude/commands/BMad/tasks/trace-requirements.md +270 -0
- package/.claude/commands/BMad/tasks/validate-next-story.md +140 -0
- package/.claude/commands/agent-vibes/add.md +0 -0
- package/.claude/commands/agent-vibes/agent-vibes.md +0 -0
- package/.claude/commands/agent-vibes/bmad.md +0 -0
- package/.claude/commands/agent-vibes/commands.json +24 -0
- package/.claude/commands/agent-vibes/get.md +0 -0
- package/.claude/commands/agent-vibes/language.md +23 -0
- package/.claude/commands/agent-vibes/learn.md +67 -0
- package/.claude/commands/agent-vibes/list.md +0 -0
- package/.claude/commands/agent-vibes/personality.md +0 -0
- package/.claude/commands/agent-vibes/preview.md +0 -0
- package/.claude/commands/agent-vibes/replay-target.md +14 -0
- package/.claude/commands/agent-vibes/replay.md +0 -0
- package/.claude/commands/agent-vibes/sample.md +0 -0
- package/.claude/commands/agent-vibes/sentiment.md +0 -0
- package/.claude/commands/agent-vibes/set-language.md +0 -0
- package/.claude/commands/agent-vibes/set-pretext.md +0 -0
- package/.claude/commands/agent-vibes/set-speed.md +41 -0
- package/.claude/commands/agent-vibes/switch.md +0 -0
- package/.claude/commands/agent-vibes/target-voice.md +26 -0
- package/.claude/commands/agent-vibes/target.md +30 -0
- package/.claude/commands/agent-vibes/update.md +0 -0
- package/.claude/commands/agent-vibes/version.md +0 -0
- package/.claude/commands/agent-vibes/whoami.md +0 -0
- package/.claude/github-star-reminder.txt +1 -1
- package/.claude/hooks/language-manager.sh +167 -13
- package/.claude/hooks/learn-manager.sh +443 -0
- package/.claude/hooks/play-tts-elevenlabs.sh +52 -8
- package/.claude/hooks/play-tts-piper.sh +82 -8
- package/.claude/hooks/play-tts.sh +30 -4
- package/.claude/hooks/provider-commands.sh +46 -3
- package/.claude/hooks/provider-manager.sh +56 -4
- package/.claude/hooks/replay-target-audio.sh +64 -0
- package/.claude/hooks/speed-manager.sh +226 -0
- package/.claude/language-voices.yaml +0 -0
- package/.claude/output-styles/agent-vibes.md +0 -0
- package/.claude/personalities/angry.md +0 -0
- package/.claude/personalities/annoying.md +0 -0
- package/.claude/personalities/crass.md +0 -0
- package/.claude/personalities/dramatic.md +0 -0
- package/.claude/personalities/dry-humor.md +0 -0
- package/.claude/personalities/flirty.md +0 -0
- package/.claude/personalities/funny.md +0 -0
- package/.claude/personalities/grandpa.md +0 -0
- package/.claude/personalities/millennial.md +0 -0
- package/.claude/personalities/moody.md +0 -0
- package/.claude/personalities/normal.md +0 -0
- package/.claude/personalities/pirate.md +0 -0
- package/.claude/personalities/poetic.md +0 -0
- package/.claude/personalities/professional.md +0 -0
- package/.claude/personalities/robot.md +0 -0
- package/.claude/personalities/sarcastic.md +0 -0
- package/.claude/personalities/sassy.md +0 -0
- package/.claude/personalities/surfer-dude.md +0 -0
- package/.claude/personalities/zen.md +0 -0
- package/.claude/piper-voices/en_US-lessac-medium.onnx +0 -0
- package/.claude/piper-voices/en_US-lessac-medium.onnx.json +0 -0
- package/.claude/piper-voices-dir.txt +0 -0
- package/.claude/plugins/bmad-voices-enabled.flag +0 -0
- package/.claude/plugins/bmad-voices.md +0 -0
- package/.mcp-minimal.json +6 -8
- package/AUDIO_TUNNEL_FIX_SUMMARY.md +0 -0
- package/INSTALL_MCP_WINDOWS.md +120 -42
- package/LICENSE +0 -0
- package/NPM_PUBLISH_GUIDE.md +0 -0
- package/README.md +19 -6
- package/RELEASE_NOTES.md +97 -0
- package/RELEASE_NOTES_V2.md +136 -5
- package/agentvibes.org/.claude/commands/agent-vibes/add.md +21 -0
- package/agentvibes.org/.claude/commands/agent-vibes/agent-vibes.md +68 -0
- package/agentvibes.org/.claude/commands/agent-vibes/commands.json +53 -0
- package/agentvibes.org/.claude/commands/agent-vibes/get.md +9 -0
- package/agentvibes.org/.claude/commands/agent-vibes/list.md +13 -0
- package/agentvibes.org/.claude/commands/agent-vibes/personality.md +79 -0
- package/agentvibes.org/.claude/commands/agent-vibes/preview.md +16 -0
- package/agentvibes.org/.claude/commands/agent-vibes/provider.md +54 -0
- package/agentvibes.org/.claude/commands/agent-vibes/replay.md +19 -0
- package/agentvibes.org/.claude/commands/agent-vibes/sample.md +12 -0
- package/agentvibes.org/.claude/commands/agent-vibes/sentiment.md +52 -0
- package/agentvibes.org/.claude/commands/agent-vibes/set-language.md +47 -0
- package/agentvibes.org/.claude/commands/agent-vibes/set-pretext.md +65 -0
- package/agentvibes.org/.claude/commands/agent-vibes/switch.md +53 -0
- package/agentvibes.org/.claude/commands/agent-vibes/update.md +20 -0
- package/agentvibes.org/.claude/commands/agent-vibes/version.md +10 -0
- package/agentvibes.org/.claude/commands/agent-vibes/whoami.md +7 -0
- package/agentvibes.org/.claude/hooks/bmad-voice-manager.sh +278 -0
- package/agentvibes.org/.claude/hooks/language-manager.sh +190 -0
- package/agentvibes.org/.claude/hooks/personality-manager.sh +279 -0
- package/agentvibes.org/.claude/hooks/piper-download-voices.sh +133 -0
- package/agentvibes.org/.claude/hooks/piper-voice-manager.sh +227 -0
- package/agentvibes.org/.claude/hooks/play-tts-elevenlabs.sh +201 -0
- package/agentvibes.org/.claude/hooks/play-tts-piper.sh +175 -0
- package/agentvibes.org/.claude/hooks/play-tts.sh +138 -0
- package/agentvibes.org/.claude/hooks/provider-commands.sh +374 -0
- package/agentvibes.org/.claude/hooks/provider-manager.sh +196 -0
- package/agentvibes.org/.claude/hooks/sentiment-manager.sh +163 -0
- package/agentvibes.org/.claude/hooks/voice-manager.sh +349 -0
- package/agentvibes.org/.claude/hooks/voices-config.sh +33 -0
- package/agentvibes.org/.claude/journal/2025-10-07.html +373 -0
- package/agentvibes.org/.claude/journal/index.html +91 -0
- package/agentvibes.org/.claude/output-styles/agent-vibes.md +203 -0
- package/agentvibes.org/.claude/personalities/angry.md +16 -0
- package/agentvibes.org/.claude/personalities/annoying.md +16 -0
- package/agentvibes.org/.claude/personalities/crass.md +16 -0
- package/agentvibes.org/.claude/personalities/dramatic.md +16 -0
- package/agentvibes.org/.claude/personalities/dry-humor.md +52 -0
- package/agentvibes.org/.claude/personalities/flirty.md +22 -0
- package/agentvibes.org/.claude/personalities/funny.md +16 -0
- package/agentvibes.org/.claude/personalities/grandpa.md +34 -0
- package/agentvibes.org/.claude/personalities/millennial.md +16 -0
- package/agentvibes.org/.claude/personalities/moody.md +16 -0
- package/agentvibes.org/.claude/personalities/normal.md +18 -0
- package/agentvibes.org/.claude/personalities/pirate.md +16 -0
- package/agentvibes.org/.claude/personalities/poetic.md +16 -0
- package/agentvibes.org/.claude/personalities/professional.md +16 -0
- package/agentvibes.org/.claude/personalities/robot.md +16 -0
- package/agentvibes.org/.claude/personalities/sarcastic.md +40 -0
- package/agentvibes.org/.claude/personalities/sassy.md +16 -0
- package/agentvibes.org/.claude/personalities/surfer-dude.md +16 -0
- package/agentvibes.org/.claude/personalities/zen.md +16 -0
- package/agentvibes.org/.mcp-minimal.json +60 -0
- package/agentvibes.org/CHANGELOG.md +56 -0
- package/agentvibes.org/README.md +93 -0
- package/agentvibes.org/app/(auth)/layout.tsx +15 -0
- package/agentvibes.org/app/(auth)/reset-password/page.tsx +45 -0
- package/agentvibes.org/app/(auth)/signin/page.tsx +82 -0
- package/agentvibes.org/app/(auth)/signup/page.tsx +104 -0
- package/agentvibes.org/app/(default)/layout.tsx +31 -0
- package/agentvibes.org/app/(default)/page.tsx +20 -0
- package/agentvibes.org/app/api/hello/route.ts +3 -0
- package/agentvibes.org/app/css/additional-styles/theme.css +82 -0
- package/agentvibes.org/app/css/additional-styles/utility-patterns.css +55 -0
- package/agentvibes.org/app/css/style.css +100 -0
- package/agentvibes.org/app/layout.tsx +63 -0
- package/agentvibes.org/components/cta.tsx +58 -0
- package/agentvibes.org/components/features.tsx +256 -0
- package/agentvibes.org/components/hero-home.tsx +133 -0
- package/agentvibes.org/components/modal-video.tsx +137 -0
- package/agentvibes.org/components/page-illustration.tsx +55 -0
- package/agentvibes.org/components/spotlight.tsx +77 -0
- package/agentvibes.org/components/testimonials.tsx +282 -0
- package/agentvibes.org/components/ui/footer.tsx +82 -0
- package/agentvibes.org/components/ui/header.tsx +53 -0
- package/agentvibes.org/components/ui/logo.tsx +10 -0
- package/agentvibes.org/components/workflows.tsx +176 -0
- package/agentvibes.org/next.config.js +4 -0
- package/agentvibes.org/package-lock.json +1974 -0
- package/agentvibes.org/package.json +30 -0
- package/agentvibes.org/pnpm-lock.yaml +1141 -0
- package/agentvibes.org/postcss.config.js +5 -0
- package/agentvibes.org/public/audio/02-sarcastic.mp3 +0 -0
- package/agentvibes.org/public/audio/03-angry.mp3 +0 -0
- package/agentvibes.org/public/audio/04-grandpa.mp3 +0 -0
- package/agentvibes.org/public/audio/05-sarcastic-example2.mp3 +0 -0
- package/agentvibes.org/public/audio/french-rachel.mp3 +0 -0
- package/agentvibes.org/public/audio/spanish-antoni.mp3 +0 -0
- package/agentvibes.org/public/favicon.ico +0 -0
- package/agentvibes.org/public/fonts/nacelle-italic.woff2 +0 -0
- package/agentvibes.org/public/fonts/nacelle-regular.woff2 +0 -0
- package/agentvibes.org/public/fonts/nacelle-semibold.woff2 +0 -0
- package/agentvibes.org/public/fonts/nacelle-semibolditalic.woff2 +0 -0
- package/agentvibes.org/public/images/blurred-shape-gray.svg +1 -0
- package/agentvibes.org/public/images/blurred-shape.svg +1 -0
- package/agentvibes.org/public/images/client-logo-01.svg +1 -0
- package/agentvibes.org/public/images/client-logo-02.svg +1 -0
- package/agentvibes.org/public/images/client-logo-03.svg +1 -0
- package/agentvibes.org/public/images/client-logo-04.svg +1 -0
- package/agentvibes.org/public/images/client-logo-05.svg +1 -0
- package/agentvibes.org/public/images/client-logo-06.svg +1 -0
- package/agentvibes.org/public/images/client-logo-07.svg +1 -0
- package/agentvibes.org/public/images/client-logo-08.svg +1 -0
- package/agentvibes.org/public/images/client-logo-09.svg +1 -0
- package/agentvibes.org/public/images/features.png +0 -0
- package/agentvibes.org/public/images/footer-illustration.svg +1 -0
- package/agentvibes.org/public/images/hero-image-01.jpg +0 -0
- package/agentvibes.org/public/images/logo.svg +1 -0
- package/agentvibes.org/public/images/page-illustration.svg +1 -0
- package/agentvibes.org/public/images/secondary-illustration.svg +1 -0
- package/agentvibes.org/public/images/testimonial-01.jpg +0 -0
- package/agentvibes.org/public/images/testimonial-02.jpg +0 -0
- package/agentvibes.org/public/images/testimonial-03.jpg +0 -0
- package/agentvibes.org/public/images/testimonial-04.jpg +0 -0
- package/agentvibes.org/public/images/testimonial-05.jpg +0 -0
- package/agentvibes.org/public/images/testimonial-06.jpg +0 -0
- package/agentvibes.org/public/images/testimonial-07.jpg +0 -0
- package/agentvibes.org/public/images/testimonial-08.jpg +0 -0
- package/agentvibes.org/public/images/testimonial-09.jpg +0 -0
- package/agentvibes.org/public/images/workflow-01.png +0 -0
- package/agentvibes.org/public/images/workflow-02.png +0 -0
- package/agentvibes.org/public/images/workflow-03.png +0 -0
- package/agentvibes.org/public/videos/video.mp4 +0 -0
- package/agentvibes.org/tsconfig.json +28 -0
- package/agentvibes.org/utils/useMasonry.tsx +67 -0
- package/agentvibes.org/utils/useMousePosition.tsx +27 -0
- package/bin/mcp-server.js +122 -0
- package/docs/ai-optimized-documentation-standards.md +0 -0
- package/docs/architecture/provider-system.md +0 -0
- package/docs/remote-audio-setup.md +0 -0
- package/docs/voice-mapping-format.md +0 -0
- package/linkedin/vibe-coding-and-pulseaudio.md +121 -0
- package/mcp-server/QUICK_START.md +0 -0
- package/mcp-server/README.md +0 -0
- package/mcp-server/examples/claude_desktop_config.json +0 -0
- package/mcp-server/examples/claude_desktop_config_piper.json +0 -0
- package/mcp-server/examples/custom_instructions.md +0 -0
- package/mcp-server/pyproject.toml +0 -0
- package/mcp-server/requirements.txt +0 -0
- package/mcp-server/server.py +87 -25
- package/package.json +2 -2
- package/scripts/AUTO-MONITOR-SETUP.md +233 -0
- package/scripts/CHANGELOG-2025-10-16.md +268 -0
- package/scripts/README.md +114 -0
- package/scripts/TROUBLESHOOTING.md +258 -0
- package/scripts/audio-tunnel.config +17 -0
- package/scripts/audio-tunnel.config.example +18 -0
- package/scripts/fix-audio-tunnel-complete.sh +255 -0
- package/scripts/fix-audio-tunnel.sh +244 -54
- package/scripts/health-check-tunnel.sh +93 -0
- package/scripts/piper-voice/README.md +0 -0
- package/scripts/setup-auto-monitor.sh +86 -0
- package/scripts/setup-windows-audio.ps1 +0 -0
- package/src/commands/install-mcp.js +0 -0
- package/src/installer.js +18 -0
- package/templates/activation-instructions-bmad.md +0 -0
- package/templates/output-styles/agent-vibes.md +0 -0
- package/test/README.md +0 -0
- package/test/helpers/test-helper.bash +0 -0
- package/test/test-framework.md +0 -0
- package/test/unit/personality-manager.bats +0 -0
- package/test/unit/play-tts.bats +0 -0
- package/test/unit/voice-manager.bats +0 -0
- /package/bin/{mcp-server → mcp-server.sh} +0 -0
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Enable or disable language learning mode
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
Turn language learning mode ON or OFF. When enabled, Claude will speak acknowledgments and completions in BOTH your main language and target language.
|
|
6
|
+
|
|
7
|
+
Usage:
|
|
8
|
+
```
|
|
9
|
+
/agent-vibes:learn # Turn ON
|
|
10
|
+
/agent-vibes:learn off # Turn OFF
|
|
11
|
+
/agent-vibes:learn status # Show current setup
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
## How Learning Mode Works:
|
|
15
|
+
|
|
16
|
+
When learning mode is **ON**:
|
|
17
|
+
1. **First**: Speak in your main language (using your current voice)
|
|
18
|
+
2. **Then**: Speak the SAME message translated to your target language (using target voice)
|
|
19
|
+
|
|
20
|
+
Example:
|
|
21
|
+
```
|
|
22
|
+
Main language (English, Aria): "I'll check that for you"
|
|
23
|
+
Target language (Spanish, Antoni): "Lo verificaré para ti"
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
## Setup Steps:
|
|
27
|
+
|
|
28
|
+
1. Set your main language:
|
|
29
|
+
```
|
|
30
|
+
/agent-vibes:language english
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
2. Set your target language:
|
|
34
|
+
```
|
|
35
|
+
/agent-vibes:target spanish
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
3. Set target voice (recommended):
|
|
39
|
+
```
|
|
40
|
+
/agent-vibes:target-voice Antoni
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
4. Enable learning mode:
|
|
44
|
+
```
|
|
45
|
+
/agent-vibes:learn
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
5. Check your setup:
|
|
49
|
+
```
|
|
50
|
+
/agent-vibes:learn status
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
## Notes:
|
|
54
|
+
|
|
55
|
+
- Translations are **direct translations** of what was said in the main language
|
|
56
|
+
- Same **personality/sentiment** applies to both languages
|
|
57
|
+
- Works with all AgentVibes features (BMAD, personalities, etc.)
|
|
58
|
+
- Requires multilingual voices for target language (Antoni, Rachel, Domi, Bella, etc.)
|
|
59
|
+
- Small pause (0.5s) between main and target language announcements
|
|
60
|
+
|
|
61
|
+
## Disable Learning Mode:
|
|
62
|
+
|
|
63
|
+
```
|
|
64
|
+
/agent-vibes:learn off
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
This returns to normal single-language TTS mode.
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Replay the last target language audio (for language learning mode)
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
Replay the last message that was spoken in your target language during language learning mode.
|
|
6
|
+
|
|
7
|
+
This is useful when learning a new language - you can hear the translation again without triggering a new one.
|
|
8
|
+
|
|
9
|
+
Usage:
|
|
10
|
+
- `/agent-vibes:replay-target` - Replay the last target language audio
|
|
11
|
+
|
|
12
|
+
**Note:** This only works when language learning mode is active (`/agent-vibes:learn`).
|
|
13
|
+
|
|
14
|
+
!bash .claude/hooks/replay-target-audio.sh
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Set TTS speech speed for Piper voices
|
|
3
|
+
argument-hint: [target] <speed>
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Set Speech Speed
|
|
7
|
+
|
|
8
|
+
Control the speech rate for Piper TTS voices (ElevenLabs doesn't support speed control).
|
|
9
|
+
|
|
10
|
+
## Usage
|
|
11
|
+
|
|
12
|
+
```bash
|
|
13
|
+
/agent-vibes:set-speed 2x # Set main voice to 2x slower
|
|
14
|
+
/agent-vibes:set-speed target 2x # Set target language to 2x slower
|
|
15
|
+
/agent-vibes:set-speed 0.5x # Set main voice to 2x faster
|
|
16
|
+
/agent-vibes:set-speed target 3x # Set target language to 3x slower
|
|
17
|
+
/agent-vibes:set-speed normal # Reset to normal speed (1.0)
|
|
18
|
+
/agent-vibes:set-speed target normal # Reset target to normal speed
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
## Speed Values
|
|
22
|
+
|
|
23
|
+
- `0.5x` or `-2x` = 2x faster (half duration)
|
|
24
|
+
- `1x` or `normal` = Normal speed
|
|
25
|
+
- `2x` or `+2x` = 2x slower (double duration, great for learning)
|
|
26
|
+
- `3x` or `+3x` = 3x slower (triple duration, very slow)
|
|
27
|
+
|
|
28
|
+
## Examples
|
|
29
|
+
|
|
30
|
+
```bash
|
|
31
|
+
# Make Spanish 2x slower for learning
|
|
32
|
+
/agent-vibes:set-speed target 2x
|
|
33
|
+
|
|
34
|
+
# Make main voice faster
|
|
35
|
+
/agent-vibes:set-speed 0.5x
|
|
36
|
+
|
|
37
|
+
# Reset target language to normal speed
|
|
38
|
+
/agent-vibes:set-speed target normal
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
!bash .claude/hooks/speed-manager.sh $ARGUMENTS
|
|
File without changes
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Set the voice for your target language
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
Set which voice to use when speaking your target language. This should typically be a multilingual voice that supports your target language.
|
|
6
|
+
|
|
7
|
+
Usage:
|
|
8
|
+
```
|
|
9
|
+
/agent-vibes:target-voice Antoni
|
|
10
|
+
/agent-vibes:target-voice Rachel
|
|
11
|
+
/agent-vibes:target-voice Domi
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
Recommended multilingual voices:
|
|
15
|
+
- **Antoni** - Best for Spanish, Portuguese
|
|
16
|
+
- **Rachel** - Best for French, English
|
|
17
|
+
- **Domi** - Best for German, European languages
|
|
18
|
+
- **Bella** - Best for Italian, Romance languages
|
|
19
|
+
- **Charlotte** - European languages
|
|
20
|
+
- **Matilda** - Latin languages
|
|
21
|
+
|
|
22
|
+
These voices support 30+ languages using ElevenLabs' Multilingual v2 model.
|
|
23
|
+
|
|
24
|
+
After setting your target voice:
|
|
25
|
+
- Enable learning mode with `/agent-vibes:learn`
|
|
26
|
+
- Check your setup with `/agent-vibes:learn status`
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Set the language you want to learn
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
Set the target language you want to learn. When learning mode is enabled, TTS will speak in your main language FIRST, then speak the translation in your target language.
|
|
6
|
+
|
|
7
|
+
Usage:
|
|
8
|
+
```
|
|
9
|
+
/agent-vibes:target spanish
|
|
10
|
+
/agent-vibes:target french
|
|
11
|
+
/agent-vibes:target german
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
Recommended voices by target language:
|
|
15
|
+
- Spanish → Antoni (ElevenLabs) / es_ES-davefx-medium (Piper)
|
|
16
|
+
- French → Rachel (ElevenLabs) / fr_FR-siwis-medium (Piper)
|
|
17
|
+
- German → Domi (ElevenLabs) / de_DE-thorsten-medium (Piper)
|
|
18
|
+
- Italian → Bella (ElevenLabs) / it_IT-riccardo-x_low (Piper)
|
|
19
|
+
- Portuguese → Matilda (ElevenLabs) / pt_BR-faber-medium (Piper)
|
|
20
|
+
- Chinese → Amy (ElevenLabs) / zh_CN-huayan-medium (Piper)
|
|
21
|
+
- Japanese → Antoni (ElevenLabs) / ja_JP-hikari-medium (Piper)
|
|
22
|
+
- Other languages → Antoni (ElevenLabs) / check available Piper voices
|
|
23
|
+
|
|
24
|
+
**Note:** The system will automatically suggest the correct voice based on your active TTS provider. After setting your target language, the suggestion will match whether you're using ElevenLabs or Piper.
|
|
25
|
+
|
|
26
|
+
After setting your target language:
|
|
27
|
+
1. Set the voice for target language with `/agent-vibes:target-voice <voice>`
|
|
28
|
+
2. Enable learning mode with `/agent-vibes:learn`
|
|
29
|
+
|
|
30
|
+
Supported languages: spanish, french, german, italian, portuguese, chinese, japanese, korean, hindi, arabic, polish, dutch, turkish, swedish, russian, and 15+ more.
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
20251016
|
|
@@ -29,7 +29,68 @@ fi
|
|
|
29
29
|
LANGUAGE_FILE="$CLAUDE_DIR/tts-language.txt"
|
|
30
30
|
mkdir -p "$CLAUDE_DIR"
|
|
31
31
|
|
|
32
|
-
#
|
|
32
|
+
# Source provider manager to detect active provider
|
|
33
|
+
source "$SCRIPT_DIR/provider-manager.sh" 2>/dev/null || true
|
|
34
|
+
|
|
35
|
+
# Language to ElevenLabs multilingual voice mapping
|
|
36
|
+
declare -A ELEVENLABS_VOICES=(
|
|
37
|
+
["spanish"]="Antoni"
|
|
38
|
+
["french"]="Rachel"
|
|
39
|
+
["german"]="Domi"
|
|
40
|
+
["italian"]="Bella"
|
|
41
|
+
["portuguese"]="Matilda"
|
|
42
|
+
["chinese"]="Antoni"
|
|
43
|
+
["japanese"]="Antoni"
|
|
44
|
+
["korean"]="Antoni"
|
|
45
|
+
["russian"]="Domi"
|
|
46
|
+
["polish"]="Antoni"
|
|
47
|
+
["dutch"]="Rachel"
|
|
48
|
+
["turkish"]="Antoni"
|
|
49
|
+
["arabic"]="Antoni"
|
|
50
|
+
["hindi"]="Antoni"
|
|
51
|
+
["swedish"]="Rachel"
|
|
52
|
+
["danish"]="Rachel"
|
|
53
|
+
["norwegian"]="Rachel"
|
|
54
|
+
["finnish"]="Rachel"
|
|
55
|
+
["czech"]="Domi"
|
|
56
|
+
["romanian"]="Rachel"
|
|
57
|
+
["ukrainian"]="Domi"
|
|
58
|
+
["greek"]="Antoni"
|
|
59
|
+
["bulgarian"]="Domi"
|
|
60
|
+
["croatian"]="Domi"
|
|
61
|
+
["slovak"]="Domi"
|
|
62
|
+
)
|
|
63
|
+
|
|
64
|
+
# Language to Piper voice model mapping
|
|
65
|
+
declare -A PIPER_VOICES=(
|
|
66
|
+
["spanish"]="es_ES-davefx-medium"
|
|
67
|
+
["french"]="fr_FR-siwis-medium"
|
|
68
|
+
["german"]="de_DE-thorsten-medium"
|
|
69
|
+
["italian"]="it_IT-riccardo-x_low"
|
|
70
|
+
["portuguese"]="pt_BR-faber-medium"
|
|
71
|
+
["chinese"]="zh_CN-huayan-medium"
|
|
72
|
+
["japanese"]="ja_JP-hikari-medium"
|
|
73
|
+
["korean"]="ko_KR-eunyoung-medium"
|
|
74
|
+
["russian"]="ru_RU-dmitri-medium"
|
|
75
|
+
["polish"]="pl_PL-darkman-medium"
|
|
76
|
+
["dutch"]="nl_NL-rdh-medium"
|
|
77
|
+
["turkish"]="tr_TR-dfki-medium"
|
|
78
|
+
["arabic"]="ar_JO-kareem-medium"
|
|
79
|
+
["hindi"]="hi_IN-amitabh-medium"
|
|
80
|
+
["swedish"]="sv_SE-nst-medium"
|
|
81
|
+
["danish"]="da_DK-talesyntese-medium"
|
|
82
|
+
["norwegian"]="no_NO-talesyntese-medium"
|
|
83
|
+
["finnish"]="fi_FI-harri-medium"
|
|
84
|
+
["czech"]="cs_CZ-jirka-medium"
|
|
85
|
+
["romanian"]="ro_RO-mihai-medium"
|
|
86
|
+
["ukrainian"]="uk_UA-lada-x_low"
|
|
87
|
+
["greek"]="el_GR-rapunzelina-low"
|
|
88
|
+
["bulgarian"]="bg_BG-valentin-medium"
|
|
89
|
+
["croatian"]="hr_HR-gorana-medium"
|
|
90
|
+
["slovak"]="sk_SK-lili-medium"
|
|
91
|
+
)
|
|
92
|
+
|
|
93
|
+
# Backward compatibility: Keep LANGUAGE_VOICES for existing code
|
|
33
94
|
declare -A LANGUAGE_VOICES=(
|
|
34
95
|
["spanish"]="Antoni"
|
|
35
96
|
["french"]="Rachel"
|
|
@@ -91,13 +152,27 @@ set_language() {
|
|
|
91
152
|
# Save language
|
|
92
153
|
echo "$lang" > "$LANGUAGE_FILE"
|
|
93
154
|
|
|
94
|
-
#
|
|
95
|
-
local
|
|
155
|
+
# Detect active provider and get recommended voice
|
|
156
|
+
local provider=""
|
|
157
|
+
if [[ -f "$CLAUDE_DIR/tts-provider.txt" ]]; then
|
|
158
|
+
provider=$(cat "$CLAUDE_DIR/tts-provider.txt")
|
|
159
|
+
elif [[ -f "$HOME/.claude/tts-provider.txt" ]]; then
|
|
160
|
+
provider=$(cat "$HOME/.claude/tts-provider.txt")
|
|
161
|
+
else
|
|
162
|
+
provider="elevenlabs"
|
|
163
|
+
fi
|
|
164
|
+
|
|
165
|
+
local recommended_voice=$(get_voice_for_language "$lang" "$provider")
|
|
166
|
+
|
|
167
|
+
# Fallback to old mapping if provider-aware function returns empty
|
|
168
|
+
if [[ -z "$recommended_voice" ]]; then
|
|
169
|
+
recommended_voice="${LANGUAGE_VOICES[$lang]}"
|
|
170
|
+
fi
|
|
96
171
|
|
|
97
172
|
echo "✓ Language set to: $lang"
|
|
98
|
-
echo "📢 Recommended
|
|
173
|
+
echo "📢 Recommended voice for $provider TTS: $recommended_voice"
|
|
99
174
|
echo ""
|
|
100
|
-
echo "TTS will now speak in $lang
|
|
175
|
+
echo "TTS will now speak in $lang."
|
|
101
176
|
echo "Switch voice with: /agent-vibes:switch \"$recommended_voice\""
|
|
102
177
|
}
|
|
103
178
|
|
|
@@ -105,9 +180,26 @@ set_language() {
|
|
|
105
180
|
get_language() {
|
|
106
181
|
if [[ -f "$LANGUAGE_FILE" ]]; then
|
|
107
182
|
local lang=$(cat "$LANGUAGE_FILE")
|
|
108
|
-
|
|
183
|
+
|
|
184
|
+
# Detect active provider
|
|
185
|
+
local provider=""
|
|
186
|
+
if [[ -f "$CLAUDE_DIR/tts-provider.txt" ]]; then
|
|
187
|
+
provider=$(cat "$CLAUDE_DIR/tts-provider.txt")
|
|
188
|
+
elif [[ -f "$HOME/.claude/tts-provider.txt" ]]; then
|
|
189
|
+
provider=$(cat "$HOME/.claude/tts-provider.txt")
|
|
190
|
+
else
|
|
191
|
+
provider="elevenlabs"
|
|
192
|
+
fi
|
|
193
|
+
|
|
194
|
+
local recommended_voice=$(get_voice_for_language "$lang" "$provider")
|
|
195
|
+
|
|
196
|
+
# Fallback to old mapping
|
|
197
|
+
if [[ -z "$recommended_voice" ]]; then
|
|
198
|
+
recommended_voice="${LANGUAGE_VOICES[$lang]}"
|
|
199
|
+
fi
|
|
200
|
+
|
|
109
201
|
echo "Current language: $lang"
|
|
110
|
-
echo "Recommended voice: $recommended_voice"
|
|
202
|
+
echo "Recommended voice ($provider): $recommended_voice"
|
|
111
203
|
else
|
|
112
204
|
echo "Current language: english (default)"
|
|
113
205
|
echo "No multilingual voice required"
|
|
@@ -153,6 +245,60 @@ get_best_voice_for_language() {
|
|
|
153
245
|
echo "${LANGUAGE_VOICES[$lang]}"
|
|
154
246
|
}
|
|
155
247
|
|
|
248
|
+
# Function to get voice for a specific language and provider
|
|
249
|
+
# Usage: get_voice_for_language <language> [provider]
|
|
250
|
+
# Provider: "elevenlabs" or "piper" (auto-detected if not provided)
|
|
251
|
+
get_voice_for_language() {
|
|
252
|
+
local language="$1"
|
|
253
|
+
local provider="${2:-}"
|
|
254
|
+
|
|
255
|
+
# Convert to lowercase
|
|
256
|
+
language=$(echo "$language" | tr '[:upper:]' '[:lower:]')
|
|
257
|
+
|
|
258
|
+
# Auto-detect provider if not specified
|
|
259
|
+
if [[ -z "$provider" ]]; then
|
|
260
|
+
if command -v get_active_provider &>/dev/null; then
|
|
261
|
+
provider=$(get_active_provider 2>/dev/null)
|
|
262
|
+
else
|
|
263
|
+
# Fallback to checking provider file directly
|
|
264
|
+
# Try current directory first, then search up the tree
|
|
265
|
+
local search_dir="$PWD"
|
|
266
|
+
local found=false
|
|
267
|
+
|
|
268
|
+
while [[ "$search_dir" != "/" ]]; do
|
|
269
|
+
if [[ -f "$search_dir/.claude/tts-provider.txt" ]]; then
|
|
270
|
+
provider=$(cat "$search_dir/.claude/tts-provider.txt")
|
|
271
|
+
found=true
|
|
272
|
+
break
|
|
273
|
+
fi
|
|
274
|
+
search_dir=$(dirname "$search_dir")
|
|
275
|
+
done
|
|
276
|
+
|
|
277
|
+
# If not found in project tree, check global
|
|
278
|
+
if [[ "$found" = false ]]; then
|
|
279
|
+
if [[ -f "$HOME/.claude/tts-provider.txt" ]]; then
|
|
280
|
+
provider=$(cat "$HOME/.claude/tts-provider.txt")
|
|
281
|
+
else
|
|
282
|
+
provider="elevenlabs" # Default
|
|
283
|
+
fi
|
|
284
|
+
fi
|
|
285
|
+
fi
|
|
286
|
+
fi
|
|
287
|
+
|
|
288
|
+
# Return appropriate voice based on provider
|
|
289
|
+
case "$provider" in
|
|
290
|
+
piper)
|
|
291
|
+
echo "${PIPER_VOICES[$language]:-}"
|
|
292
|
+
;;
|
|
293
|
+
elevenlabs)
|
|
294
|
+
echo "${ELEVENLABS_VOICES[$language]:-}"
|
|
295
|
+
;;
|
|
296
|
+
*)
|
|
297
|
+
echo "${ELEVENLABS_VOICES[$language]:-}"
|
|
298
|
+
;;
|
|
299
|
+
esac
|
|
300
|
+
}
|
|
301
|
+
|
|
156
302
|
# Main command handler - only run if script is executed directly, not sourced
|
|
157
303
|
if [[ "${BASH_SOURCE[0]}" == "${0}" ]]; then
|
|
158
304
|
case "${1:-}" in
|
|
@@ -183,6 +329,13 @@ if [[ "${BASH_SOURCE[0]}" == "${0}" ]]; then
|
|
|
183
329
|
best-voice)
|
|
184
330
|
get_best_voice_for_language
|
|
185
331
|
;;
|
|
332
|
+
voice-for-language)
|
|
333
|
+
if [[ -z "$2" ]]; then
|
|
334
|
+
echo "Usage: language-manager.sh voice-for-language <language> [provider]"
|
|
335
|
+
exit 1
|
|
336
|
+
fi
|
|
337
|
+
get_voice_for_language "$2" "$3"
|
|
338
|
+
;;
|
|
186
339
|
list)
|
|
187
340
|
echo "Supported languages and recommended voices:"
|
|
188
341
|
echo ""
|
|
@@ -194,12 +347,13 @@ if [[ "${BASH_SOURCE[0]}" == "${0}" ]]; then
|
|
|
194
347
|
echo "AgentVibes Language Manager"
|
|
195
348
|
echo ""
|
|
196
349
|
echo "Usage:"
|
|
197
|
-
echo " language-manager.sh set <language>
|
|
198
|
-
echo " language-manager.sh get
|
|
199
|
-
echo " language-manager.sh code
|
|
200
|
-
echo " language-manager.sh check-voice <name>
|
|
201
|
-
echo " language-manager.sh best-voice
|
|
202
|
-
echo " language-manager.sh
|
|
350
|
+
echo " language-manager.sh set <language> Set language"
|
|
351
|
+
echo " language-manager.sh get Get current language"
|
|
352
|
+
echo " language-manager.sh code Get language code only"
|
|
353
|
+
echo " language-manager.sh check-voice <name> Check if voice is multilingual"
|
|
354
|
+
echo " language-manager.sh best-voice Get best voice for current language"
|
|
355
|
+
echo " language-manager.sh voice-for-language <lang> [prov] Get voice for language & provider"
|
|
356
|
+
echo " language-manager.sh list List all supported languages"
|
|
203
357
|
exit 1
|
|
204
358
|
;;
|
|
205
359
|
esac
|