agentvibes 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (43) hide show
  1. package/.claude/commands/agent-vibes/add.md +21 -0
  2. package/.claude/commands/agent-vibes/agent-vibes.md +68 -0
  3. package/.claude/commands/agent-vibes/get.md +9 -0
  4. package/.claude/commands/agent-vibes/list.md +13 -0
  5. package/.claude/commands/agent-vibes/personality.md +79 -0
  6. package/.claude/commands/agent-vibes/preview.md +16 -0
  7. package/.claude/commands/agent-vibes/replay.md +19 -0
  8. package/.claude/commands/agent-vibes/sample.md +12 -0
  9. package/.claude/commands/agent-vibes/sentiment.md +52 -0
  10. package/.claude/commands/agent-vibes/set-pretext.md +65 -0
  11. package/.claude/commands/agent-vibes/switch.md +53 -0
  12. package/.claude/commands/agent-vibes/whoami.md +7 -0
  13. package/.claude/hooks/personality-manager.sh +358 -0
  14. package/.claude/hooks/play-tts.sh +99 -0
  15. package/.claude/hooks/sentiment-manager.sh +164 -0
  16. package/.claude/hooks/voice-manager.sh +308 -0
  17. package/.claude/hooks/voices-config.sh +22 -0
  18. package/.claude/output-styles/agent-vibes.md +124 -0
  19. package/.claude/personalities/angry.md +16 -0
  20. package/.claude/personalities/annoying.md +16 -0
  21. package/.claude/personalities/crass.md +16 -0
  22. package/.claude/personalities/dramatic.md +16 -0
  23. package/.claude/personalities/flirty.md +22 -0
  24. package/.claude/personalities/funny.md +16 -0
  25. package/.claude/personalities/grandpa.md +34 -0
  26. package/.claude/personalities/millennial.md +16 -0
  27. package/.claude/personalities/moody.md +16 -0
  28. package/.claude/personalities/normal.md +17 -0
  29. package/.claude/personalities/pirate.md +16 -0
  30. package/.claude/personalities/poetic.md +16 -0
  31. package/.claude/personalities/professional.md +16 -0
  32. package/.claude/personalities/robot.md +16 -0
  33. package/.claude/personalities/sarcastic.md +40 -0
  34. package/.claude/personalities/sassy.md +16 -0
  35. package/.claude/personalities/surfer-dude.md +16 -0
  36. package/.claude/personalities/zen.md +16 -0
  37. package/LICENSE +190 -0
  38. package/NPM_PUBLISH_GUIDE.md +145 -0
  39. package/README.md +446 -0
  40. package/bin/agent-vibes +43 -0
  41. package/package.json +45 -0
  42. package/src/installer.js +443 -0
  43. package/templates/output-styles/agent-vibes.md +124 -0
package/README.md ADDED
@@ -0,0 +1,446 @@
1
+ # 🎤 AgentVibes
2
+
3
+ > **Bring your Claude Code sessions to life with voice!**
4
+ >
5
+ > Professional text-to-speech narration powered by ElevenLabs AI
6
+
7
+ [![npm version](https://badge.fury.io/js/agentvibes.svg)](https://badge.fury.io/js/agentvibes)
8
+ [![License](https://img.shields.io/badge/License-Apache_2.0-blue.svg)](https://opensource.org/licenses/Apache-2.0)
9
+
10
+ **Author**: Paul Preibisch ([@997Fire](https://x.com/997Fire))
11
+
12
+ ---
13
+
14
+ ## ✨ What is AgentVibes?
15
+
16
+ **AgentVibes adds lively voice narration to your Claude Code sessions!**
17
+
18
+ Imagine Claude speaking to you with different voices and personalities as you code. Whether you want a sarcastic assistant, a pirate captain, or a wise grandpa - AgentVibes brings your AI coding buddy to life with professional ElevenLabs voices.
19
+
20
+ ### 🎯 Key Features
21
+
22
+ - 🎙️ **17+ Professional AI Voices** - Character voices, accents, and unique personalities
23
+ - 🎭 **18 Built-in Personalities** - From sarcastic to flirty, pirate to professional
24
+ - 💬 **Sentiment System** - Apply personality styles to ANY voice
25
+ - 🔊 **Live Audio Feedback** - Hear task acknowledgments and completions
26
+ - 🎵 **Voice Preview** - Listen before you choose
27
+ - 🔄 **Audio Replay** - Replay the last 10 TTS messages
28
+ - ⚡ **One-Command Install** - Get started in seconds
29
+
30
+ ---
31
+
32
+ ## 🚀 Quick Start
33
+
34
+ ### Step 1: Install AgentVibes
35
+
36
+ Choose your preferred installation method:
37
+
38
+ #### **Option A: Using npx (Recommended)** ⚡
39
+ No installation needed! Run directly:
40
+ ```bash
41
+ npx agentvibes install
42
+ ```
43
+
44
+ #### **Option B: Install globally via npm** 📦
45
+ Install once, use anywhere:
46
+ ```bash
47
+ npm install -g agentvibes
48
+ agentvibes install
49
+ ```
50
+
51
+ #### **Option C: From source (Development)** 🔧
52
+ Clone and run from repository:
53
+ ```bash
54
+ git clone https://github.com/paulpreibisch/AgentVibes.git
55
+ cd AgentVibes
56
+ npm install
57
+ node bin/agent-vibes install
58
+ ```
59
+
60
+ ### Step 2: Get Your ElevenLabs API Key
61
+
62
+ 1. Sign up at [elevenlabs.io](https://elevenlabs.io/) (free tier available!)
63
+ 2. Copy your API key from the dashboard
64
+ 3. Add it to your environment:
65
+
66
+ ```bash
67
+ # Add to ~/.bashrc or ~/.zshrc
68
+ echo 'export ELEVENLABS_API_KEY="your-api-key-here"' >> ~/.bashrc
69
+ source ~/.bashrc
70
+ ```
71
+
72
+ ### Step 3: Enable Voice in Claude Code
73
+
74
+ ```bash
75
+ /output-style agent-vibes
76
+ ```
77
+
78
+ **That's it! Claude will now speak to you!** 🎉
79
+
80
+ ---
81
+
82
+ ## 🎤 Available Commands
83
+
84
+ All commands are prefixed with `/agent-vibes:`
85
+
86
+ ### Voice Commands
87
+
88
+ | Command | Description |
89
+ |---------|-------------|
90
+ | `/agent-vibes:list` | Show all available voices |
91
+ | `/agent-vibes:switch <voice>` | Change to a different voice |
92
+ | `/agent-vibes:whoami` | Show current voice, sentiment & personality |
93
+ | `/agent-vibes:preview [N]` | Preview voices with audio samples |
94
+ | `/agent-vibes:sample <voice>` | Test a specific voice |
95
+ | `/agent-vibes:add <name> <id>` | Add custom ElevenLabs voice |
96
+ | `/agent-vibes:replay [N]` | Replay recent TTS audio |
97
+ | `/agent-vibes:get` | Get currently selected voice |
98
+
99
+ ### Personality Commands
100
+
101
+ | Command | Description |
102
+ |---------|-------------|
103
+ | `/agent-vibes:personality <name>` | Set personality (changes voice + style) |
104
+ | `/agent-vibes:personality list` | Show all personalities |
105
+ | `/agent-vibes:personality add <name>` | Create custom personality |
106
+ | `/agent-vibes:personality edit <name>` | Edit personality file |
107
+ | `/agent-vibes:personality get` | Show current personality |
108
+ | `/agent-vibes:personality reset` | Reset to normal |
109
+
110
+ ### Sentiment Commands
111
+
112
+ | Command | Description |
113
+ |---------|-------------|
114
+ | `/agent-vibes:sentiment <name>` | Apply sentiment to current voice |
115
+ | `/agent-vibes:sentiment list` | Show all available sentiments |
116
+ | `/agent-vibes:sentiment get` | Show current sentiment |
117
+ | `/agent-vibes:sentiment clear` | Remove sentiment |
118
+
119
+ ### Advanced Commands
120
+
121
+ | Command | Description |
122
+ |---------|-------------|
123
+ | `/agent-vibes:set-pretext <text>` | Add prefix to all TTS messages |
124
+
125
+ ---
126
+
127
+ ## 🎭 Personalities vs Sentiments
128
+
129
+ ### 🎪 Personalities (Voice + Style)
130
+
131
+ **Personalities change BOTH voice AND how Claude talks.** Each has a dedicated ElevenLabs voice:
132
+
133
+ | Personality | Voice | Style |
134
+ |------------|-------|-------|
135
+ | **sarcastic** | Jessica Anne Bogart | Dry wit and cutting observations |
136
+ | **flirty** | Jessica Anne Bogart | Playful charm and compliments |
137
+ | **pirate** | Pirate Marshal | Seafaring swagger - "Arr matey!" |
138
+ | **grandpa** | Grandpa Werthers | Rambling nostalgic stories |
139
+ | **angry** | Drill Sergeant | Frustrated and loud |
140
+ | **robot** | Dr. Von Fusion | Mechanical and precise |
141
+ | **zen** | Aria | Peaceful and mindful |
142
+ | **professional** | Michael | Formal and corporate |
143
+
144
+ **All 18 personalities:** sarcastic, flirty, pirate, grandpa, angry, robot, zen, professional, dramatic, millennial, surfer-dude, sassy, poetic, moody, funny, annoying, crass, normal, random
145
+
146
+ ```bash
147
+ /agent-vibes:personality sarcastic
148
+ /agent-vibes:personality pirate
149
+ /agent-vibes:personality list
150
+ ```
151
+
152
+ ### 💭 Sentiments (Style Only)
153
+
154
+ **Sentiments apply personality styles to YOUR current voice:**
155
+
156
+ ```bash
157
+ # Use YOUR voice with sarcastic attitude
158
+ /agent-vibes:sentiment sarcastic
159
+
160
+ # Clear sentiment
161
+ /agent-vibes:sentiment clear
162
+ ```
163
+
164
+ **Key Difference:**
165
+ - **Personality** = Changes voice + style (e.g., Pirate Marshal + pirate speak)
166
+ - **Sentiment** = Keeps your voice + adds style (e.g., Your Voice + sarcasm)
167
+
168
+ ### 🎤 Combine Voice + Sentiment
169
+
170
+ ```bash
171
+ # Switch to Aria with sarcastic sentiment
172
+ /agent-vibes:switch Aria --sentiment sarcastic
173
+ ```
174
+
175
+ ---
176
+
177
+ ## 🗣️ Available Voices
178
+
179
+ AgentVibes includes **17 unique ElevenLabs voices:**
180
+
181
+ | Voice | Character | Best For |
182
+ |-------|-----------|----------|
183
+ | Aria | Clear professional | Default, all-purpose |
184
+ | Jessica Anne Bogart | Wickedly eloquent | Sarcastic, flirty |
185
+ | Pirate Marshal | Authentic pirate | Pirate personality |
186
+ | Grandpa Werthers | Nostalgic elder | Grandpa personality |
187
+ | Drill Sergeant | Military authority | Angry personality |
188
+ | Cowboy Bob | Western charm | Casual, friendly |
189
+ | Northern Terry | Eccentric British | Quirky responses |
190
+ | Ms. Walker | Warm teacher | Professional |
191
+ | Dr. Von Fusion | Mad scientist | Robot personality |
192
+ | Matthew Schmitz | Deep baritone | Dramatic |
193
+ | Grandpa Spuds Oxley | Wise elder | Wisdom |
194
+ | Michael | British urban | Professional |
195
+ | Ralf Eisend | International | Multi-cultural |
196
+ | Amy | Chinese accent | Diverse |
197
+ | Lutz Laugh | Jovial | Funny |
198
+ | Demon Monster | Deep and spooky | Dramatic |
199
+
200
+ ---
201
+
202
+ ## 📦 What Gets Installed?
203
+
204
+ ```
205
+ your-project/
206
+ └── .claude/
207
+ ├── commands/
208
+ │ └── agent-vibes/ # All slash commands
209
+ │ ├── agent-vibes.md
210
+ │ ├── agent-vibes:list.md
211
+ │ ├── agent-vibes:switch.md
212
+ │ ├── agent-vibes:whoami.md
213
+ │ ├── agent-vibes:personality.md
214
+ │ ├── agent-vibes:sentiment.md
215
+ │ └── ... (12 total)
216
+ ├── hooks/
217
+ │ ├── voice-manager.sh # Voice switching
218
+ │ ├── personality-manager.sh # Personality system
219
+ │ ├── sentiment-manager.sh # Sentiment system
220
+ │ ├── play-tts.sh # TTS playback
221
+ │ └── voices-config.sh # Voice ID mappings
222
+ ├── personalities/ # 18 personality templates
223
+ │ ├── sarcastic.md
224
+ │ ├── flirty.md
225
+ │ ├── pirate.md
226
+ │ └── ... (15 more)
227
+ ├── output-styles/
228
+ │ └── agent-vibes.md # Voice output style
229
+ └── audio/ # Generated TTS files
230
+ └── tts-*.mp3 # Last 10 kept
231
+ ```
232
+
233
+ ### Voice Settings Storage
234
+
235
+ - **Current Voice**: `~/.claude/tts-voice.txt`
236
+ - **Current Personality**: `~/.claude/tts-personality.txt`
237
+ - **Current Sentiment**: `~/.claude/tts-sentiment.txt`
238
+
239
+ Settings persist across Claude Code sessions!
240
+
241
+ ---
242
+
243
+ ## 🔧 CLI Management
244
+
245
+ ```bash
246
+ # Check installation status
247
+ node ~/claude/AgentVibes/bin/agent-vibes status
248
+
249
+ # Update to latest version
250
+ node ~/claude/AgentVibes/bin/agent-vibes update
251
+
252
+ # Install with options
253
+ node ~/claude/AgentVibes/bin/agent-vibes install --yes --directory ~/my-project
254
+ ```
255
+
256
+ ---
257
+
258
+ ## 💡 Usage Examples
259
+
260
+ ### Switch Voices
261
+
262
+ ```bash
263
+ /agent-vibes:list # See all voices
264
+ /agent-vibes:switch Aria # Switch to Aria
265
+ /agent-vibes:switch "Cowboy Bob" # Switch to Cowboy Bob
266
+ /agent-vibes:whoami # Check current setup
267
+ ```
268
+
269
+ ### Try Personalities
270
+
271
+ ```bash
272
+ /agent-vibes:personality sarcastic # Sarcastic + Jessica Anne Bogart
273
+ /agent-vibes:personality pirate # Pirate + Pirate Marshal
274
+ /agent-vibes:personality grandpa # Grandpa + Grandpa Werthers
275
+ /agent-vibes:personality list # See all 18 personalities
276
+ ```
277
+
278
+ ### Use Sentiments
279
+
280
+ ```bash
281
+ /agent-vibes:switch Aria # Set to Aria voice
282
+ /agent-vibes:sentiment sarcastic # Add sarcasm to Aria
283
+ /agent-vibes:sentiment clear # Remove sentiment
284
+ ```
285
+
286
+ ### Audio Replay
287
+
288
+ ```bash
289
+ /agent-vibes:replay # Replay last message
290
+ /agent-vibes:replay 3 # Replay 3rd-to-last
291
+ ```
292
+
293
+ ### Voice Preview
294
+
295
+ ```bash
296
+ /agent-vibes:preview # Hear first 3 voices
297
+ /agent-vibes:preview 10 # Hear first 10
298
+ /agent-vibes:preview last 5 # Hear last 5
299
+ ```
300
+
301
+ ---
302
+
303
+ ## 🌟 Best Voice/Personality Combos
304
+
305
+ - **Debugging**: Sarcastic + Jessica Anne Bogart 😏
306
+ - **Learning**: Professional + Michael 📚
307
+ - **Fun Coding**: Pirate + Pirate Marshal 🏴‍☠️
308
+ - **Late Night**: Zen + Aria 🧘
309
+ - **Pair Programming**: Grandpa + Grandpa Werthers 👴
310
+
311
+ ---
312
+
313
+ ## ❓ Troubleshooting
314
+
315
+ ### No Audio Playing?
316
+
317
+ 1. Check API key: `echo $ELEVENLABS_API_KEY`
318
+ 2. Check output style: `/output-style agent-vibes`
319
+ 3. Test playback: `/agent-vibes:sample Aria`
320
+
321
+ ### Commands Not Found?
322
+
323
+ ```bash
324
+ # Verify installation
325
+ node ~/claude/AgentVibes/bin/agent-vibes status
326
+
327
+ # Reinstall
328
+ node ~/claude/AgentVibes/bin/agent-vibes install --yes
329
+ ```
330
+
331
+ ### Wrong Voice Playing?
332
+
333
+ ```bash
334
+ # Check current setup
335
+ /agent-vibes:whoami
336
+
337
+ # Reset if needed
338
+ /agent-vibes:personality reset
339
+ /agent-vibes:sentiment clear
340
+ ```
341
+
342
+ ---
343
+
344
+ ## 🔧 Advanced Usage
345
+
346
+ ### Custom Personalities
347
+
348
+ 1. Create new personality:
349
+ ```bash
350
+ /agent-vibes:personality add mycustom
351
+ ```
352
+
353
+ 2. Edit `.claude/personalities/mycustom.md`:
354
+ ```markdown
355
+ ---
356
+ name: mycustom
357
+ description: My style
358
+ voice: Aria
359
+ ---
360
+
361
+ ## AI Instructions
362
+ Speak in your unique style...
363
+ ```
364
+
365
+ 3. Use it:
366
+ ```bash
367
+ /agent-vibes:personality mycustom
368
+ ```
369
+
370
+ ### Add Custom Voices
371
+
372
+ ```bash
373
+ # Get voice ID from elevenlabs.io
374
+ /agent-vibes:add "My Voice" abc123xyz789
375
+ ```
376
+
377
+ ### Use in Output Styles
378
+
379
+ ```markdown
380
+ I'll do the task
381
+ [Bash: .claude/hooks/play-tts.sh "Starting" "Aria"]
382
+
383
+ ... work ...
384
+
385
+ ✅ Done
386
+ [Bash: .claude/hooks/play-tts.sh "Complete" "Cowboy Bob"]
387
+ ```
388
+
389
+ ---
390
+
391
+ ## 🔄 Updating AgentVibes
392
+
393
+ ### If installed via npx:
394
+ ```bash
395
+ npx agentvibes update --yes
396
+ ```
397
+
398
+ ### If installed globally via npm:
399
+ ```bash
400
+ npm update -g agentvibes
401
+ agentvibes update --yes
402
+ ```
403
+
404
+ ### If installed from source:
405
+ ```bash
406
+ cd ~/AgentVibes
407
+ git pull origin master
408
+ npm install
409
+ node bin/agent-vibes update --yes
410
+ ```
411
+
412
+ The update command will:
413
+ - ✅ Update all slash commands
414
+ - ✅ Update TTS scripts
415
+ - ✅ Add new personalities (keeps your custom ones)
416
+ - ✅ Update output styles
417
+ - ⚠️ Preserves your voice settings and configurations
418
+
419
+ ---
420
+
421
+ ## 🙏 Credits
422
+
423
+ **Built with ❤️ by [Paul Preibisch](https://github.com/paulpreibisch)**
424
+
425
+ - 🐦 Twitter: [@997Fire](https://x.com/997Fire)
426
+ - 💼 LinkedIn: [paul-preibisch](https://www.linkedin.com/in/paul-preibisch/)
427
+ - 🌐 GitHub: [paulpreibisch](https://github.com/paulpreibisch)
428
+
429
+ **Powered by:**
430
+ - [ElevenLabs](https://elevenlabs.io/) AI voices
431
+ - [Claude Code](https://claude.com/claude-code)
432
+ - Licensed under Apache 2.0
433
+
434
+ ---
435
+
436
+ ## 🤝 Show Some Love
437
+
438
+ If AgentVibes makes your coding more fun:
439
+ - ⭐ **Star this repo** on GitHub
440
+ - 🐦 **Tweet** and tag [@997Fire](https://x.com/997Fire)
441
+ - 🎥 **Share videos** of Claude with personality
442
+ - 💬 **Tell dev friends** about voice-powered AI
443
+
444
+ ---
445
+
446
+ **Ready to give Claude a voice? Install now and code with personality! 🎤✨**
@@ -0,0 +1,43 @@
1
+ #!/usr/bin/env node
2
+
3
+ /**
4
+ * AgentVibes - Beautiful ElevenLabs TTS voice commands for Claude Code
5
+ * This file ensures proper execution when run via npx
6
+ */
7
+
8
+ import { execSync } from 'node:child_process';
9
+ import path from 'node:path';
10
+ import fs from 'node:fs';
11
+ import { fileURLToPath } from 'node:url';
12
+
13
+ const __filename = fileURLToPath(import.meta.url);
14
+ const __dirname = path.dirname(__filename);
15
+
16
+ // Check if we're running in an npx temporary directory
17
+ const isNpxExecution = __dirname.includes('_npx') || __dirname.includes('.npm');
18
+
19
+ // If running via npx, we need to handle things differently
20
+ if (isNpxExecution) {
21
+ const arguments_ = process.argv.slice(2);
22
+
23
+ // Use the installer for all commands
24
+ const installerPath = path.join(__dirname, '..', 'src', 'installer.js');
25
+
26
+ if (!fs.existsSync(installerPath)) {
27
+ console.error('Error: Could not find installer.js at', installerPath);
28
+ console.error('Current directory:', __dirname);
29
+ process.exit(1);
30
+ }
31
+
32
+ try {
33
+ execSync(`node "${installerPath}" ${arguments_.join(' ')}`, {
34
+ stdio: 'inherit',
35
+ cwd: path.dirname(__dirname),
36
+ });
37
+ } catch (error) {
38
+ process.exit(error.status || 1);
39
+ }
40
+ } else {
41
+ // Local execution - use installer directly
42
+ import('../src/installer.js');
43
+ }
package/package.json ADDED
@@ -0,0 +1,45 @@
1
+ {
2
+ "$schema": "https://json.schemastore.org/package.json",
3
+ "name": "agentvibes",
4
+ "version": "1.0.0",
5
+ "description": "Beautiful ElevenLabs TTS voice commands for Claude Code - Add professional narration to your AI coding sessions",
6
+ "keywords": [
7
+ "elevenlabs",
8
+ "tts",
9
+ "text-to-speech",
10
+ "claude-code",
11
+ "voice",
12
+ "ai",
13
+ "narration",
14
+ "agent-vibes"
15
+ ],
16
+ "repository": {
17
+ "type": "git",
18
+ "url": "git+https://github.com/paulpreibisch/AgentVibes.git"
19
+ },
20
+ "license": "Apache-2.0",
21
+ "author": "Paul Preibisch <paul@paulpreibisch.com>",
22
+ "type": "module",
23
+ "main": "src/installer.js",
24
+ "bin": {
25
+ "agentvibes": "./bin/agent-vibes",
26
+ "agent-vibes": "./bin/agent-vibes"
27
+ },
28
+ "scripts": {
29
+ "install-local": "node src/installer.js install"
30
+ },
31
+ "dependencies": {
32
+ "boxen": "^7.0.0",
33
+ "chalk": "^5.0.0",
34
+ "commander": "^10.0.0",
35
+ "figlet": "^1.6.0",
36
+ "inquirer": "^12.0.0",
37
+ "ora": "^6.0.0"
38
+ },
39
+ "engines": {
40
+ "node": ">=16.0.0"
41
+ },
42
+ "publishConfig": {
43
+ "access": "public"
44
+ }
45
+ }