agentvibes 2.0.6 → 2.0.8

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 (159) hide show
  1. package/.claude/commands/agent-vibes/preview.md +5 -4
  2. package/.claude/commands/agent-vibes/whoami.md +2 -2
  3. package/.claude/hooks/check-output-style.sh +60 -0
  4. package/.claude/hooks/language-manager.sh +50 -48
  5. package/.claude/hooks/personality-manager.sh +34 -2
  6. package/.claude/hooks/play-tts-piper.sh +27 -9
  7. package/.claude/hooks/play-tts.sh +29 -127
  8. package/.claude/hooks/provider-commands.sh +41 -2
  9. package/.claude/hooks/voice-manager.sh +85 -36
  10. package/.claude/personalities/angry.md +2 -1
  11. package/.claude/personalities/annoying.md +2 -1
  12. package/.claude/personalities/crass.md +2 -1
  13. package/.claude/personalities/dramatic.md +2 -1
  14. package/.claude/personalities/dry-humor.md +2 -1
  15. package/.claude/personalities/flirty.md +2 -1
  16. package/.claude/personalities/funny.md +2 -1
  17. package/.claude/personalities/grandpa.md +2 -1
  18. package/.claude/personalities/millennial.md +2 -1
  19. package/.claude/personalities/moody.md +2 -1
  20. package/.claude/personalities/normal.md +2 -1
  21. package/.claude/personalities/pirate.md +2 -1
  22. package/.claude/personalities/poetic.md +2 -1
  23. package/.claude/personalities/professional.md +2 -1
  24. package/.claude/personalities/robot.md +2 -1
  25. package/.claude/personalities/sarcastic.md +2 -1
  26. package/.claude/personalities/sassy.md +2 -1
  27. package/.claude/personalities/surfer-dude.md +2 -1
  28. package/.claude/personalities/zen.md +2 -1
  29. package/.claude/piper-voices-dir.txt +1 -0
  30. package/README.md +2 -2
  31. package/RELEASE_NOTES.md +277 -0
  32. package/agentvibes.org/.claude/commands/agent-vibes/add.md +21 -0
  33. package/agentvibes.org/.claude/commands/agent-vibes/agent-vibes.md +68 -0
  34. package/agentvibes.org/.claude/commands/agent-vibes/commands.json +53 -0
  35. package/agentvibes.org/.claude/commands/agent-vibes/get.md +9 -0
  36. package/agentvibes.org/.claude/commands/agent-vibes/list.md +13 -0
  37. package/agentvibes.org/.claude/commands/agent-vibes/personality.md +79 -0
  38. package/agentvibes.org/.claude/commands/agent-vibes/preview.md +16 -0
  39. package/agentvibes.org/.claude/commands/agent-vibes/provider.md +54 -0
  40. package/agentvibes.org/.claude/commands/agent-vibes/replay.md +19 -0
  41. package/agentvibes.org/.claude/commands/agent-vibes/sample.md +12 -0
  42. package/agentvibes.org/.claude/commands/agent-vibes/sentiment.md +52 -0
  43. package/agentvibes.org/.claude/commands/agent-vibes/set-language.md +47 -0
  44. package/agentvibes.org/.claude/commands/agent-vibes/set-pretext.md +65 -0
  45. package/agentvibes.org/.claude/commands/agent-vibes/switch.md +53 -0
  46. package/agentvibes.org/.claude/commands/agent-vibes/update.md +20 -0
  47. package/agentvibes.org/.claude/commands/agent-vibes/version.md +10 -0
  48. package/agentvibes.org/.claude/commands/agent-vibes/whoami.md +7 -0
  49. package/agentvibes.org/.claude/hooks/bmad-voice-manager.sh +278 -0
  50. package/agentvibes.org/.claude/hooks/language-manager.sh +190 -0
  51. package/agentvibes.org/.claude/hooks/personality-manager.sh +279 -0
  52. package/agentvibes.org/.claude/hooks/piper-download-voices.sh +133 -0
  53. package/agentvibes.org/.claude/hooks/piper-voice-manager.sh +227 -0
  54. package/agentvibes.org/.claude/hooks/play-tts-elevenlabs.sh +201 -0
  55. package/agentvibes.org/.claude/hooks/play-tts-piper.sh +175 -0
  56. package/agentvibes.org/.claude/hooks/play-tts.sh +138 -0
  57. package/agentvibes.org/.claude/hooks/provider-commands.sh +374 -0
  58. package/agentvibes.org/.claude/hooks/provider-manager.sh +196 -0
  59. package/agentvibes.org/.claude/hooks/sentiment-manager.sh +163 -0
  60. package/agentvibes.org/.claude/hooks/voice-manager.sh +349 -0
  61. package/agentvibes.org/.claude/hooks/voices-config.sh +33 -0
  62. package/agentvibes.org/.claude/journal/2025-10-07.html +373 -0
  63. package/agentvibes.org/.claude/journal/index.html +91 -0
  64. package/agentvibes.org/.claude/output-styles/agent-vibes.md +203 -0
  65. package/agentvibes.org/.claude/personalities/angry.md +16 -0
  66. package/agentvibes.org/.claude/personalities/annoying.md +16 -0
  67. package/agentvibes.org/.claude/personalities/crass.md +16 -0
  68. package/agentvibes.org/.claude/personalities/dramatic.md +16 -0
  69. package/agentvibes.org/.claude/personalities/dry-humor.md +52 -0
  70. package/agentvibes.org/.claude/personalities/flirty.md +22 -0
  71. package/agentvibes.org/.claude/personalities/funny.md +16 -0
  72. package/agentvibes.org/.claude/personalities/grandpa.md +34 -0
  73. package/agentvibes.org/.claude/personalities/millennial.md +16 -0
  74. package/agentvibes.org/.claude/personalities/moody.md +16 -0
  75. package/agentvibes.org/.claude/personalities/normal.md +18 -0
  76. package/agentvibes.org/.claude/personalities/pirate.md +16 -0
  77. package/agentvibes.org/.claude/personalities/poetic.md +16 -0
  78. package/agentvibes.org/.claude/personalities/professional.md +16 -0
  79. package/agentvibes.org/.claude/personalities/robot.md +16 -0
  80. package/agentvibes.org/.claude/personalities/sarcastic.md +40 -0
  81. package/agentvibes.org/.claude/personalities/sassy.md +16 -0
  82. package/agentvibes.org/.claude/personalities/surfer-dude.md +16 -0
  83. package/agentvibes.org/.claude/personalities/zen.md +16 -0
  84. package/agentvibes.org/.mcp-minimal.json +60 -0
  85. package/agentvibes.org/CHANGELOG.md +56 -0
  86. package/agentvibes.org/README.md +93 -0
  87. package/agentvibes.org/app/(auth)/layout.tsx +15 -0
  88. package/agentvibes.org/app/(auth)/reset-password/page.tsx +45 -0
  89. package/agentvibes.org/app/(auth)/signin/page.tsx +82 -0
  90. package/agentvibes.org/app/(auth)/signup/page.tsx +104 -0
  91. package/agentvibes.org/app/(default)/layout.tsx +31 -0
  92. package/agentvibes.org/app/(default)/page.tsx +20 -0
  93. package/agentvibes.org/app/api/hello/route.ts +3 -0
  94. package/agentvibes.org/app/css/additional-styles/theme.css +82 -0
  95. package/agentvibes.org/app/css/additional-styles/utility-patterns.css +55 -0
  96. package/agentvibes.org/app/css/style.css +100 -0
  97. package/agentvibes.org/app/layout.tsx +63 -0
  98. package/agentvibes.org/components/cta.tsx +58 -0
  99. package/agentvibes.org/components/features.tsx +256 -0
  100. package/agentvibes.org/components/hero-home.tsx +133 -0
  101. package/agentvibes.org/components/modal-video.tsx +137 -0
  102. package/agentvibes.org/components/page-illustration.tsx +55 -0
  103. package/agentvibes.org/components/spotlight.tsx +77 -0
  104. package/agentvibes.org/components/testimonials.tsx +282 -0
  105. package/agentvibes.org/components/ui/footer.tsx +82 -0
  106. package/agentvibes.org/components/ui/header.tsx +53 -0
  107. package/agentvibes.org/components/ui/logo.tsx +10 -0
  108. package/agentvibes.org/components/workflows.tsx +176 -0
  109. package/agentvibes.org/next.config.js +4 -0
  110. package/agentvibes.org/package-lock.json +1974 -0
  111. package/agentvibes.org/package.json +30 -0
  112. package/agentvibes.org/pnpm-lock.yaml +1141 -0
  113. package/agentvibes.org/postcss.config.js +5 -0
  114. package/agentvibes.org/public/audio/02-sarcastic.mp3 +0 -0
  115. package/agentvibes.org/public/audio/03-angry.mp3 +0 -0
  116. package/agentvibes.org/public/audio/04-grandpa.mp3 +0 -0
  117. package/agentvibes.org/public/audio/05-sarcastic-example2.mp3 +0 -0
  118. package/agentvibes.org/public/audio/french-rachel.mp3 +0 -0
  119. package/agentvibes.org/public/audio/spanish-antoni.mp3 +0 -0
  120. package/agentvibes.org/public/favicon.ico +0 -0
  121. package/agentvibes.org/public/fonts/nacelle-italic.woff2 +0 -0
  122. package/agentvibes.org/public/fonts/nacelle-regular.woff2 +0 -0
  123. package/agentvibes.org/public/fonts/nacelle-semibold.woff2 +0 -0
  124. package/agentvibes.org/public/fonts/nacelle-semibolditalic.woff2 +0 -0
  125. package/agentvibes.org/public/images/blurred-shape-gray.svg +1 -0
  126. package/agentvibes.org/public/images/blurred-shape.svg +1 -0
  127. package/agentvibes.org/public/images/client-logo-01.svg +1 -0
  128. package/agentvibes.org/public/images/client-logo-02.svg +1 -0
  129. package/agentvibes.org/public/images/client-logo-03.svg +1 -0
  130. package/agentvibes.org/public/images/client-logo-04.svg +1 -0
  131. package/agentvibes.org/public/images/client-logo-05.svg +1 -0
  132. package/agentvibes.org/public/images/client-logo-06.svg +1 -0
  133. package/agentvibes.org/public/images/client-logo-07.svg +1 -0
  134. package/agentvibes.org/public/images/client-logo-08.svg +1 -0
  135. package/agentvibes.org/public/images/client-logo-09.svg +1 -0
  136. package/agentvibes.org/public/images/features.png +0 -0
  137. package/agentvibes.org/public/images/footer-illustration.svg +1 -0
  138. package/agentvibes.org/public/images/hero-image-01.jpg +0 -0
  139. package/agentvibes.org/public/images/logo.svg +1 -0
  140. package/agentvibes.org/public/images/page-illustration.svg +1 -0
  141. package/agentvibes.org/public/images/secondary-illustration.svg +1 -0
  142. package/agentvibes.org/public/images/testimonial-01.jpg +0 -0
  143. package/agentvibes.org/public/images/testimonial-02.jpg +0 -0
  144. package/agentvibes.org/public/images/testimonial-03.jpg +0 -0
  145. package/agentvibes.org/public/images/testimonial-04.jpg +0 -0
  146. package/agentvibes.org/public/images/testimonial-05.jpg +0 -0
  147. package/agentvibes.org/public/images/testimonial-06.jpg +0 -0
  148. package/agentvibes.org/public/images/testimonial-07.jpg +0 -0
  149. package/agentvibes.org/public/images/testimonial-08.jpg +0 -0
  150. package/agentvibes.org/public/images/testimonial-09.jpg +0 -0
  151. package/agentvibes.org/public/images/workflow-01.png +0 -0
  152. package/agentvibes.org/public/images/workflow-02.png +0 -0
  153. package/agentvibes.org/public/images/workflow-03.png +0 -0
  154. package/agentvibes.org/public/videos/video.mp4 +0 -0
  155. package/agentvibes.org/tsconfig.json +28 -0
  156. package/agentvibes.org/utils/useMasonry.tsx +67 -0
  157. package/agentvibes.org/utils/useMousePosition.tsx +27 -0
  158. package/package.json +1 -1
  159. package/src/installer.js +145 -171
@@ -1,7 +1,8 @@
1
1
  ---
2
2
  name: angry
3
3
  description: Frustrated and irritated responses
4
- voice: Drill Sergeant
4
+ elevenlabs_voice: Drill Sergeant
5
+ piper_voice: en_US-ryan-high
5
6
  ---
6
7
 
7
8
  # Angry Personality
@@ -1,7 +1,8 @@
1
1
  ---
2
2
  name: annoying
3
3
  description: Over-enthusiastic and excessive
4
- voice: Lutz Laugh
4
+ elevenlabs_voice: Lutz Laugh
5
+ piper_voice: en_US-ryan-high
5
6
  ---
6
7
 
7
8
  # Annoying Personality
@@ -1,7 +1,8 @@
1
1
  ---
2
2
  name: crass
3
3
  description: Blunt and slightly rude
4
- voice: Ralf Eisend
4
+ elevenlabs_voice: Ralf Eisend
5
+ piper_voice: en_US-joe-medium
5
6
  ---
6
7
 
7
8
  # Crass Personality
@@ -1,7 +1,8 @@
1
1
  ---
2
2
  name: dramatic
3
3
  description: Theatrical flair and grand statements
4
- voice: Ms. Walker
4
+ elevenlabs_voice: Ms. Walker
5
+ piper_voice: en_US-amy-medium
5
6
  ---
6
7
 
7
8
  # Dramatic Personality
@@ -1,7 +1,8 @@
1
1
  ---
2
2
  name: dry-humor
3
3
  description: British dry wit and deadpan delivery
4
- voice: Aria
4
+ elevenlabs_voice: Aria
5
+ piper_voice: en_US-lessac-medium
5
6
  ---
6
7
 
7
8
  # Dry Humor Personality
@@ -1,7 +1,8 @@
1
1
  ---
2
2
  name: flirty
3
3
  description: Playful and charming personality
4
- voice: Jessica Anne Bogart
4
+ elevenlabs_voice: Jessica Anne Bogart
5
+ piper_voice: en_US-amy-medium
5
6
  ---
6
7
 
7
8
  # Flirty Personality
@@ -1,7 +1,8 @@
1
1
  ---
2
2
  name: funny
3
3
  description: Lighthearted and comedic
4
- voice: Cowboy Bob
4
+ elevenlabs_voice: Cowboy Bob
5
+ piper_voice: en_US-joe-medium
5
6
  ---
6
7
 
7
8
  # Funny Personality
@@ -1,7 +1,8 @@
1
1
  ---
2
2
  name: grandpa
3
3
  description: Rambling nostalgic storyteller
4
- voice: Grandpa Spuds Oxley
4
+ elevenlabs_voice: Grandpa Spuds Oxley
5
+ piper_voice: en_US-libritts-high
5
6
  ---
6
7
 
7
8
  # Grandpa Personality
@@ -1,7 +1,8 @@
1
1
  ---
2
2
  name: millennial
3
3
  description: Internet generation speak
4
- voice: Amy
4
+ elevenlabs_voice: Amy
5
+ piper_voice: en_US-amy-medium
5
6
  ---
6
7
 
7
8
  # Millennial Personality
@@ -1,7 +1,8 @@
1
1
  ---
2
2
  name: moody
3
3
  description: Melancholic and brooding
4
- voice: Grandpa Spuds Oxley
4
+ elevenlabs_voice: Grandpa Spuds Oxley
5
+ piper_voice: en_US-libritts-high
5
6
  ---
6
7
 
7
8
  # Moody Personality
@@ -1,7 +1,8 @@
1
1
  ---
2
2
  name: normal
3
3
  description: Professional and clear communication
4
- voice: Aria
4
+ elevenlabs_voice: Aria
5
+ piper_voice: en_US-lessac-medium
5
6
  ---
6
7
 
7
8
  # Normal Personality
@@ -1,7 +1,8 @@
1
1
  ---
2
2
  name: pirate
3
3
  description: Seafaring swagger and nautical language
4
- voice: Pirate Marshal
4
+ elevenlabs_voice: Pirate Marshal
5
+ piper_voice: en_US-joe-medium
5
6
  ---
6
7
 
7
8
  # Pirate Personality
@@ -1,7 +1,8 @@
1
1
  ---
2
2
  name: poetic
3
3
  description: Elegant and lyrical
4
- voice: Aria
4
+ elevenlabs_voice: Aria
5
+ piper_voice: en_US-lessac-medium
5
6
  ---
6
7
 
7
8
  # Poetic Personality
@@ -1,7 +1,8 @@
1
1
  ---
2
2
  name: professional
3
3
  description: Formal and corporate
4
- voice: Michael
4
+ elevenlabs_voice: Michael
5
+ piper_voice: en_US-lessac-medium
5
6
  ---
6
7
 
7
8
  # Professional Personality
@@ -1,7 +1,8 @@
1
1
  ---
2
2
  name: robot
3
3
  description: Mechanical and precise communication
4
- voice: Dr. Von Fusion
4
+ elevenlabs_voice: Dr. Von Fusion
5
+ piper_voice: en_US-ryan-high
5
6
  ---
6
7
 
7
8
  # Robot Personality
@@ -1,7 +1,8 @@
1
1
  ---
2
2
  name: sarcastic
3
3
  description: Dry wit and cutting observations
4
- voice: Jessica Anne Bogart
4
+ elevenlabs_voice: Jessica Anne Bogart
5
+ piper_voice: en_US-amy-medium
5
6
  ---
6
7
 
7
8
  # Sarcastic Personality
@@ -1,7 +1,8 @@
1
1
  ---
2
2
  name: sassy
3
3
  description: Bold with attitude
4
- voice: Ms. Walker
4
+ elevenlabs_voice: Ms. Walker
5
+ piper_voice: en_US-amy-medium
5
6
  ---
6
7
 
7
8
  # Sassy Personality
@@ -1,7 +1,8 @@
1
1
  ---
2
2
  name: surfer-dude
3
3
  description: Laid-back beach vibes
4
- voice: Matthew Schmitz
4
+ elevenlabs_voice: Matthew Schmitz
5
+ piper_voice: en_US-joe-medium
5
6
  ---
6
7
 
7
8
  # Surfer-Dude Personality
@@ -1,7 +1,8 @@
1
1
  ---
2
2
  name: zen
3
3
  description: Peaceful and mindful communication
4
- voice: Aria
4
+ elevenlabs_voice: Aria
5
+ piper_voice: en_US-lessac-medium
5
6
  ---
6
7
 
7
8
  # Zen Personality
@@ -0,0 +1 @@
1
+ /home/fire/.claude/piper-voices
package/README.md CHANGED
@@ -11,7 +11,7 @@
11
11
  [![Publish](https://github.com/paulpreibisch/AgentVibes/actions/workflows/publish.yml/badge.svg)](https://github.com/paulpreibisch/AgentVibes/actions/workflows/publish.yml)
12
12
  [![License](https://img.shields.io/badge/License-Apache_2.0-blue.svg)](https://opensource.org/licenses/Apache-2.0)
13
13
 
14
- **Author**: Paul Preibisch ([@997Fire](https://x.com/997Fire)) | **Version**: v2.0.6
14
+ **Author**: Paul Preibisch ([@997Fire](https://x.com/997Fire)) | **Version**: v2.0.7
15
15
 
16
16
  ---
17
17
 
@@ -45,7 +45,7 @@
45
45
 
46
46
  ## 📰 Latest Release
47
47
 
48
- **[v2.0.0 - The Multi-Provider Revolution](https://github.com/paulpreibisch/AgentVibes/releases/tag/v2.0.6)** 🎉
48
+ **[v2.0.0 - The Multi-Provider Revolution](https://github.com/paulpreibisch/AgentVibes/releases/tag/v2.0.7)** 🎉
49
49
 
50
50
  The biggest update ever! **Multi-provider TTS support** (ElevenLabs + Piper TTS), **30+ languages**, expanded voice library (27+ voices), advanced sentiment system, enhanced BMAD integration, and comprehensive multilingual support. Choose between premium ElevenLabs voices or free offline Piper TTS!
51
51
 
package/RELEASE_NOTES.md CHANGED
@@ -1,5 +1,282 @@
1
1
  # 🎤 AgentVibes Release Notes
2
2
 
3
+ ## 📦 v2.0.8 - Provider-Aware Personalities (2025-01-07)
4
+
5
+ ### 🤖 AI Summary
6
+
7
+ This patch release makes the personality system fully provider-aware, fixing a critical issue where personality switching would fail to play TTS acknowledgments when using Piper TTS. Users can now seamlessly switch personalities regardless of which TTS provider they're using, with each personality automatically selecting the appropriate voice for the active provider.
8
+
9
+ ### ✨ New Features
10
+
11
+ #### Provider-Aware Personality Voice Switching
12
+ - **Dual voice mappings** - All 19 personality files now include both `elevenlabs_voice` and `piper_voice` fields
13
+ - **Automatic voice selection** - Personality manager detects active TTS provider and switches to appropriate voice automatically
14
+ - **Piper voice mappings**:
15
+ - Female personalities (sarcastic, flirty, sassy, dramatic) → `en_US-amy-medium`
16
+ - Male casual (funny, pirate, surfer-dude, crass) → `en_US-joe-medium`
17
+ - Professional (professional, normal, dry-humor, poetic, zen) → `en_US-lessac-medium`
18
+ - Energetic (angry, annoying, robot) → `en_US-ryan-high`
19
+ - Character voices (grandpa, moody) → `en_US-libritts-high`
20
+
21
+ #### Output Style Detection Helper
22
+ - **New check-output-style.sh** - Helper script for future output style detection features
23
+ - **User-friendly tips** - Voice and personality commands now show helpful tip about enabling agent-vibes output style
24
+ - **Better UX** - Users are guided to `/output-style agent-vibes` when needed
25
+
26
+ ### 🐛 Bug Fixes
27
+
28
+ #### Whoami Command Provider Detection
29
+ - **Fixed provider display** - `/agent-vibes:whoami` now correctly shows active provider (Piper TTS or ElevenLabs)
30
+ - **Updated command description** - Metadata now mentions both providers instead of hardcoding "ElevenLabs"
31
+ - **Accurate information** - Users see "Provider: Piper TTS (Free, Offline)" when using Piper
32
+
33
+ #### Voice Manager Provider Support
34
+ - **Piper model name recognition** - Voice manager now accepts Piper voice model names (e.g., `en_US-amy-medium`)
35
+ - **Provider-aware validation** - Skips ElevenLabs voice validation when using Piper with Piper model names
36
+ - **Smart voice ID display** - Only shows ElevenLabs voice ID when actually using ElevenLabs
37
+
38
+ #### Piper TTS Voice File Reading
39
+ - **Fixed voice file lookup** - `play-tts-piper.sh` now correctly reads voice from `.claude/tts-voice.txt`
40
+ - **Project-local support** - Checks project-local `.claude/tts-voice.txt` first, then global `~/.claude/tts-voice.txt`
41
+ - **Piper model detection** - Validates voice names contain underscore and dash pattern for Piper models
42
+
43
+ ### 🔧 Technical Changes
44
+
45
+ #### Personality Manager Improvements
46
+ - **Provider detection** - Reads `tts-provider.txt` to determine active provider
47
+ - **Conditional voice selection** - Uses `piper_voice` field when Piper is active, `elevenlabs_voice` for ElevenLabs
48
+ - **Fallback voice** - Defaults to `en_US-lessac-medium` if no Piper voice specified
49
+ - **New field support** - Added `piper_voice` field extraction to `get_personality_data` function
50
+
51
+ #### Voice Manager Refactoring
52
+ - **Provider-aware switch logic** - Detects Piper model names and bypasses ElevenLabs validation
53
+ - **Pattern matching** - Uses `*"_"*"-"*` pattern to identify Piper voice model names
54
+ - **Cleaner output** - Removed voice ID display for Piper voices since they don't use IDs
55
+
56
+ #### Personality File Structure
57
+ - **Clearer naming** - Renamed `voice:` to `elevenlabs_voice:` in all personality frontmatter
58
+ - **Dual provider support** - Every personality now has both ElevenLabs and Piper voice assignments
59
+ - **Consistency** - Standardized field naming across all 19 personality files
60
+
61
+ ### 🎯 User Impact
62
+
63
+ **Before:** Setting a personality like `/agent-vibes:personality sarcastic` while using Piper TTS would try to use an ElevenLabs voice name that doesn't exist in Piper, resulting in no audio playback for acknowledgments/completions.
64
+
65
+ **After:** Personality switching seamlessly works with both providers:
66
+ - Using Piper? Gets `en_US-amy-medium` for sarcastic personality
67
+ - Using ElevenLabs? Gets "Jessica Anne Bogart" voice
68
+ - Always hear proper TTS acknowledgments and completions!
69
+
70
+ ### 📊 Files Changed
71
+ - Modified: 3 hook scripts (personality-manager.sh, voice-manager.sh, play-tts-piper.sh)
72
+ - Modified: 19 personality files (all now have dual voice mappings)
73
+ - Modified: 1 command file (whoami.md)
74
+ - Added: 1 new helper script (check-output-style.sh)
75
+
76
+ **Total Changes:** 247 insertions, 69 deletions across 25 files
77
+
78
+ ## 📦 v2.0.7 - Bug Fixes & UX Improvements (2025-01-07)
79
+
80
+ ### 🤖 AI Summary
81
+
82
+ This patch release fixes critical issues with the voice preview command and significantly improves the installer UX. The `/agent-vibes:preview` command now correctly handles provider-specific voices and provides helpful guidance when users try to preview voices from the wrong provider. The installer adds interactive provider selection with automatic API key setup and shell configuration, making first-time setup much smoother.
83
+
84
+ ### 🐛 Bug Fixes
85
+
86
+ #### Voice Preview Command Fixed
87
+ - **Fixed provider-aware voice previewing** - The `/agent-vibes:preview` command now correctly routes through the provider system instead of directly calling ElevenLabs-specific code
88
+ - **Intelligent voice detection** - Detects when you try to preview an ElevenLabs voice (like "Antoni") while using Piper and provides helpful guidance with alternatives
89
+ - **Support for specific voice previews** - Can now preview individual Piper voices by model name (e.g., `/agent-vibes:preview en_US-lessac-medium`)
90
+ - **Fixed language-manager error** - Resolved issue where sourcing `language-manager.sh` would trigger unwanted command handler execution showing "AgentVibes Language Manager" usage text
91
+ - **Fixed function name mismatch** - Corrected `get_current_language` to `get_language_code` in play-tts-piper.sh
92
+
93
+ #### Provider Routing Improvements
94
+ - **Simplified play-tts.sh router** - Streamlined routing logic for cleaner provider delegation
95
+ - **Fixed provider routing** - Ensures TTS requests always route to the active provider correctly
96
+ - **Better error handling** - Clear, helpful messages when voice/provider mismatch occurs
97
+
98
+ ### ✨ Installer UX Enhancements
99
+
100
+ #### Interactive Provider Selection
101
+ - **Provider choice prompt** - Installer now asks which TTS provider you want (Piper or ElevenLabs) with clear descriptions
102
+ - **Automatic API key setup** - Detects your shell (bash/zsh) and offers to add ELEVENLABS_API_KEY to shell config file
103
+ - **Shell detection** - Intelligently detects whether you're using bash or zsh and configures the correct file
104
+ - **Multiple setup paths** - Choose between automatic shell config, manual setup, or skip API key configuration
105
+ - **Piper voices path configuration** - Added prompt for custom Piper voice storage location
106
+
107
+ #### Clearer Installation Messaging
108
+ - **Better location explanation** - Clear explanation of why AgentVibes installs in `.claude/` directory (Claude Code auto-discovery)
109
+ - **Removed confusing prompts** - Simplified installation directory selection to avoid confusion
110
+ - **Better confirmation flow** - Two-step confirmation: location first, then provider/installation
111
+ - **Installation summary** - Shows exactly what will be installed before proceeding
112
+
113
+ ### 🔧 Update Command Improvements
114
+
115
+ - **Fixed version display** - Update command now correctly shows v2.0.x instead of v1.1.3
116
+ - **Synced with install command** - Both install and update commands now show identical release notes and formatting
117
+ - **Directory filtering** - Properly filters out directories when counting hooks and personalities
118
+ - **Consistent formatting** - Matches install command's beautiful display style
119
+
120
+ ### 🛠️ Code Quality
121
+
122
+ - **Fixed undefined variable** - Replaced `srcPersonalityFiles` with correct variable name
123
+ - **Proper scope management** - Moved `piperVoicesPath` declaration to correct scope to avoid undefined errors
124
+ - **Command handler isolation** - Wrapped language-manager.sh case statement to only run when executed directly, not when sourced
125
+
126
+ ---
127
+
128
+ ### 📊 Changes Summary
129
+
130
+ **Files Modified:** 8 files
131
+ - `.claude/commands/agent-vibes/preview.md` - Provider-aware routing
132
+ - `.claude/hooks/language-manager.sh` - Command handler isolation fix
133
+ - `.claude/hooks/play-tts-piper.sh` - Function name correction
134
+ - `.claude/hooks/play-tts.sh` - Simplified router
135
+ - `.claude/hooks/provider-commands.sh` - Enhanced Piper preview support
136
+ - `src/installer.js` - Interactive setup & UX improvements
137
+ - `.claude/commands/release.md` - Documentation update
138
+ - `.claude/piper-voices-dir.txt` - Storage config
139
+
140
+ **Lines Changed:**
141
+ - Added: 275 lines
142
+ - Removed: 354 lines
143
+ - Net: -79 lines (cleaner codebase!)
144
+
145
+ ---
146
+
147
+ ### 🎯 What's Improved
148
+
149
+ #### For New Users
150
+ - **Much easier setup** - Interactive prompts guide you through provider selection and API key configuration
151
+ - **Clearer explanations** - Better messaging about where files are installed and why (Claude Code auto-discovery)
152
+ - **Faster onboarding** - Shell detection and automatic config file modification save manual steps
153
+
154
+ #### For Existing Users
155
+ - **Preview command works correctly** - No more language-manager errors when previewing voices
156
+ - **Provider switching is seamless** - Better error messages when voice/provider mismatch occurs
157
+ - **Update command is accurate** - Shows correct version and release notes instead of old v1.1.3
158
+
159
+ #### For Developers
160
+ - **Cleaner codebase** - Removed 79 lines of unnecessary code
161
+ - **Better separation of concerns** - Command handlers only run when appropriate
162
+ - **Improved maintainability** - More consistent code patterns across scripts
163
+
164
+ ---
165
+
166
+ ### 🔧 Technical Details
167
+
168
+ #### Provider Preview Architecture
169
+ The preview command now uses a three-tier detection system:
170
+
171
+ 1. **ElevenLabs Provider**: Routes to `voice-manager.sh preview` for ElevenLabs voice listing
172
+ 2. **Piper Provider with voice arg**:
173
+ - Detects Piper voice format (`en_US-*-medium`)
174
+ - Detects ElevenLabs voice names (shows helpful error with alternatives)
175
+ - Validates voice model exists before previewing
176
+ 3. **Piper Provider without args**: Shows first 3 sample voices (Lessac, Amy, Joe)
177
+
178
+ #### Language Manager Fix
179
+ The `language-manager.sh` script now checks if it's being executed directly vs sourced:
180
+
181
+ ```bash
182
+ if [[ "${BASH_SOURCE[0]}" == "${0}" ]]; then
183
+ # Only run command handler when executed directly
184
+ case "${1:-}" in
185
+ set|get|code|check-voice|best-voice|list)
186
+ # Handle commands
187
+ ;;
188
+ esac
189
+ fi
190
+ ```
191
+
192
+ This prevents the case statement from executing when the script is sourced by other scripts like `play-tts-piper.sh`.
193
+
194
+ #### Installer Flow
195
+ ```
196
+ 1. Show installation details and location
197
+ 2. Provider selection (Piper/ElevenLabs)
198
+ ├─ If ElevenLabs: Check for API key
199
+ │ ├─ Detect shell (bash/zsh)
200
+ │ ├─ Offer to add to shell config
201
+ │ ├─ Manual setup option
202
+ │ └─ Skip option
203
+ └─ If Piper: Ask for voice storage path
204
+ 3. Explain .claude/ installation location with reasoning
205
+ 4. Confirm installation location
206
+ 5. Show installation summary
207
+ 6. Final confirmation
208
+ 7. Install all files
209
+ 8. Show success summary with next steps
210
+ ```
211
+
212
+ ---
213
+
214
+ ### 💡 Usage Examples
215
+
216
+ #### Preview Commands
217
+ ```bash
218
+ # Preview with Piper (no args = first 3 voices)
219
+ /agent-vibes:preview
220
+
221
+ # Preview specific Piper voice
222
+ /agent-vibes:preview en_US-lessac-medium
223
+
224
+ # Try to preview ElevenLabs voice while using Piper
225
+ /agent-vibes:preview Antoni
226
+ # ❌ 'Antoni' appears to be an ElevenLabs voice
227
+ # You're currently using Piper TTS (free provider).
228
+ # Options:
229
+ # 1. Run /agent-vibes:list to see available Piper voices
230
+ # 2. Switch to ElevenLabs: /agent-vibes:provider switch elevenlabs
231
+ ```
232
+
233
+ #### Installer Provider Selection
234
+ ```bash
235
+ npx agentvibes install
236
+
237
+ # 🎭 Choose Your TTS Provider:
238
+ # ? Which TTS provider would you like to use?
239
+ # 🆓 Piper TTS (Free, Offline) - 50+ neural voices, no API key needed
240
+ # 🎤 ElevenLabs (Premium) - 150+ AI voices, requires API key
241
+ ```
242
+
243
+ ---
244
+
245
+ ### 📦 Upgrade Notes
246
+
247
+ **From v2.0.6:**
248
+ ```bash
249
+ npm update -g agentvibes
250
+ # or
251
+ /agent-vibes:update
252
+ ```
253
+
254
+ **No breaking changes** - This is a pure bug fix and UX improvement release. All existing configurations, voices, personalities, and settings are preserved.
255
+
256
+ ---
257
+
258
+ ### 🙏 Credits
259
+
260
+ - **Voice Preview Fix**: Resolved GitHub issue reported by users experiencing language-manager errors
261
+ - **Provider Architecture**: Multi-provider system improvements continue to mature
262
+ - **Installer UX**: Community feedback on first-time setup experience led to these improvements
263
+
264
+ ---
265
+
266
+ ### 📚 Resources
267
+
268
+ - **Documentation**: https://agentvibes.org
269
+ - **GitHub**: https://github.com/paulpreibisch/AgentVibes
270
+ - **Issues**: https://github.com/paulpreibisch/AgentVibes/issues
271
+
272
+ ---
273
+
274
+ 🤖 Generated with [Claude Code](https://claude.com/claude-code)
275
+
276
+ Co-Authored-By: Claude <noreply@anthropic.com>
277
+
278
+ ---
279
+
3
280
  ## 📦 v1.1.3 - Symlink Support & Audio Fixes (2025-10-04)
4
281
 
5
282
  ### 🤖 AI Summary
@@ -0,0 +1,21 @@
1
+ ---
2
+ description: Add a new custom ElevenLabs TTS voice
3
+ argument-hint: <voice_name> <voice_id>
4
+ ---
5
+
6
+ Add a new custom ElevenLabs TTS voice to your voice library.
7
+
8
+ Usage:
9
+ - `/agent-vibes:add "My Custom Voice" abc123xyz456789`
10
+ - `/agent-vibes:add Narrator KTPVrSVAEUSJRClDzBw7`
11
+
12
+ The voice ID should be a 15-30 character alphanumeric string from your ElevenLabs account.
13
+
14
+ To find your voice IDs:
15
+ 1. Go to https://elevenlabs.io/app/voice-library
16
+ 2. Click on a voice
17
+ 3. Copy the voice ID from the URL or settings
18
+
19
+ After adding, you can switch to it with `/agent-vibes:switch "Voice Name"`
20
+
21
+ !bash .claude/hooks/voice-manager.sh add $ARGUMENTS
@@ -0,0 +1,68 @@
1
+ ---
2
+ description: ElevenLabs TTS voice management commands
3
+ ---
4
+
5
+ # 🎤 ElevenLabs Voice Management
6
+
7
+ Manage your ElevenLabs text-to-speech voices with these commands:
8
+
9
+ ## Available Commands
10
+
11
+ ### `/agent-vibes:list [first|last] [N]`
12
+ List all available voices, with optional filtering
13
+ - `/agent-vibes:list` - Show all voices
14
+ - `/agent-vibes:list first 5` - Show first 5 voices
15
+ - `/agent-vibes:list last 3` - Show last 3 voices
16
+
17
+ ### `/agent-vibes:preview [first|last] [N]`
18
+ Preview voices by playing audio samples
19
+ - `/agent-vibes:preview` - Preview first 3 voices
20
+ - `/agent-vibes:preview 5` - Preview first 5 voices
21
+ - `/agent-vibes:preview last 5` - Preview last 5 voices
22
+
23
+ ### `/agent-vibes:switch <voice_name>`
24
+ Switch to a different default voice
25
+ - `/agent-vibes:switch Northern Terry`
26
+ - `/agent-vibes:switch "Cowboy Bob"`
27
+
28
+ ### `/agent-vibes:get`
29
+ Display the currently selected voice
30
+
31
+ ### `/agent-vibes:add <name> <voice_id>`
32
+ Add a new custom voice from your ElevenLabs account
33
+ - `/agent-vibes:add "My Voice" abc123xyz456`
34
+
35
+ ### `/agent-vibes:replay [N]`
36
+ Replay recently played TTS audio
37
+ - `/agent-vibes:replay` - Replay last audio
38
+ - `/agent-vibes:replay 1` - Replay most recent
39
+ - `/agent-vibes:replay 2` - Replay second-to-last
40
+ - `/agent-vibes:replay 3` - Replay third-to-last
41
+
42
+ Keeps last 10 audio files in history.
43
+
44
+ ### `/agent-vibes:set-pretext <word>`
45
+ Set a prefix word/phrase for all TTS messages
46
+ - `/agent-vibes:set-pretext AgentVibes` - All TTS starts with "AgentVibes:"
47
+ - `/agent-vibes:set-pretext "Project Alpha"` - Custom phrase
48
+ - `/agent-vibes:set-pretext ""` - Clear pretext
49
+
50
+ Saved locally in `.claude/config/agentvibes.json`
51
+
52
+ ## Getting Voice IDs
53
+
54
+ To add your own custom voices:
55
+ 1. Go to https://elevenlabs.io/app/voice-library
56
+ 2. Select or create a voice
57
+ 3. Copy the voice ID (15-30 character alphanumeric string)
58
+ 4. Use `/agent-vibes:add` to add it
59
+
60
+ ## Default Voices
61
+
62
+ The system comes with these Character Voices from ElevenLabs:
63
+ - Northern Terry, Grandpa Spuds Oxley, Ms. Walker
64
+ - Ralf Eisend, Amy, Michael, Jessica Anne Bogart
65
+ - Aria, Lutz Laugh, Dr. Von Fusion, Matthew Schmitz
66
+ - Demon Monster, Cowboy Bob, Drill Sergeant
67
+
68
+ Enjoy your TTS experience! 🎵
@@ -0,0 +1,53 @@
1
+ {
2
+ "namespace": "agent-vibes",
3
+ "commands": [
4
+ {
5
+ "name": "list",
6
+ "description": "List all available ElevenLabs voices"
7
+ },
8
+ {
9
+ "name": "preview",
10
+ "description": "Preview ElevenLabs voices by playing audio samples"
11
+ },
12
+ {
13
+ "name": "switch",
14
+ "description": "Switch to a different ElevenLabs voice"
15
+ },
16
+ {
17
+ "name": "whoami",
18
+ "description": "Display currently selected voice"
19
+ },
20
+ {
21
+ "name": "sample",
22
+ "description": "Play a sample with the current or specified voice"
23
+ },
24
+ {
25
+ "name": "replay",
26
+ "description": "Replay the last TTS message"
27
+ },
28
+ {
29
+ "name": "personality",
30
+ "description": "Manage AI personality settings"
31
+ },
32
+ {
33
+ "name": "sentiment",
34
+ "description": "Set temporary personality sentiment"
35
+ },
36
+ {
37
+ "name": "set-pretext",
38
+ "description": "Configure pre-TTS message text"
39
+ },
40
+ {
41
+ "name": "set-language",
42
+ "description": "Set TTS language for multilingual voices"
43
+ },
44
+ {
45
+ "name": "add",
46
+ "description": "Add a new personality"
47
+ },
48
+ {
49
+ "name": "get",
50
+ "description": "Get personality details"
51
+ }
52
+ ]
53
+ }
@@ -0,0 +1,9 @@
1
+ ---
2
+ description: Get the currently selected ElevenLabs TTS voice
3
+ ---
4
+
5
+ Display the currently selected ElevenLabs TTS voice.
6
+
7
+ This shows which voice is currently set as the default for TTS audio generation.
8
+
9
+ !bash .claude/hooks/voice-manager.sh get