agentvibes 2.0.20 → 2.0.22

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.
Files changed (233) hide show
  1. package/.claude/agents/health-coach.md +154 -0
  2. package/.claude/agents/motivator.md +171 -0
  3. package/.claude/agents/negotiator.md +97 -0
  4. package/.claude/commands/agent-vibes/agent-health-coach.md +15 -0
  5. package/.claude/commands/agent-vibes/agent-motivator.md +15 -0
  6. package/.claude/commands/agent-vibes/agent-negotiator.md +15 -0
  7. package/.claude/commands/agent-vibes/agent.md +79 -0
  8. package/.claude/commands/agent-vibes/commands.json +4 -0
  9. package/.claude/commands/agent-vibes/set-favorite-voice.md +84 -0
  10. package/.claude/github-star-reminder.txt +1 -1
  11. package/.claude/hooks/download-extra-voices.sh +244 -0
  12. package/.claude/hooks/personality-manager.sh +81 -0
  13. package/.claude/hooks/piper-download-voices.sh +3 -93
  14. package/.claude/hooks/piper-multispeaker-registry.sh +165 -0
  15. package/.claude/hooks/play-tts-elevenlabs.sh +5 -3
  16. package/.claude/hooks/play-tts-piper.sh +27 -44
  17. package/.claude/hooks/provider-manager.sh +24 -5
  18. package/.claude/hooks/speed-manager.sh +10 -12
  19. package/.claude/hooks/voice-manager.sh +94 -56
  20. package/README.md +0 -3
  21. package/RELEASE_NOTES.md +40 -247
  22. package/docs/agents.md +485 -0
  23. package/docs/commands.md +1 -21
  24. package/docs/extra-voices-implementation-summary.md +235 -0
  25. package/docs/voice-registration-fix.md +254 -0
  26. package/fix-vscode-colors.sh +88 -0
  27. package/fixcolors +88 -0
  28. package/generate-all-agent-voices.sh +174 -0
  29. package/generate-missing-elevenlabs-complete.sh +236 -0
  30. package/generate-missing-elevenlabs.sh +110 -0
  31. package/generate-new-voices.sh +108 -0
  32. package/generate-piper-agent-intros.sh +85 -0
  33. package/generate-provider-and-agent-intros.sh +136 -0
  34. package/logo/fav_icon_128x128.png +0 -0
  35. package/logo/fav_icon_128x128.png:Zone.Identifier +4 -0
  36. package/logo/logo1.webp +0 -0
  37. package/logo/logo1.webp:Zone.Identifier +4 -0
  38. package/logo/social.png +0 -0
  39. package/logo/social.png:Zone.Identifier +4 -0
  40. package/mcp-server/agentvibes.db +0 -0
  41. package/mcp-server/server.py +47 -14
  42. package/package.json +3 -3
  43. package/regenerate-agent-voices.sh +79 -0
  44. package/test/unit/provider-manager.bats +8 -5
  45. package/test/unit/speed-manager.bats +4 -4
  46. package/agentvibes.org/.claude/audio/tts-padded-1760744118.mp3 +0 -0
  47. package/agentvibes.org/.claude/audio/tts-padded-1760748535.mp3 +0 -0
  48. package/agentvibes.org/.claude/audio/tts-padded-1760748676.mp3 +0 -0
  49. package/agentvibes.org/.claude/audio/tts-padded-1760750748.mp3 +0 -0
  50. package/agentvibes.org/.claude/audio/tts-padded-1760750947.mp3 +0 -0
  51. package/agentvibes.org/.claude/audio/tts-padded-1760752718.mp3 +0 -0
  52. package/agentvibes.org/.claude/audio/tts-padded-1760752907.mp3 +0 -0
  53. package/agentvibes.org/.claude/audio/tts-padded-1760753017.mp3 +0 -0
  54. package/agentvibes.org/.claude/audio/tts-padded-1760753045.mp3 +0 -0
  55. package/agentvibes.org/.claude/audio/tts-padded-1760753241.mp3 +0 -0
  56. package/agentvibes.org/.claude/audio/tts-padded-1760753315.mp3 +0 -0
  57. package/agentvibes.org/.claude/audio/tts-padded-1760753382.mp3 +0 -0
  58. package/agentvibes.org/.claude/audio/tts-padded-1760753408.mp3 +0 -0
  59. package/agentvibes.org/.claude/audio/tts-padded-1760753426.mp3 +0 -0
  60. package/agentvibes.org/.claude/audio/tts-padded-1760753446.mp3 +0 -0
  61. package/agentvibes.org/.claude/audio/tts-padded-1760753541.mp3 +0 -0
  62. package/agentvibes.org/.claude/audio/tts-padded-1760753553.mp3 +0 -0
  63. package/agentvibes.org/.claude/audio/tts-padded-1760753577.mp3 +0 -0
  64. package/agentvibes.org/.claude/commands/agent-vibes/add.md +0 -21
  65. package/agentvibes.org/.claude/commands/agent-vibes/agent-vibes.md +0 -68
  66. package/agentvibes.org/.claude/commands/agent-vibes/bmad.md +0 -196
  67. package/agentvibes.org/.claude/commands/agent-vibes/commands.json +0 -77
  68. package/agentvibes.org/.claude/commands/agent-vibes/get.md +0 -9
  69. package/agentvibes.org/.claude/commands/agent-vibes/language.md +0 -23
  70. package/agentvibes.org/.claude/commands/agent-vibes/learn.md +0 -67
  71. package/agentvibes.org/.claude/commands/agent-vibes/list.md +0 -13
  72. package/agentvibes.org/.claude/commands/agent-vibes/personality.md +0 -79
  73. package/agentvibes.org/.claude/commands/agent-vibes/preview.md +0 -17
  74. package/agentvibes.org/.claude/commands/agent-vibes/provider.md +0 -54
  75. package/agentvibes.org/.claude/commands/agent-vibes/replay-target.md +0 -14
  76. package/agentvibes.org/.claude/commands/agent-vibes/replay.md +0 -19
  77. package/agentvibes.org/.claude/commands/agent-vibes/sample.md +0 -12
  78. package/agentvibes.org/.claude/commands/agent-vibes/sentiment.md +0 -52
  79. package/agentvibes.org/.claude/commands/agent-vibes/set-language.md +0 -47
  80. package/agentvibes.org/.claude/commands/agent-vibes/set-pretext.md +0 -65
  81. package/agentvibes.org/.claude/commands/agent-vibes/set-speed.md +0 -41
  82. package/agentvibes.org/.claude/commands/agent-vibes/switch.md +0 -53
  83. package/agentvibes.org/.claude/commands/agent-vibes/target-voice.md +0 -26
  84. package/agentvibes.org/.claude/commands/agent-vibes/target.md +0 -30
  85. package/agentvibes.org/.claude/commands/agent-vibes/update.md +0 -20
  86. package/agentvibes.org/.claude/commands/agent-vibes/version.md +0 -10
  87. package/agentvibes.org/.claude/commands/agent-vibes/whoami.md +0 -7
  88. package/agentvibes.org/.claude/hooks/bmad-tts-injector.sh +0 -386
  89. package/agentvibes.org/.claude/hooks/bmad-voice-manager.sh +0 -375
  90. package/agentvibes.org/.claude/hooks/check-output-style.sh +0 -60
  91. package/agentvibes.org/.claude/hooks/github-star-reminder.sh +0 -94
  92. package/agentvibes.org/.claude/hooks/language-manager.sh +0 -360
  93. package/agentvibes.org/.claude/hooks/learn-manager.sh +0 -443
  94. package/agentvibes.org/.claude/hooks/personality-manager.sh +0 -324
  95. package/agentvibes.org/.claude/hooks/piper-download-voices.sh +0 -133
  96. package/agentvibes.org/.claude/hooks/piper-installer.sh +0 -144
  97. package/agentvibes.org/.claude/hooks/piper-voice-manager.sh +0 -227
  98. package/agentvibes.org/.claude/hooks/play-tts-elevenlabs.sh +0 -376
  99. package/agentvibes.org/.claude/hooks/play-tts-piper.sh +0 -281
  100. package/agentvibes.org/.claude/hooks/play-tts.sh +0 -69
  101. package/agentvibes.org/.claude/hooks/provider-commands.sh +0 -505
  102. package/agentvibes.org/.claude/hooks/provider-manager.sh +0 -248
  103. package/agentvibes.org/.claude/hooks/replay-target-audio.sh +0 -64
  104. package/agentvibes.org/.claude/hooks/sentiment-manager.sh +0 -163
  105. package/agentvibes.org/.claude/hooks/speed-manager.sh +0 -259
  106. package/agentvibes.org/.claude/hooks/voice-manager.sh +0 -477
  107. package/agentvibes.org/.claude/hooks/voices-config.sh +0 -33
  108. package/agentvibes.org/.claude/journal/2025-10-07.html +0 -373
  109. package/agentvibes.org/.claude/journal/index.html +0 -91
  110. package/agentvibes.org/.claude/output-styles/agent-vibes.md +0 -203
  111. package/agentvibes.org/.claude/personalities/angry.md +0 -17
  112. package/agentvibes.org/.claude/personalities/annoying.md +0 -17
  113. package/agentvibes.org/.claude/personalities/crass.md +0 -17
  114. package/agentvibes.org/.claude/personalities/dramatic.md +0 -17
  115. package/agentvibes.org/.claude/personalities/dry-humor.md +0 -53
  116. package/agentvibes.org/.claude/personalities/flirty.md +0 -23
  117. package/agentvibes.org/.claude/personalities/funny.md +0 -17
  118. package/agentvibes.org/.claude/personalities/grandpa.md +0 -35
  119. package/agentvibes.org/.claude/personalities/millennial.md +0 -17
  120. package/agentvibes.org/.claude/personalities/moody.md +0 -17
  121. package/agentvibes.org/.claude/personalities/normal.md +0 -19
  122. package/agentvibes.org/.claude/personalities/pirate.md +0 -17
  123. package/agentvibes.org/.claude/personalities/poetic.md +0 -17
  124. package/agentvibes.org/.claude/personalities/professional.md +0 -17
  125. package/agentvibes.org/.claude/personalities/robot.md +0 -17
  126. package/agentvibes.org/.claude/personalities/sarcastic.md +0 -41
  127. package/agentvibes.org/.claude/personalities/sassy.md +0 -17
  128. package/agentvibes.org/.claude/personalities/surfer-dude.md +0 -17
  129. package/agentvibes.org/.claude/personalities/zen.md +0 -17
  130. package/agentvibes.org/.claude/piper-voices-dir.txt +0 -1
  131. package/agentvibes.org/.claude/plugins/bmad-voices.md +0 -42
  132. package/agentvibes.org/.claude/tts-provider.txt +0 -1
  133. package/agentvibes.org/.mcp-minimal.json +0 -60
  134. package/agentvibes.org/CHANGELOG.md +0 -56
  135. package/agentvibes.org/README.md +0 -93
  136. package/agentvibes.org/app/(auth)/layout.tsx +0 -15
  137. package/agentvibes.org/app/(auth)/reset-password/page.tsx +0 -45
  138. package/agentvibes.org/app/(auth)/signin/page.tsx +0 -82
  139. package/agentvibes.org/app/(auth)/signup/page.tsx +0 -104
  140. package/agentvibes.org/app/(default)/blog/[slug]/page.tsx +0 -128
  141. package/agentvibes.org/app/(default)/blog/page.tsx +0 -95
  142. package/agentvibes.org/app/(default)/layout.tsx +0 -31
  143. package/agentvibes.org/app/(default)/page.tsx +0 -20
  144. package/agentvibes.org/app/api/hello/route.ts +0 -3
  145. package/agentvibes.org/app/css/additional-styles/theme.css +0 -82
  146. package/agentvibes.org/app/css/additional-styles/utility-patterns.css +0 -55
  147. package/agentvibes.org/app/css/style.css +0 -100
  148. package/agentvibes.org/app/layout.tsx +0 -63
  149. package/agentvibes.org/components/code-block.tsx +0 -27
  150. package/agentvibes.org/components/cta.tsx +0 -58
  151. package/agentvibes.org/components/features.tsx +0 -256
  152. package/agentvibes.org/components/hero-home.tsx +0 -133
  153. package/agentvibes.org/components/mdx-components.tsx +0 -128
  154. package/agentvibes.org/components/modal-video.tsx +0 -137
  155. package/agentvibes.org/components/page-illustration.tsx +0 -55
  156. package/agentvibes.org/components/spotlight.tsx +0 -77
  157. package/agentvibes.org/components/testimonials.tsx +0 -282
  158. package/agentvibes.org/components/ui/footer.tsx +0 -82
  159. package/agentvibes.org/components/ui/header.tsx +0 -68
  160. package/agentvibes.org/components/ui/logo.tsx +0 -10
  161. package/agentvibes.org/components/workflows.tsx +0 -176
  162. package/agentvibes.org/content/blog/discovering-new-piper-voices.mdx +0 -253
  163. package/agentvibes.org/content/blog/getting-started-agentvibes.mdx +0 -228
  164. package/agentvibes.org/content/blog/introducing-agentvibes-v2.mdx +0 -250
  165. package/agentvibes.org/content/blog/language-learning-with-agentvibes.mdx +0 -142
  166. package/agentvibes.org/content/blog/voice-personalities-guide.mdx +0 -119
  167. package/agentvibes.org/lib/blog.ts +0 -73
  168. package/agentvibes.org/next.config.js +0 -6
  169. package/agentvibes.org/package-lock.json +0 -4285
  170. package/agentvibes.org/package.json +0 -40
  171. package/agentvibes.org/pnpm-lock.yaml +0 -1141
  172. package/agentvibes.org/postcss.config.js +0 -5
  173. package/agentvibes.org/public/audio/02-sarcastic.mp3 +0 -0
  174. package/agentvibes.org/public/audio/03-angry.mp3 +0 -0
  175. package/agentvibes.org/public/audio/04-grandpa.mp3 +0 -0
  176. package/agentvibes.org/public/audio/05-sarcastic-example2.mp3 +0 -0
  177. package/agentvibes.org/public/audio/french-rachel.mp3 +0 -0
  178. package/agentvibes.org/public/audio/piper-voices/speaker_0_Cori_Samuel.wav +0 -0
  179. package/agentvibes.org/public/audio/piper-voices/speaker_10_Steve_C.wav +0 -0
  180. package/agentvibes.org/public/audio/piper-voices/speaker_11_Owlivia.wav +0 -0
  181. package/agentvibes.org/public/audio/piper-voices/speaker_12_Paul_Hampton.wav +0 -0
  182. package/agentvibes.org/public/audio/piper-voices/speaker_13_Jennifer_Dorr.wav +0 -0
  183. package/agentvibes.org/public/audio/piper-voices/speaker_14_Emily_Cripps.wav +0 -0
  184. package/agentvibes.org/public/audio/piper-voices/speaker_15_Martin_Clifton.wav +0 -0
  185. package/agentvibes.org/public/audio/piper-voices/speaker_1_Kara_Shallenberg.wav +0 -0
  186. package/agentvibes.org/public/audio/piper-voices/speaker_2_Kristin_Hughes.wav +0 -0
  187. package/agentvibes.org/public/audio/piper-voices/speaker_3_Maria_Kasper.wav +0 -0
  188. package/agentvibes.org/public/audio/piper-voices/speaker_4_Mike_Pelton.wav +0 -0
  189. package/agentvibes.org/public/audio/piper-voices/speaker_5_Mark_Nelson.wav +0 -0
  190. package/agentvibes.org/public/audio/piper-voices/speaker_6_Michael_Scherer.wav +0 -0
  191. package/agentvibes.org/public/audio/piper-voices/speaker_7_James_K_White.wav +0 -0
  192. package/agentvibes.org/public/audio/piper-voices/speaker_8_Rose_Ibex.wav +0 -0
  193. package/agentvibes.org/public/audio/piper-voices/speaker_9_progressingamerica.wav +0 -0
  194. package/agentvibes.org/public/audio/spanish-antoni.mp3 +0 -0
  195. package/agentvibes.org/public/favicon.ico +0 -0
  196. package/agentvibes.org/public/fonts/nacelle-italic.woff2 +0 -0
  197. package/agentvibes.org/public/fonts/nacelle-regular.woff2 +0 -0
  198. package/agentvibes.org/public/fonts/nacelle-semibold.woff2 +0 -0
  199. package/agentvibes.org/public/fonts/nacelle-semibolditalic.woff2 +0 -0
  200. package/agentvibes.org/public/images/blurred-shape-gray.svg +0 -1
  201. package/agentvibes.org/public/images/blurred-shape.svg +0 -1
  202. package/agentvibes.org/public/images/client-logo-01.svg +0 -1
  203. package/agentvibes.org/public/images/client-logo-02.svg +0 -1
  204. package/agentvibes.org/public/images/client-logo-03.svg +0 -1
  205. package/agentvibes.org/public/images/client-logo-04.svg +0 -1
  206. package/agentvibes.org/public/images/client-logo-05.svg +0 -1
  207. package/agentvibes.org/public/images/client-logo-06.svg +0 -1
  208. package/agentvibes.org/public/images/client-logo-07.svg +0 -1
  209. package/agentvibes.org/public/images/client-logo-08.svg +0 -1
  210. package/agentvibes.org/public/images/client-logo-09.svg +0 -1
  211. package/agentvibes.org/public/images/features.png +0 -0
  212. package/agentvibes.org/public/images/footer-illustration.svg +0 -1
  213. package/agentvibes.org/public/images/hero-image-01.jpg +0 -0
  214. package/agentvibes.org/public/images/logo.svg +0 -1
  215. package/agentvibes.org/public/images/page-illustration.svg +0 -1
  216. package/agentvibes.org/public/images/secondary-illustration.svg +0 -1
  217. package/agentvibes.org/public/images/testimonial-01.jpg +0 -0
  218. package/agentvibes.org/public/images/testimonial-02.jpg +0 -0
  219. package/agentvibes.org/public/images/testimonial-03.jpg +0 -0
  220. package/agentvibes.org/public/images/testimonial-04.jpg +0 -0
  221. package/agentvibes.org/public/images/testimonial-05.jpg +0 -0
  222. package/agentvibes.org/public/images/testimonial-06.jpg +0 -0
  223. package/agentvibes.org/public/images/testimonial-07.jpg +0 -0
  224. package/agentvibes.org/public/images/testimonial-08.jpg +0 -0
  225. package/agentvibes.org/public/images/testimonial-09.jpg +0 -0
  226. package/agentvibes.org/public/images/workflow-01.png +0 -0
  227. package/agentvibes.org/public/images/workflow-02.png +0 -0
  228. package/agentvibes.org/public/images/workflow-03.png +0 -0
  229. package/agentvibes.org/public/videos/video.mp4 +0 -0
  230. package/agentvibes.org/tsconfig.json +0 -28
  231. package/agentvibes.org/utils/useMasonry.tsx +0 -67
  232. package/agentvibes.org/utils/useMousePosition.tsx +0 -27
  233. package/docs/bryce-beattie-voice-licensing.md +0 -131
@@ -1,65 +0,0 @@
1
- ---
2
- description: Set a pretext word/phrase that prefixes all TTS announcements
3
- ---
4
-
5
- # Set TTS Pretext
6
-
7
- Configure a word or phrase that will be spoken before every TTS message.
8
-
9
- ## Usage
10
-
11
- ```bash
12
- /agent-vibes:set-pretext <word>
13
- ```
14
-
15
- ## Examples
16
-
17
- Set "AgentVibes" as the pretext:
18
- ```bash
19
- /agent-vibes:set-pretext AgentVibes
20
- ```
21
-
22
- Set a phrase:
23
- ```bash
24
- /agent-vibes:set-pretext "Project Alpha"
25
- ```
26
-
27
- Clear the pretext:
28
- ```bash
29
- /agent-vibes:set-pretext ""
30
- ```
31
-
32
- ## What It Does
33
-
34
- When a pretext is set:
35
- - **Without pretext**: "I'll do the task"
36
- - **With pretext**: "AgentVibes: I'll do the task"
37
-
38
- The pretext is saved locally in `.claude/config/agentvibes.json` and persists across sessions.
39
-
40
- !bash
41
- CONFIG_DIR="${CLAUDE_PROJECT_DIR:-.}/.claude/config"
42
- CONFIG_FILE="$CONFIG_DIR/agentvibes.json"
43
-
44
- # Get the pretext from arguments
45
- PRETEXT="$ARGUMENTS"
46
-
47
- # Create config directory if it doesn't exist
48
- mkdir -p "$CONFIG_DIR"
49
-
50
- # Initialize config file if it doesn't exist
51
- if [ ! -f "$CONFIG_FILE" ]; then
52
- echo '{}' > "$CONFIG_FILE"
53
- fi
54
-
55
- # Update or clear the pretext
56
- if [ -z "$PRETEXT" ]; then
57
- # Clear pretext
58
- jq 'del(.pretext)' "$CONFIG_FILE" > "${CONFIG_FILE}.tmp" && mv "${CONFIG_FILE}.tmp" "$CONFIG_FILE"
59
- echo "✅ Pretext cleared"
60
- else
61
- # Set pretext
62
- jq --arg pretext "$PRETEXT" '.pretext = $pretext' "$CONFIG_FILE" > "${CONFIG_FILE}.tmp" && mv "${CONFIG_FILE}.tmp" "$CONFIG_FILE"
63
- echo "✅ Pretext set to: $PRETEXT"
64
- echo "📢 All TTS messages will now start with: \"$PRETEXT:\""
65
- fi
@@ -1,41 +0,0 @@
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
@@ -1,53 +0,0 @@
1
- ---
2
- description: Switch to a different ElevenLabs TTS voice
3
- argument-hint: [voice_name_or_number] [--sentiment personality_name]
4
- ---
5
-
6
- # Voice Selection
7
-
8
- If no arguments provided, display this list:
9
-
10
- ## 🎤 Available ElevenLabs Voices
11
-
12
- 1. **Amy** - Young and friendly
13
- 2. **Aria** - Clear professional
14
- 3. **Cowboy Bob** - Western charm
15
- 4. **Demon Monster** - Deep and spooky
16
- 5. **Dr. Von Fusion** - Eccentric scientist
17
- 6. **Drill Sergeant** - Military authority
18
- 7. **Grandpa Spuds Oxley** - Wise elder
19
- 8. **Jessica Anne Bogart** - Wickedly eloquent
20
- 9. **Lutz Laugh** - Jovial and giggly
21
- 10. **Matthew Schmitz** - Deep baritone
22
- 11. **Michael** - British urban
23
- 12. **Ms. Walker** - Warm teacher
24
- 13. **Northern Terry** - Eccentric British
25
- 14. **Ralf Eisend** - International speaker
26
-
27
- Then check current voice with: !bash .claude/hooks/voice-manager.sh get
28
-
29
- And inform user: "To switch voices, use `/agent-vibes:switch <number>` or `/agent-vibes:switch <name>`"
30
-
31
- If arguments ARE provided:
32
-
33
- 1. Parse arguments for --sentiment flag
34
- 2. If --sentiment is present:
35
- - Extract voice name/number (everything before --sentiment)
36
- - Extract sentiment name (after --sentiment)
37
- - Execute: !bash .claude/hooks/voice-manager.sh switch <voice>
38
- - Then execute: !bash .claude/hooks/sentiment-manager.sh set <sentiment>
39
- 3. If no --sentiment flag:
40
- - Execute: !bash .claude/hooks/voice-manager.sh switch $ARGUMENTS
41
-
42
- ## Examples
43
-
44
- ```bash
45
- # Switch voice only
46
- /agent-vibes:switch Jessica Anne Bogart
47
-
48
- # Switch voice and set sentiment
49
- /agent-vibes:switch Aria --sentiment sarcastic
50
-
51
- # Switch by number with sentiment
52
- /agent-vibes:switch 5 --sentiment flirty
53
- ```
@@ -1,26 +0,0 @@
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`
@@ -1,30 +0,0 @@
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.
@@ -1,20 +0,0 @@
1
- ---
2
- description: Update AgentVibes to the latest version
3
- argument-hint: [--yes]
4
- ---
5
-
6
- Updates AgentVibes to the latest version from the npm registry.
7
-
8
- This will update:
9
- - All slash commands
10
- - TTS scripts and hooks
11
- - Personality templates (new ones added, existing ones updated)
12
- - Output styles
13
-
14
- Your custom settings and voice configurations will be preserved.
15
-
16
- Usage examples:
17
- - `/agent-vibes:update` - Update with confirmation prompt
18
- - `/agent-vibes:update --yes` - Update without confirmation
19
-
20
- !bash npx agent-vibes update $ARGUMENTS
@@ -1,10 +0,0 @@
1
- ---
2
- description: Show the installed AgentVibes version
3
- ---
4
-
5
- Display the currently installed version of AgentVibes.
6
-
7
- Usage:
8
- - `/agent-vibes:version` - Show version information
9
-
10
- !bash npx agent-vibes --version
@@ -1,7 +0,0 @@
1
- ---
2
- description: Show the current active voice and TTS provider
3
- ---
4
-
5
- Display the currently selected TTS voice and active provider (ElevenLabs or Piper).
6
-
7
- !bash .claude/hooks/voice-manager.sh whoami
@@ -1,386 +0,0 @@
1
- #!/bin/bash
2
- #
3
- # @fileoverview BMAD TTS Injection Manager
4
- # @context Automatically patches BMAD agent files to include AgentVibes TTS hooks
5
- # @architecture Modifies agent YAML activation-instructions to call play-tts.sh
6
- # @why Enables BMAD agents to speak their greetings and questions via TTS
7
- #
8
-
9
- set -e # Exit on error
10
-
11
- SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
12
- CLAUDE_DIR="$(dirname "$SCRIPT_DIR")"
13
-
14
- # Colors for output
15
- GREEN='\033[0;32m'
16
- YELLOW='\033[1;33m'
17
- RED='\033[0;31m'
18
- CYAN='\033[0;36m'
19
- GRAY='\033[0;90m'
20
- NC='\033[0m' # No Color
21
-
22
- # Detect BMAD installation
23
- detect_bmad() {
24
- local bmad_core_dir=""
25
-
26
- # Check current directory first
27
- if [[ -d ".bmad-core" ]]; then
28
- bmad_core_dir=".bmad-core"
29
- # Check parent directory
30
- elif [[ -d "../.bmad-core" ]]; then
31
- bmad_core_dir="../.bmad-core"
32
- # Check for bmad-core (without dot prefix)
33
- elif [[ -d "bmad-core" ]]; then
34
- bmad_core_dir="bmad-core"
35
- elif [[ -d "../bmad-core" ]]; then
36
- bmad_core_dir="../bmad-core"
37
- else
38
- echo -e "${RED}❌ BMAD installation not found${NC}" >&2
39
- echo -e "${GRAY} Looked for .bmad-core or bmad-core directory${NC}" >&2
40
- return 1
41
- fi
42
-
43
- echo "$bmad_core_dir"
44
- }
45
-
46
- # Find all BMAD agents
47
- find_agents() {
48
- local bmad_core="$1"
49
- local agents_dir="$bmad_core/agents"
50
-
51
- if [[ ! -d "$agents_dir" ]]; then
52
- echo -e "${RED}❌ Agents directory not found: $agents_dir${NC}"
53
- return 1
54
- fi
55
-
56
- find "$agents_dir" -name "*.md" -type f
57
- }
58
-
59
- # Check if agent has TTS injection
60
- has_tts_injection() {
61
- local agent_file="$1"
62
-
63
- if grep -q "# AGENTVIBES-TTS-INJECTION" "$agent_file" 2>/dev/null; then
64
- return 0
65
- fi
66
- return 1
67
- }
68
-
69
- # Extract agent ID from file
70
- get_agent_id() {
71
- local agent_file="$1"
72
-
73
- # Look for "id: <agent-id>" in YAML block
74
- local agent_id=$(grep -E "^ id:" "$agent_file" | head -1 | awk '{print $2}' | tr -d '"' | tr -d "'")
75
-
76
- if [[ -z "$agent_id" ]]; then
77
- # Fallback: use filename without extension
78
- agent_id=$(basename "$agent_file" .md)
79
- fi
80
-
81
- echo "$agent_id"
82
- }
83
-
84
- # Get voice for agent from BMAD voice mapping
85
- get_agent_voice() {
86
- local agent_id="$1"
87
-
88
- # Use bmad-voice-manager.sh to get voice
89
- if [[ -f "$SCRIPT_DIR/bmad-voice-manager.sh" ]]; then
90
- local voice=$("$SCRIPT_DIR/bmad-voice-manager.sh" get-voice "$agent_id" 2>/dev/null || echo "")
91
- echo "$voice"
92
- fi
93
- }
94
-
95
- # Map ElevenLabs voice to Piper equivalent
96
- map_voice_to_provider() {
97
- local elevenlabs_voice="$1"
98
- local provider="$2"
99
-
100
- # If provider is elevenlabs or empty, return as-is
101
- if [[ "$provider" != "piper" ]]; then
102
- echo "$elevenlabs_voice"
103
- return
104
- fi
105
-
106
- # Map ElevenLabs voices to Piper equivalents
107
- case "$elevenlabs_voice" in
108
- "Jessica Anne Bogart"|"Aria")
109
- echo "en_US-lessac-medium"
110
- ;;
111
- "Matthew Schmitz"|"Archer"|"Michael")
112
- echo "en_US-danny-low"
113
- ;;
114
- "Burt Reynolds"|"Cowboy Bob")
115
- echo "en_US-joe-medium"
116
- ;;
117
- "Tiffany"|"Ms. Walker")
118
- echo "en_US-amy-medium"
119
- ;;
120
- "Ralf Eisend"|"Tom")
121
- echo "en_US-libritts-high"
122
- ;;
123
- *)
124
- # Default to amy for unknown voices
125
- echo "en_US-amy-medium"
126
- ;;
127
- esac
128
- }
129
-
130
- # Get current TTS provider
131
- get_current_provider() {
132
- # Check project-local first, then global
133
- if [[ -f ".claude/tts-provider.txt" ]]; then
134
- cat ".claude/tts-provider.txt" 2>/dev/null || echo "elevenlabs"
135
- elif [[ -f "$HOME/.claude/tts-provider.txt" ]]; then
136
- cat "$HOME/.claude/tts-provider.txt" 2>/dev/null || echo "elevenlabs"
137
- else
138
- echo "elevenlabs"
139
- fi
140
- }
141
-
142
- # Inject TTS hook into agent activation instructions
143
- inject_tts() {
144
- local agent_file="$1"
145
- local agent_id=$(get_agent_id "$agent_file")
146
- local elevenlabs_voice=$(get_agent_voice "$agent_id")
147
- local current_provider=$(get_current_provider)
148
- local agent_voice=$(map_voice_to_provider "$elevenlabs_voice" "$current_provider")
149
-
150
- # Check if already injected
151
- if has_tts_injection "$agent_file"; then
152
- echo -e "${YELLOW}⚠️ TTS already injected in: $(basename "$agent_file")${NC}"
153
- return 0
154
- fi
155
-
156
- # Create backup
157
- cp "$agent_file" "$agent_file.backup-pre-tts"
158
-
159
- # Find the activation-instructions section
160
- if ! grep -q "activation-instructions:" "$agent_file"; then
161
- echo -e "${RED}❌ No activation-instructions found in: $(basename "$agent_file")${NC}"
162
- return 1
163
- fi
164
-
165
- # Create TTS injection script for activation
166
- local activation_injection=""
167
- local persona_injection=""
168
-
169
- if [[ -n "$agent_voice" ]]; then
170
- activation_injection=" - # AGENTVIBES-TTS-INJECTION: STEP 3.5 - Announce activation with TTS and set context
171
- - STEP 3.5a: Use Bash tool to create context file: echo \"${agent_id}\" > .bmad-agent-context
172
- - STEP 3.5b: Use Bash tool to speak: .claude/hooks/play-tts.sh \"Agent ${agent_id} activated and ready\" \"${agent_voice}\"
173
- - AGENTVIBES-TTS-INJECTION: MANDATORY RESPONSE PROTOCOL - Before showing ANY response to user, execute this workflow:
174
- - AGENTVIBES-TTS-STEP 1: Draft your complete response text
175
- - AGENTVIBES-TTS-STEP 2: Scan response for questions (lines with ? or numbered lists or phrases like What/Should/Would)
176
- - AGENTVIBES-TTS-STEP 3: If questions found, use Bash tool to speak them: .claude/hooks/play-tts.sh \"question text\" \"${agent_voice}\"
177
- - AGENTVIBES-TTS-STEP 4: Show the response text to user
178
- - AGENTVIBES-TTS-INJECTION: On exit command (*exit), use Bash tool FIRST to cleanup: rm -f .bmad-agent-context"
179
- persona_injection=" - AGENTVIBES-TTS-INJECTION: Before every response, scan for questions and speak them using Bash tool"
180
- else
181
- activation_injection=" - # AGENTVIBES-TTS-INJECTION: STEP 3.5 - Announce activation with TTS and set context
182
- - STEP 3.5a: Use Bash tool to create context file: echo \"${agent_id}\" > .bmad-agent-context
183
- - STEP 3.5b: Use Bash tool to speak: .claude/hooks/play-tts.sh \"Agent ${agent_id} activated and ready\"
184
- - AGENTVIBES-TTS-INJECTION: MANDATORY RESPONSE PROTOCOL - Before showing ANY response to user, execute this workflow:
185
- - AGENTVIBES-TTS-STEP 1: Draft your complete response text
186
- - AGENTVIBES-TTS-STEP 2: Scan response for questions (lines with ? or numbered lists or phrases like What/Should/Would)
187
- - AGENTVIBES-TTS-STEP 3: If questions found, use Bash tool to speak them: .claude/hooks/play-tts.sh \"question text\"
188
- - AGENTVIBES-TTS-STEP 4: Show the response text to user
189
- - AGENTVIBES-TTS-INJECTION: On exit command (*exit), use Bash tool FIRST to cleanup: rm -f .bmad-agent-context"
190
- persona_injection=" - AGENTVIBES-TTS-INJECTION: Before every response, scan for questions and speak them using Bash tool"
191
- fi
192
-
193
- # Insert activation TTS call after "STEP 4: Greet user" line
194
- # Insert persona TTS instruction in core_principles section
195
- awk -v activation="$activation_injection" -v persona="$persona_injection" '
196
- /STEP 4:.*[Gg]reet/ {
197
- print
198
- print activation
199
- next
200
- }
201
- /^ core_principles:/ {
202
- print
203
- print persona
204
- next
205
- }
206
- { print }
207
- ' "$agent_file" > "$agent_file.tmp"
208
-
209
- mv "$agent_file.tmp" "$agent_file"
210
-
211
- if [[ "$current_provider" == "piper" ]] && [[ -n "$elevenlabs_voice" ]]; then
212
- echo -e "${GREEN}✅ Injected TTS into: $(basename "$agent_file") → Voice: ${agent_voice:-default} (${current_provider}: ${elevenlabs_voice} → ${agent_voice})${NC}"
213
- else
214
- echo -e "${GREEN}✅ Injected TTS into: $(basename "$agent_file") → Voice: ${agent_voice:-default}${NC}"
215
- fi
216
- }
217
-
218
- # Remove TTS injection from agent
219
- remove_tts() {
220
- local agent_file="$1"
221
-
222
- # Check if has injection
223
- if ! has_tts_injection "$agent_file"; then
224
- echo -e "${GRAY} No TTS in: $(basename "$agent_file")${NC}"
225
- return 0
226
- fi
227
-
228
- # Create backup
229
- cp "$agent_file" "$agent_file.backup-tts-removal"
230
-
231
- # Remove TTS injection lines
232
- sed -i.bak '/# AGENTVIBES-TTS-INJECTION/,+1d' "$agent_file"
233
- rm -f "$agent_file.bak"
234
-
235
- echo -e "${GREEN}✅ Removed TTS from: $(basename "$agent_file")${NC}"
236
- }
237
-
238
- # Show status of TTS injections
239
- show_status() {
240
- local bmad_core=$(detect_bmad)
241
- if [[ -z "$bmad_core" ]]; then
242
- return 1
243
- fi
244
-
245
- echo -e "${CYAN}📊 BMAD TTS Injection Status:${NC}"
246
- echo ""
247
-
248
- local agents=$(find_agents "$bmad_core")
249
- local enabled_count=0
250
- local disabled_count=0
251
-
252
- while IFS= read -r agent_file; do
253
- local agent_id=$(get_agent_id "$agent_file")
254
- local agent_name=$(basename "$agent_file" .md)
255
-
256
- if has_tts_injection "$agent_file"; then
257
- local voice=$(get_agent_voice "$agent_id")
258
- echo -e " ${GREEN}✅${NC} $agent_name (${agent_id}) → Voice: ${voice:-default}"
259
- ((enabled_count++))
260
- else
261
- echo -e " ${GRAY}❌ $agent_name (${agent_id})${NC}"
262
- ((disabled_count++))
263
- fi
264
- done <<< "$agents"
265
-
266
- echo ""
267
- echo -e "${CYAN}Summary:${NC} $enabled_count enabled, $disabled_count disabled"
268
- }
269
-
270
- # Enable TTS for all agents
271
- enable_all() {
272
- local bmad_core=$(detect_bmad)
273
- if [[ -z "$bmad_core" ]]; then
274
- return 1
275
- fi
276
-
277
- echo -e "${CYAN}🎤 Enabling TTS for all BMAD agents...${NC}"
278
- echo ""
279
-
280
- local agents=$(find_agents "$bmad_core")
281
- local success_count=0
282
- local skip_count=0
283
-
284
- while IFS= read -r agent_file; do
285
- if has_tts_injection "$agent_file"; then
286
- ((skip_count++))
287
- continue
288
- fi
289
-
290
- if inject_tts "$agent_file"; then
291
- ((success_count++))
292
- fi
293
- done <<< "$agents"
294
-
295
- echo ""
296
- echo -e "${GREEN}🎉 TTS enabled for $success_count agents${NC}"
297
- [[ $skip_count -gt 0 ]] && echo -e "${YELLOW} Skipped $skip_count agents (already enabled)${NC}"
298
- echo ""
299
- echo -e "${CYAN}💡 BMAD agents will now speak when activated!${NC}"
300
- }
301
-
302
- # Disable TTS for all agents
303
- disable_all() {
304
- local bmad_core=$(detect_bmad)
305
- if [[ -z "$bmad_core" ]]; then
306
- return 1
307
- fi
308
-
309
- echo -e "${CYAN}🔇 Disabling TTS for all BMAD agents...${NC}"
310
- echo ""
311
-
312
- local agents=$(find_agents "$bmad_core")
313
- local success_count=0
314
-
315
- while IFS= read -r agent_file; do
316
- if remove_tts "$agent_file"; then
317
- ((success_count++))
318
- fi
319
- done <<< "$agents"
320
-
321
- echo ""
322
- echo -e "${GREEN}✅ TTS disabled for $success_count agents${NC}"
323
- }
324
-
325
- # Restore from backup
326
- restore_backup() {
327
- local bmad_core=$(detect_bmad)
328
- if [[ -z "$bmad_core" ]]; then
329
- return 1
330
- fi
331
-
332
- echo -e "${CYAN}🔄 Restoring agents from backup...${NC}"
333
- echo ""
334
-
335
- local agents_dir="$bmad_core/agents"
336
- local backup_count=0
337
-
338
- for backup_file in "$agents_dir"/*.backup-pre-tts; do
339
- if [[ -f "$backup_file" ]]; then
340
- local original_file="${backup_file%.backup-pre-tts}"
341
- cp "$backup_file" "$original_file"
342
- echo -e "${GREEN}✅ Restored: $(basename "$original_file")${NC}"
343
- ((backup_count++))
344
- fi
345
- done
346
-
347
- if [[ $backup_count -eq 0 ]]; then
348
- echo -e "${YELLOW}⚠️ No backups found${NC}"
349
- else
350
- echo ""
351
- echo -e "${GREEN}✅ Restored $backup_count agents from backup${NC}"
352
- fi
353
- }
354
-
355
- # Main command dispatcher
356
- case "${1:-help}" in
357
- enable)
358
- enable_all
359
- ;;
360
- disable)
361
- disable_all
362
- ;;
363
- status)
364
- show_status
365
- ;;
366
- restore)
367
- restore_backup
368
- ;;
369
- help|*)
370
- echo -e "${CYAN}AgentVibes BMAD TTS Injection Manager${NC}"
371
- echo ""
372
- echo "Usage: bmad-tts-injector.sh {enable|disable|status|restore}"
373
- echo ""
374
- echo "Commands:"
375
- echo " enable Inject TTS hooks into all BMAD agents"
376
- echo " disable Remove TTS hooks from all BMAD agents"
377
- echo " status Show TTS injection status for all agents"
378
- echo " restore Restore agents from backup (undo changes)"
379
- echo ""
380
- echo "What it does:"
381
- echo " • Automatically patches BMAD agent activation instructions"
382
- echo " • Adds TTS calls when agents greet users"
383
- echo " • Uses voice mapping from AgentVibes BMAD plugin"
384
- echo " • Creates backups before modifying files"
385
- ;;
386
- esac