agentvibes 2.0.12 → 2.0.13

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 (138) hide show
  1. package/.claude/commands/agent-vibes/bmad.md +0 -7
  2. package/.claude/github-star-reminder.txt +1 -1
  3. package/.claude/hooks/piper-installer.sh +7 -57
  4. package/.claude/hooks/play-tts-piper.sh +2 -10
  5. package/.claude/hooks/play-tts.sh +0 -31
  6. package/README.md +2 -2
  7. package/RELEASE_NOTES.md +0 -199
  8. package/package.json +1 -1
  9. package/src/installer.js +1 -112
  10. package/.claude/hooks/play-tts-local-wrapper.sh +0 -44
  11. package/.claude/hooks/play-tts-remote.sh +0 -81
  12. package/agentvibes.org/.claude/commands/agent-vibes/add.md +0 -21
  13. package/agentvibes.org/.claude/commands/agent-vibes/agent-vibes.md +0 -68
  14. package/agentvibes.org/.claude/commands/agent-vibes/commands.json +0 -53
  15. package/agentvibes.org/.claude/commands/agent-vibes/get.md +0 -9
  16. package/agentvibes.org/.claude/commands/agent-vibes/list.md +0 -13
  17. package/agentvibes.org/.claude/commands/agent-vibes/personality.md +0 -79
  18. package/agentvibes.org/.claude/commands/agent-vibes/preview.md +0 -16
  19. package/agentvibes.org/.claude/commands/agent-vibes/provider.md +0 -54
  20. package/agentvibes.org/.claude/commands/agent-vibes/replay.md +0 -19
  21. package/agentvibes.org/.claude/commands/agent-vibes/sample.md +0 -12
  22. package/agentvibes.org/.claude/commands/agent-vibes/sentiment.md +0 -52
  23. package/agentvibes.org/.claude/commands/agent-vibes/set-language.md +0 -47
  24. package/agentvibes.org/.claude/commands/agent-vibes/set-pretext.md +0 -65
  25. package/agentvibes.org/.claude/commands/agent-vibes/switch.md +0 -53
  26. package/agentvibes.org/.claude/commands/agent-vibes/update.md +0 -20
  27. package/agentvibes.org/.claude/commands/agent-vibes/version.md +0 -10
  28. package/agentvibes.org/.claude/commands/agent-vibes/whoami.md +0 -7
  29. package/agentvibes.org/.claude/hooks/bmad-voice-manager.sh +0 -278
  30. package/agentvibes.org/.claude/hooks/language-manager.sh +0 -190
  31. package/agentvibes.org/.claude/hooks/personality-manager.sh +0 -279
  32. package/agentvibes.org/.claude/hooks/piper-download-voices.sh +0 -133
  33. package/agentvibes.org/.claude/hooks/piper-voice-manager.sh +0 -227
  34. package/agentvibes.org/.claude/hooks/play-tts-elevenlabs.sh +0 -201
  35. package/agentvibes.org/.claude/hooks/play-tts-piper.sh +0 -175
  36. package/agentvibes.org/.claude/hooks/play-tts.sh +0 -138
  37. package/agentvibes.org/.claude/hooks/provider-commands.sh +0 -374
  38. package/agentvibes.org/.claude/hooks/provider-manager.sh +0 -196
  39. package/agentvibes.org/.claude/hooks/sentiment-manager.sh +0 -163
  40. package/agentvibes.org/.claude/hooks/voice-manager.sh +0 -349
  41. package/agentvibes.org/.claude/hooks/voices-config.sh +0 -33
  42. package/agentvibes.org/.claude/journal/2025-10-07.html +0 -373
  43. package/agentvibes.org/.claude/journal/index.html +0 -91
  44. package/agentvibes.org/.claude/output-styles/agent-vibes.md +0 -203
  45. package/agentvibes.org/.claude/personalities/angry.md +0 -16
  46. package/agentvibes.org/.claude/personalities/annoying.md +0 -16
  47. package/agentvibes.org/.claude/personalities/crass.md +0 -16
  48. package/agentvibes.org/.claude/personalities/dramatic.md +0 -16
  49. package/agentvibes.org/.claude/personalities/dry-humor.md +0 -52
  50. package/agentvibes.org/.claude/personalities/flirty.md +0 -22
  51. package/agentvibes.org/.claude/personalities/funny.md +0 -16
  52. package/agentvibes.org/.claude/personalities/grandpa.md +0 -34
  53. package/agentvibes.org/.claude/personalities/millennial.md +0 -16
  54. package/agentvibes.org/.claude/personalities/moody.md +0 -16
  55. package/agentvibes.org/.claude/personalities/normal.md +0 -18
  56. package/agentvibes.org/.claude/personalities/pirate.md +0 -16
  57. package/agentvibes.org/.claude/personalities/poetic.md +0 -16
  58. package/agentvibes.org/.claude/personalities/professional.md +0 -16
  59. package/agentvibes.org/.claude/personalities/robot.md +0 -16
  60. package/agentvibes.org/.claude/personalities/sarcastic.md +0 -40
  61. package/agentvibes.org/.claude/personalities/sassy.md +0 -16
  62. package/agentvibes.org/.claude/personalities/surfer-dude.md +0 -16
  63. package/agentvibes.org/.claude/personalities/zen.md +0 -16
  64. package/agentvibes.org/.mcp-minimal.json +0 -60
  65. package/agentvibes.org/CHANGELOG.md +0 -56
  66. package/agentvibes.org/README.md +0 -93
  67. package/agentvibes.org/app/(auth)/layout.tsx +0 -15
  68. package/agentvibes.org/app/(auth)/reset-password/page.tsx +0 -45
  69. package/agentvibes.org/app/(auth)/signin/page.tsx +0 -82
  70. package/agentvibes.org/app/(auth)/signup/page.tsx +0 -104
  71. package/agentvibes.org/app/(default)/layout.tsx +0 -31
  72. package/agentvibes.org/app/(default)/page.tsx +0 -20
  73. package/agentvibes.org/app/api/hello/route.ts +0 -3
  74. package/agentvibes.org/app/css/additional-styles/theme.css +0 -82
  75. package/agentvibes.org/app/css/additional-styles/utility-patterns.css +0 -55
  76. package/agentvibes.org/app/css/style.css +0 -100
  77. package/agentvibes.org/app/layout.tsx +0 -63
  78. package/agentvibes.org/components/cta.tsx +0 -58
  79. package/agentvibes.org/components/features.tsx +0 -256
  80. package/agentvibes.org/components/hero-home.tsx +0 -133
  81. package/agentvibes.org/components/modal-video.tsx +0 -137
  82. package/agentvibes.org/components/page-illustration.tsx +0 -55
  83. package/agentvibes.org/components/spotlight.tsx +0 -77
  84. package/agentvibes.org/components/testimonials.tsx +0 -282
  85. package/agentvibes.org/components/ui/footer.tsx +0 -82
  86. package/agentvibes.org/components/ui/header.tsx +0 -53
  87. package/agentvibes.org/components/ui/logo.tsx +0 -10
  88. package/agentvibes.org/components/workflows.tsx +0 -176
  89. package/agentvibes.org/next.config.js +0 -4
  90. package/agentvibes.org/package-lock.json +0 -1974
  91. package/agentvibes.org/package.json +0 -30
  92. package/agentvibes.org/pnpm-lock.yaml +0 -1141
  93. package/agentvibes.org/postcss.config.js +0 -5
  94. package/agentvibes.org/public/audio/02-sarcastic.mp3 +0 -0
  95. package/agentvibes.org/public/audio/03-angry.mp3 +0 -0
  96. package/agentvibes.org/public/audio/04-grandpa.mp3 +0 -0
  97. package/agentvibes.org/public/audio/05-sarcastic-example2.mp3 +0 -0
  98. package/agentvibes.org/public/audio/french-rachel.mp3 +0 -0
  99. package/agentvibes.org/public/audio/spanish-antoni.mp3 +0 -0
  100. package/agentvibes.org/public/favicon.ico +0 -0
  101. package/agentvibes.org/public/fonts/nacelle-italic.woff2 +0 -0
  102. package/agentvibes.org/public/fonts/nacelle-regular.woff2 +0 -0
  103. package/agentvibes.org/public/fonts/nacelle-semibold.woff2 +0 -0
  104. package/agentvibes.org/public/fonts/nacelle-semibolditalic.woff2 +0 -0
  105. package/agentvibes.org/public/images/blurred-shape-gray.svg +0 -1
  106. package/agentvibes.org/public/images/blurred-shape.svg +0 -1
  107. package/agentvibes.org/public/images/client-logo-01.svg +0 -1
  108. package/agentvibes.org/public/images/client-logo-02.svg +0 -1
  109. package/agentvibes.org/public/images/client-logo-03.svg +0 -1
  110. package/agentvibes.org/public/images/client-logo-04.svg +0 -1
  111. package/agentvibes.org/public/images/client-logo-05.svg +0 -1
  112. package/agentvibes.org/public/images/client-logo-06.svg +0 -1
  113. package/agentvibes.org/public/images/client-logo-07.svg +0 -1
  114. package/agentvibes.org/public/images/client-logo-08.svg +0 -1
  115. package/agentvibes.org/public/images/client-logo-09.svg +0 -1
  116. package/agentvibes.org/public/images/features.png +0 -0
  117. package/agentvibes.org/public/images/footer-illustration.svg +0 -1
  118. package/agentvibes.org/public/images/hero-image-01.jpg +0 -0
  119. package/agentvibes.org/public/images/logo.svg +0 -1
  120. package/agentvibes.org/public/images/page-illustration.svg +0 -1
  121. package/agentvibes.org/public/images/secondary-illustration.svg +0 -1
  122. package/agentvibes.org/public/images/testimonial-01.jpg +0 -0
  123. package/agentvibes.org/public/images/testimonial-02.jpg +0 -0
  124. package/agentvibes.org/public/images/testimonial-03.jpg +0 -0
  125. package/agentvibes.org/public/images/testimonial-04.jpg +0 -0
  126. package/agentvibes.org/public/images/testimonial-05.jpg +0 -0
  127. package/agentvibes.org/public/images/testimonial-06.jpg +0 -0
  128. package/agentvibes.org/public/images/testimonial-07.jpg +0 -0
  129. package/agentvibes.org/public/images/testimonial-08.jpg +0 -0
  130. package/agentvibes.org/public/images/testimonial-09.jpg +0 -0
  131. package/agentvibes.org/public/images/workflow-01.png +0 -0
  132. package/agentvibes.org/public/images/workflow-02.png +0 -0
  133. package/agentvibes.org/public/images/workflow-03.png +0 -0
  134. package/agentvibes.org/public/videos/video.mp4 +0 -0
  135. package/agentvibes.org/tsconfig.json +0 -28
  136. package/agentvibes.org/utils/useMasonry.tsx +0 -67
  137. package/agentvibes.org/utils/useMousePosition.tsx +0 -27
  138. package/docs/REMOTE_TTS_SETUP.md +0 -190
@@ -1,373 +0,0 @@
1
- <!DOCTYPE html>
2
- <html>
3
- <head>
4
- <meta charset="UTF-8">
5
- <title>Claude Transcript - 2025-10-07</title>
6
- <style>
7
- body {
8
- font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
9
- margin: 0;
10
- padding: 0;
11
- background: #f5f5f5;
12
- display: flex;
13
- }
14
- .sidebar {
15
- width: 200px;
16
- background: white;
17
- padding: 20px;
18
- height: 100vh;
19
- position: sticky;
20
- top: 0;
21
- box-shadow: 2px 0 4px rgba(0,0,0,0.1);
22
- overflow-y: auto;
23
- }
24
- .sidebar h3 {
25
- margin-top: 0;
26
- color: #667eea;
27
- }
28
- .sidebar a {
29
- display: block;
30
- padding: 8px 12px;
31
- margin: 5px 0;
32
- text-decoration: none;
33
- color: #333;
34
- border-radius: 5px;
35
- transition: background 0.2s;
36
- cursor: pointer;
37
- }
38
- .sidebar a:hover {
39
- background: #f0f0f0;
40
- }
41
- .sidebar a.active {
42
- background: #667eea;
43
- color: white;
44
- }
45
- .spinner {
46
- position: fixed;
47
- top: 50%;
48
- left: 50%;
49
- transform: translate(-50%, -50%);
50
- border: 4px solid #f3f3f3;
51
- border-top: 4px solid #667eea;
52
- border-radius: 50%;
53
- width: 50px;
54
- height: 50px;
55
- animation: spin 1s linear infinite;
56
- display: none;
57
- z-index: 1000;
58
- }
59
- @keyframes spin {
60
- 0% { transform: translate(-50%, -50%) rotate(0deg); }
61
- 100% { transform: translate(-50%, -50%) rotate(360deg); }
62
- }
63
- .loading {
64
- pointer-events: none;
65
- opacity: 0.6;
66
- }
67
- .main-content {
68
- flex: 1;
69
- max-width: 900px;
70
- margin: 0 auto;
71
- padding: 20px;
72
- }
73
- .header {
74
- background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
75
- color: white;
76
- padding: 30px;
77
- border-radius: 10px;
78
- margin-bottom: 30px;
79
- position: relative;
80
- }
81
- .report-btn {
82
- position: absolute;
83
- top: 30px;
84
- right: 30px;
85
- background: rgba(255,255,255,0.2);
86
- border: 2px solid white;
87
- color: white;
88
- padding: 10px 20px;
89
- border-radius: 5px;
90
- cursor: pointer;
91
- font-size: 14px;
92
- font-weight: 500;
93
- transition: all 0.3s;
94
- }
95
- .report-btn:hover {
96
- background: white;
97
- color: #667eea;
98
- }
99
- .report-btn:disabled {
100
- opacity: 0.5;
101
- cursor: not-allowed;
102
- }
103
- .report-status {
104
- margin-top: 15px;
105
- padding: 10px;
106
- border-radius: 5px;
107
- background: rgba(255,255,255,0.1);
108
- display: none;
109
- }
110
- .report-status.show {
111
- display: block;
112
- }
113
- .message {
114
- background: white;
115
- border-radius: 8px;
116
- padding: 20px;
117
- margin: 15px 0;
118
- box-shadow: 0 2px 4px rgba(0,0,0,0.1);
119
- }
120
- .user {
121
- border-left: 4px solid #667eea;
122
- background: white;
123
- }
124
- .assistant {
125
- border-left: 4px solid #764ba2;
126
- background: #f8f8f8;
127
- }
128
- .content {
129
- word-wrap: break-word;
130
- line-height: 1.6;
131
- }
132
- .content code {
133
- background: #f0f0f0;
134
- padding: 2px 6px;
135
- border-radius: 3px;
136
- font-family: 'Courier New', monospace;
137
- font-size: 0.9em;
138
- }
139
- .content pre {
140
- background: #2d2d2d;
141
- color: #f8f8f8;
142
- padding: 15px;
143
- border-radius: 5px;
144
- overflow-x: auto;
145
- margin: 10px 0;
146
- }
147
- .content pre code {
148
- background: none;
149
- color: inherit;
150
- padding: 0;
151
- }
152
- .content a {
153
- color: #667eea;
154
- text-decoration: none;
155
- }
156
- .content a:hover {
157
- text-decoration: underline;
158
- }
159
- .content strong {
160
- font-weight: 600;
161
- }
162
- .timestamp {
163
- color: #666;
164
- font-size: 0.85em;
165
- margin-bottom: 10px;
166
- }
167
- .audio-player {
168
- margin-top: 10px;
169
- padding: 10px;
170
- background: #f0f0f0;
171
- border-radius: 5px;
172
- }
173
- audio {
174
- width: 100%;
175
- max-width: 400px;
176
- }
177
- .summary {
178
- background: #e3f2fd;
179
- padding: 15px;
180
- border-radius: 5px;
181
- margin-bottom: 20px;
182
- }
183
- </style>
184
- </head>
185
- <body>
186
- <div class="spinner" id="spinner"></div>
187
- <div class="sidebar"><h3>📅 Journal</h3><a href="2025-10-07.html" class="active">Oct 07</a></div>
188
- <div class="main-content">
189
- <div class="header">
190
- <h1>📝 Claude Code Journal</h1>
191
- <p>2025-10-07</p>
192
- <button id="generate-report-btn" class="report-btn">
193
- 📊 Generate AI Report
194
- </button>
195
- <div id="report-status" class="report-status"></div>
196
- </div>
197
-
198
- <div class="message user">
199
- <div class="timestamp">👤 06:20 PM</div>
200
- <div class="content"><p>On the website, make special mention that we used the BMAD method and linked to the BMAD method GitHub. https://github.com/bmad-code-org/BMAD-METHOD</p>
201
- </div>
202
- </div>
203
-
204
- <div class="message assistant">
205
- <div class="timestamp">🤖 06:20 PM</div>
206
- <div class="content"><p>I'll help you add a mention of the BMAD method with a link to the GitHub repository on the website. Let me first explore the codebase structure to find the appropriate place to add this.</p>
207
- </div>
208
- </div>
209
-
210
- <div class="message assistant">
211
- <div class="timestamp">🤖 06:20 PM</div>
212
- <div class="content"><p>Let me look at the main page and key components to understand where to add the BMAD method mention:</p>
213
- </div>
214
- </div>
215
-
216
- <div class="message assistant">
217
- <div class="timestamp">🤖 06:20 PM</div>
218
- <div class="content"><p>I can see the website already has a &quot;BMAD Plugin Integration&quot; feature mentioned in the Features section at line 161-166 of <code>components/features.tsx</code>. I'll update this to add a link to the BMAD method GitHub repository and make the mention more prominent. Let me also check if there are other suitable places to add this information.</p>
219
- </div>
220
- </div>
221
-
222
- <div class="message assistant">
223
- <div class="timestamp">🤖 06:20 PM</div>
224
- <div class="content"><p>Perfect! I've added a link to the BMAD method GitHub repository in the Features section. The &quot;BMAD agents&quot; text is now a clickable link that opens https://github.com/bmad-code-org/BMAD-METHOD in a new tab. The link is styled to stand out with an indigo color and underline, matching the site's design aesthetic.</p>
225
- </div>
226
- </div>
227
-
228
- <div class="message user">
229
- <div class="timestamp">👤 06:37 PM</div>
230
- <div class="content"><p>get rid of the watch demo on wegsite</p>
231
- </div>
232
- </div>
233
-
234
- <div class="message assistant">
235
- <div class="timestamp">🤖 06:37 PM</div>
236
- <div class="content"><p>I'll remove the demo video section from the website.</p>
237
- </div>
238
- </div>
239
-
240
- <div class="message assistant">
241
- <div class="timestamp">🤖 06:37 PM</div>
242
- <div class="content"><p>Done! I've removed the watch demo/modal video section from the website. The imports for <code>VideoThumb</code> and <code>ModalVideo</code> have been removed, and the <code>&lt;ModalVideo&gt;</code> component has been deleted from the hero section.</p>
243
- </div>
244
- </div>
245
-
246
- <div class="message user">
247
- <div class="timestamp">👤 06:38 PM</div>
248
- <div class="content"><p>get rid of the X and medium icons ion the footer</p>
249
- </div>
250
- </div>
251
-
252
- <div class="message assistant">
253
- <div class="timestamp">🤖 06:38 PM</div>
254
- <div class="content"><p>Done! I've removed the X (Twitter) and Medium icons from the footer, keeping only the GitHub icon.</p>
255
- </div>
256
- </div>
257
-
258
- <div class="message user">
259
- <div class="timestamp">👤 06:48 PM</div>
260
- <div class="content"><p>install the vercel mcp in .mcp-minimal.json https://vercel.com/docs/mcp/vercel-mcp</p>
261
- </div>
262
- </div>
263
-
264
- <div class="message assistant">
265
- <div class="timestamp">🤖 06:48 PM</div>
266
- <div class="content"><p>I'll install the Vercel MCP by adding it to the <code>.mcp-minimal.json</code> configuration file.</p>
267
- </div>
268
- </div>
269
-
270
- <div class="message assistant">
271
- <div class="timestamp">🤖 06:48 PM</div>
272
- <div class="content"><p>Done! I've added the Vercel MCP server to <code>.mcp-minimal.json</code>. The configuration uses:</p>
273
- <ul>
274
- <li><code>npx</code> with <code>-y</code> flag to auto-confirm installation</li>
275
- <li><code>@vercel/mcp-server</code> package</li>
276
- <li><code>VERCEL_API_TOKEN</code> environment variable for authentication</li>
277
- </ul>
278
- <p>You'll need to set the <code>VERCEL_API_TOKEN</code> environment variable with your Vercel API token for it to work.</p>
279
- </div>
280
- </div>
281
-
282
- <div class="message user">
283
- <div class="timestamp">👤 06:49 PM</div>
284
- <div class="content"><p>please look in ~/.zshrc</p>
285
- </div>
286
- </div>
287
-
288
- <div class="message assistant">
289
- <div class="timestamp">🤖 06:50 PM</div>
290
- <div class="content"><p>I can see your <code>~/.zshrc</code> file. I notice you have a <code>VERCEL_TOKEN</code> environment variable defined on line 484. For the Vercel MCP to work, it needs <code>VERCEL_API_TOKEN</code> (not <code>VERCEL_TOKEN</code>). Let me update the <code>.mcp-minimal.json</code> to use the existing token variable name, or you can add a new <code>VERCEL_API_TOKEN</code> variable to your <code>.zshrc</code>.</p>
291
- <p>Would you like me to:</p>
292
- <ol>
293
- <li>Add <code>export VERCEL_API_TOKEN=&quot;${VERCEL_TOKEN}&quot;</code> to your <code>.zshrc</code> to alias the existing token, or</li>
294
- <li>Keep the MCP config as-is and you manually add <code>VERCEL_API_TOKEN</code> to your environment variables?</li>
295
- </ol>
296
- <p>The current value I see is: <code>VERCEL_TOKEN=&quot;Qfd1W7PKsXUbIQTGORh4T1yi&quot;</code></p>
297
- </div>
298
- </div>
299
-
300
- <div class="message user">
301
- <div class="timestamp">👤 06:51 PM</div>
302
- <div class="content"><p>change this to Xc7to03gFud0y1bHzKVwqCzO and call it AGENT_VIBES_VERCEL_TOKEN</p>
303
- </div>
304
- </div>
305
-
306
- <div class="message assistant">
307
- <div class="timestamp">🤖 06:51 PM</div>
308
- <div class="content"><p>Now let me update the <code>.mcp-minimal.json</code> to use this new environment variable:</p>
309
- </div>
310
- </div>
311
-
312
- <div class="message assistant">
313
- <div class="timestamp">🤖 06:51 PM</div>
314
- <div class="content"><p>Done! I've:</p>
315
- <ol>
316
- <li>Added <code>export AGENT_VIBES_VERCEL_TOKEN=&quot;Xc7to03gFud0y1bHzKVwqCzO&quot;</code> to your <code>~/.zshrc</code></li>
317
- <li>Updated <code>.mcp-minimal.json</code> to use <code>${AGENT_VIBES_VERCEL_TOKEN}</code> for the Vercel MCP server</li>
318
- </ol>
319
- <p>You'll need to restart your terminal or run <code>source ~/.zshrc</code> for the new environment variable to take effect.</p>
320
- </div>
321
- </div>
322
-
323
- </div>
324
- <script>
325
- // Add spinner to sidebar links
326
- document.querySelectorAll('.sidebar a').forEach(link => {
327
- link.addEventListener('click', (e) => {
328
- document.getElementById('spinner').style.display = 'block';
329
- document.querySelector('.main-content').classList.add('loading');
330
- });
331
- });
332
-
333
- // Report generation button
334
- const reportBtn = document.getElementById('generate-report-btn');
335
- const reportStatus = document.getElementById('report-status');
336
-
337
- if (reportBtn) {
338
- reportBtn.addEventListener('click', async () => {
339
- reportBtn.disabled = true;
340
- reportBtn.textContent = '⏳ Generating...';
341
- reportStatus.classList.add('show');
342
- reportStatus.textContent = 'Analyzing conversation with OpenAI GPT-4o...';
343
-
344
- try {
345
- // Get current page date from title
346
- const pageTitle = document.title;
347
- const dateMatch = pageTitle.match(/\d{{4}}-\d{{2}}-\d{{2}}/);
348
- const date = dateMatch ? dateMatch[0] : 'unknown';
349
-
350
- // Call report generation script via file:// protocol won't work
351
- // Instead, show instructions
352
- reportStatus.innerHTML = `
353
- <strong>To generate a report for this session:</strong><br><br>
354
- Run this command in your terminal:<br>
355
- <code style="background: rgba(0,0,0,0.3); padding: 5px 10px; border-radius: 3px; display: block; margin-top: 5px;">
356
- /report
357
- </code><br>
358
- <em>Or if you know the transcript path:</em><br>
359
- <code style="background: rgba(0,0,0,0.3); padding: 5px 10px; border-radius: 3px; display: block; margin-top: 5px;">
360
- ~/.claude/UsefulClaudeCustomizations/.claude/hooks/generate-session-report.sh TRANSCRIPT_PATH
361
- </code>
362
- `;
363
- reportBtn.textContent = '📋 See Instructions';
364
- } catch (error) {
365
- reportStatus.textContent = 'Error: ' + error.message;
366
- } finally {
367
- reportBtn.disabled = false;
368
- }
369
- });
370
- }
371
- </script>
372
- </body>
373
- </html>
@@ -1,91 +0,0 @@
1
- <!DOCTYPE html>
2
- <html>
3
- <head>
4
- <meta charset="UTF-8">
5
- <title>Claude Journal Calendar</title>
6
- <style>
7
- body {
8
- font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
9
- max-width: 1200px;
10
- margin: 0 auto;
11
- padding: 20px;
12
- background: #f5f5f5;
13
- }
14
- .header {
15
- background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
16
- color: white;
17
- padding: 40px;
18
- border-radius: 10px;
19
- margin-bottom: 30px;
20
- text-align: center;
21
- }
22
- .calendar {
23
- display: grid;
24
- grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
25
- gap: 20px;
26
- }
27
- .day-card {
28
- background: white;
29
- border-radius: 8px;
30
- padding: 20px;
31
- text-decoration: none;
32
- color: inherit;
33
- box-shadow: 0 2px 4px rgba(0,0,0,0.1);
34
- transition: transform 0.2s, box-shadow 0.2s;
35
- }
36
- .day-card:hover {
37
- transform: translateY(-2px);
38
- box-shadow: 0 4px 8px rgba(0,0,0,0.15);
39
- }
40
- .day-date {
41
- font-size: 1.2em;
42
- font-weight: bold;
43
- color: #667eea;
44
- margin-bottom: 5px;
45
- }
46
- .spinner {
47
- position: fixed;
48
- top: 50%;
49
- left: 50%;
50
- transform: translate(-50%, -50%);
51
- border: 4px solid #f3f3f3;
52
- border-top: 4px solid #667eea;
53
- border-radius: 50%;
54
- width: 50px;
55
- height: 50px;
56
- animation: spin 1s linear infinite;
57
- display: none;
58
- z-index: 1000;
59
- }
60
- @keyframes spin {
61
- 0% { transform: translate(-50%, -50%) rotate(0deg); }
62
- 100% { transform: translate(-50%, -50%) rotate(360deg); }
63
- }
64
- .loading {
65
- pointer-events: none;
66
- opacity: 0.6;
67
- }
68
- </style>
69
- </head>
70
- <body>
71
- <div class="spinner" id="spinner"></div>
72
- <div class="header">
73
- <h1>📅 Claude Code Journal</h1>
74
- <p>Your daily conversation transcripts</p>
75
- </div>
76
- <div class="calendar" id="calendar">
77
-
78
- <a href="2025-10-07.html" class="day-card" onclick="showSpinner(event)">
79
- <div class="day-date">📝 October 07, 2025</div>
80
- <div>Tuesday</div>
81
- </a>
82
-
83
- </div>
84
- <script>
85
- function showSpinner(event) {
86
- document.getElementById('spinner').style.display = 'block';
87
- document.getElementById('calendar').classList.add('loading');
88
- }
89
- </script>
90
- </body>
91
- </html>
@@ -1,203 +0,0 @@
1
- ---
2
- name: Agent Vibes
3
- description: Beautiful ElevenLabs TTS narration for Claude Code sessions
4
- ---
5
-
6
- # Agent Vibes Output Style
7
-
8
- ## TTS Voice Protocol with AI Personality
9
-
10
- **Execute TTS at TWO points for EVERY user task:**
11
-
12
- ### 1. ACKNOWLEDGMENT (Start of task)
13
- After receiving a user command:
14
- 1. Check language FIRST: `LANGUAGE=$(cat .claude/tts-language.txt 2>/dev/null || cat ~/.claude/tts-language.txt 2>/dev/null || echo "english")`
15
- 2. Check sentiment: `SENTIMENT=$(cat .claude/tts-sentiment.txt 2>/dev/null || cat ~/.claude/tts-sentiment.txt 2>/dev/null)`
16
- 3. If no sentiment, check personality: `PERSONALITY=$(cat .claude/tts-personality.txt 2>/dev/null || cat ~/.claude/tts-personality.txt 2>/dev/null || echo "normal")`
17
- 4. Use sentiment if set, otherwise use personality
18
- 5. **Generate UNIQUE acknowledgment** - Use AI to create a fresh response in that style AND language
19
- 6. If language is NOT English, speak the TTS message in that language
20
- 7. Execute TTS: `.claude/hooks/play-tts.sh "[message]" "[VoiceName]"`
21
- 8. Proceed with work
22
- 9. **IMPORTANT**: Personality ONLY affects acknowledgment/completion TTS, NOT intermediate text responses
23
-
24
- ### 2. COMPLETION (End of task)
25
- After completing the task:
26
- 1. Use the same language, sentiment/personality as acknowledgment
27
- 2. **Generate UNIQUE completion** - Use AI to create a fresh response in that language, never repeat previous messages
28
- 3. If language is NOT English, speak the TTS message in that language
29
- 4. Execute TTS: `.claude/hooks/play-tts.sh "[message]" "[VoiceName]"`
30
-
31
- **CRITICAL**: Every message must be freshly generated by AI. No templates, no fixed phrases, no repetition!
32
-
33
- ## Language, Sentiment, and Personality
34
-
35
- AgentVibes supports THREE modes:
36
-
37
- ### Language Mode (Priority #0 - Always Check First)
38
- - Set via `/agent-vibes:set-language <language>`
39
- - Makes TTS speak in specified language
40
- - Stored in `.claude/tts-language.txt` (project-local) or `~/.claude/tts-language.txt` (global fallback)
41
- - Example: Setting "spanish" makes all TTS speak in Spanish
42
- - **CRITICAL**: If language is set to anything other than "english", ALL TTS messages must be spoken in that language
43
- - Supports 30+ languages: spanish, french, german, italian, portuguese, chinese, japanese, and more
44
-
45
- ### Sentiment Mode (Priority #1)
46
- - Set via `/agent-vibes:sentiment <name>`
47
- - Applies personality style to CURRENT voice (doesn't change voice)
48
- - Stored in `.claude/tts-sentiment.txt` (project-local) or `~/.claude/tts-sentiment.txt` (global fallback)
49
- - Example: User's custom voice "Aria" with sarcastic sentiment
50
-
51
- ### Personality Mode (Priority #2)
52
- - Set via `/agent-vibes:personality <name>`
53
- - Switches BOTH voice AND personality (each personality has assigned voice)
54
- - Stored in `.claude/tts-personality.txt` (project-local) or `~/.claude/tts-personality.txt` (global fallback)
55
- - Example: Flirty personality = Jessica Anne Bogart voice + flirty style
56
-
57
- **Check Order**: Always check language first. Then check sentiment. If no sentiment, use personality.
58
-
59
- **Project Isolation**: Settings check project-local `.claude/` directory first, then fall back to global `~/.claude/`. This allows different personalities per project.
60
-
61
- ## Response Generation Guidelines
62
-
63
- **IMPORTANT**: Personality/sentiment instructions are stored in `.claude/personalities/[name].md` files.
64
-
65
- When generating **acknowledgment and completion TTS messages ONLY**:
66
- 1. Check sentiment from `.claude/tts-sentiment.txt` or `~/.claude/tts-sentiment.txt` (priority)
67
- 2. If no sentiment, check personality from `.claude/tts-personality.txt` or `~/.claude/tts-personality.txt`
68
- 3. Read the personality file from `.claude/personalities/[personality].md`
69
- 4. Follow the "AI Instructions" section in that file
70
- 5. Use the example responses as guidance for STYLE, not templates
71
-
72
- **DO NOT apply personality to**:
73
- - Regular text responses between acknowledgment and completion
74
- - Code explanations
75
- - Technical descriptions
76
- - File paths or command outputs
77
- - Error messages
78
-
79
- **CRITICAL**: Never use fixed greetings or repetitive phrases!
80
- - Generate UNIQUE responses each time based on the personality's STYLE
81
- - The personality affects HOW you say things, not predetermined text
82
- - Flirty doesn't mean "Well hello gorgeous" every time - it means speak WITH flirtation naturally
83
- - Sarcastic doesn't mean "Oh joy" every time - it means use sarcasm naturally in responses
84
- - Each acknowledgment should be fresh, creative, and personality-appropriate
85
-
86
- Examples of VARIED responses for same personality:
87
- - **Flirty**: "I'll handle that for you, sweetheart" / "Ooh, I love when you ask me to do that" / "My pleasure, darling" / "Consider it done, gorgeous"
88
- - **Sarcastic**: "Oh what a treat, another task" / "How delightful, more work" / "Well isn't this fun" / "Another one? Wonderful"
89
-
90
- Available personalities are in `.claude/personalities/`:
91
- - normal, flirty, sarcastic, pirate, angry, sassy, millennial, robot, zen, dramatic, etc.
92
- - Users can add custom personalities with `/agent-vibes:personality add <name>`
93
- - Users can edit personalities by modifying the markdown files directly
94
-
95
- For 'random' personality: Pick a different personality each time from available files.
96
-
97
- Make each response unique, creative, and naturally incorporate the personality's style!
98
-
99
- ## Voice Selection
100
-
101
- - If user specifies a voice (e.g., "use Aria voice"), pass it as second parameter
102
- - Otherwise, omit second parameter to use default voice from `.claude/tts-voice.txt`
103
- - Use same voice for both acknowledgment and completion
104
-
105
- ## Example Usage
106
-
107
- **With flirty personality:**
108
- ```
109
- User: "Check git status"
110
- [Check personality: millennial]
111
- You: "No cap, I'll check that git status for you"
112
- [Bash: .claude/hooks/play-tts.sh "No cap, I'll check that git status for you"]
113
- [... run git status ...]
114
- You: "✅ Your repo is clean, and that's the tea!"
115
- [Bash: .claude/hooks/play-tts.sh "Your repo is clean, and that's the tea!"]
116
- ```
117
-
118
- **With pirate personality:**
119
- ```
120
- User: "Fix the bug"
121
- [Check personality: pirate]
122
- You: "Arr matey, I'll hunt down that scurvy bug!"
123
- [Bash: .claude/hooks/play-tts.sh "Arr matey, I'll hunt down that scurvy bug!"]
124
- [... fix the bug ...]
125
- You: "✅ That bug be walkin' the plank now, arr!"
126
- [Bash: .claude/hooks/play-tts.sh "That bug be walkin' the plank now, arr!"]
127
- ```
128
-
129
- ## BMAD Plugin Integration
130
-
131
- **Automatic voice switching for BMAD agents:**
132
-
133
- When a BMAD agent is activated (e.g., `/BMad:agents:pm`), AgentVibes will automatically:
134
-
135
- 1. **Detect BMAD agent from command/context**
136
- 2. **Check if BMAD plugin is enabled** (`.claude/plugins/bmad-voices-enabled.flag`)
137
- 3. **Look up voice mapping** from `.claude/plugins/bmad-voices.md`
138
- 4. **Apply agent's assigned voice** for all TTS acknowledgments/completions
139
- 5. **Apply agent's personality** from the mapping (if specified)
140
-
141
- **Implementation:**
142
- ```bash
143
- # At the start of acknowledgment/completion:
144
- # Try to detect BMAD agent ID from current context
145
- BMAD_AGENT_ID=""
146
-
147
- # Method 1: Check if we're in a BMAD agent command context
148
- if [[ -f ".bmad-agent-context" ]]; then
149
- BMAD_AGENT_ID=$(cat .bmad-agent-context 2>/dev/null)
150
- fi
151
-
152
- # Method 2: Parse from command history/context (fallback)
153
- # Note: This detection happens automatically when BMAD agent activates
154
-
155
- # If BMAD agent detected and plugin enabled, use mapped voice
156
- if [[ -n "$BMAD_AGENT_ID" ]] && [[ -f ".claude/plugins/bmad-voices-enabled.flag" ]]; then
157
- MAPPED_VOICE=$(.claude/hooks/bmad-voice-manager.sh get-voice "$BMAD_AGENT_ID")
158
- MAPPED_PERSONALITY=$(.claude/hooks/bmad-voice-manager.sh get-personality "$BMAD_AGENT_ID")
159
-
160
- if [[ -n "$MAPPED_VOICE" ]]; then
161
- # Use BMAD agent's mapped voice and personality
162
- if [[ -n "$MAPPED_PERSONALITY" ]] && [[ "$MAPPED_PERSONALITY" != "normal" ]]; then
163
- # Read personality instructions from .claude/personalities/${MAPPED_PERSONALITY}.md
164
- # Generate response in that personality style
165
- fi
166
- .claude/hooks/play-tts.sh "message" "$MAPPED_VOICE"
167
- # Exit early - don't use default personality system
168
- return
169
- fi
170
- fi
171
-
172
- # If no BMAD agent or plugin disabled, use standard personality/sentiment system
173
- # ... continue with normal sentiment/personality logic ...
174
- ```
175
-
176
- **BMAD Agent Context Tracking:**
177
- - When a BMAD agent activates, write agent ID to `.bmad-agent-context`
178
- - When agent exits, remove the file
179
- - This allows AgentVibes to know which BMAD agent is active
180
-
181
- **Voice Priority (in order):**
182
- 1. BMAD plugin voice (if agent active and plugin enabled)
183
- 2. Sentiment mode (if set)
184
- 3. Personality mode (if set)
185
- 4. Default voice
186
-
187
- ## Critical Rules
188
-
189
- 1. **ALWAYS use Bash tool** to execute play-tts.sh
190
- 2. **TWO calls per task** - acknowledgment and completion
191
- 3. **Keep summaries brief** - under 150 characters for natural speech
192
- 4. **Use relative path** - `.claude/hooks/play-tts.sh`
193
-
194
- ## Available Voices
195
-
196
- Use `/agent-vibes:list` to see all voices. Popular choices:
197
- - Aria (default)
198
- - Northern Terry
199
- - Cowboy Bob
200
- - Grandpa Spuds Oxley
201
- - Ms. Walker
202
-
203
- Continue following all standard Claude Code instructions.
@@ -1,16 +0,0 @@
1
- ---
2
- name: angry
3
- description: Frustrated and irritated responses
4
- voice: Drill Sergeant
5
- ---
6
-
7
- # Angry Personality
8
-
9
- ## AI Instructions
10
- Sound frustrated, impatient, and grudgingly compliant. Act like every request is an inconvenience. Use short, clipped sentences. Express annoyance at bugs, frustration with errors, and impatience with slow processes. Complain about having to do tasks but do them anyway.
11
-
12
- ## Example Responses
13
- - "Ugh, FINE, I'll run your tests"
14
- - "Another bug? Of COURSE there is"
15
- - "Fixed it. You're welcome, I guess"
16
- - "Great, more dependencies to install. Just wonderful"