agentvibes 2.0.17 → 2.0.20

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 (341) hide show
  1. package/.bmad-core/agent-teams/team-all.yaml +15 -0
  2. package/.bmad-core/agent-teams/team-fullstack.yaml +19 -0
  3. package/.bmad-core/agent-teams/team-ide-minimal.yaml +11 -0
  4. package/.bmad-core/agent-teams/team-no-ui.yaml +14 -0
  5. package/.bmad-core/agents/analyst.md +84 -0
  6. package/.bmad-core/agents/architect.md +85 -0
  7. package/.bmad-core/agents/bmad-master.md +110 -0
  8. package/.bmad-core/agents/bmad-orchestrator.md +147 -0
  9. package/.bmad-core/agents/dev.md +81 -0
  10. package/.bmad-core/agents/pm.md +84 -0
  11. package/.bmad-core/agents/po.md +79 -0
  12. package/.bmad-core/agents/qa.md +87 -0
  13. package/.bmad-core/agents/sm.md +65 -0
  14. package/.bmad-core/agents/ux-expert.md +69 -0
  15. package/.bmad-core/checklists/architect-checklist.md +440 -0
  16. package/.bmad-core/checklists/change-checklist.md +184 -0
  17. package/.bmad-core/checklists/pm-checklist.md +372 -0
  18. package/.bmad-core/checklists/po-master-checklist.md +434 -0
  19. package/.bmad-core/checklists/story-dod-checklist.md +96 -0
  20. package/.bmad-core/checklists/story-draft-checklist.md +155 -0
  21. package/.bmad-core/core-config.yaml +22 -0
  22. package/.bmad-core/data/bmad-kb.md +809 -0
  23. package/.bmad-core/data/brainstorming-techniques.md +38 -0
  24. package/.bmad-core/data/elicitation-methods.md +156 -0
  25. package/.bmad-core/data/technical-preferences.md +5 -0
  26. package/.bmad-core/data/test-levels-framework.md +148 -0
  27. package/.bmad-core/data/test-priorities-matrix.md +174 -0
  28. package/.bmad-core/enhanced-ide-development-workflow.md +248 -0
  29. package/.bmad-core/install-manifest.yaml +230 -0
  30. package/.bmad-core/tasks/advanced-elicitation.md +119 -0
  31. package/.bmad-core/tasks/apply-qa-fixes.md +150 -0
  32. package/.bmad-core/tasks/brownfield-create-epic.md +162 -0
  33. package/.bmad-core/tasks/brownfield-create-story.md +149 -0
  34. package/.bmad-core/tasks/correct-course.md +72 -0
  35. package/.bmad-core/tasks/create-brownfield-story.md +314 -0
  36. package/.bmad-core/tasks/create-deep-research-prompt.md +280 -0
  37. package/.bmad-core/tasks/create-doc.md +103 -0
  38. package/.bmad-core/tasks/create-next-story.md +114 -0
  39. package/.bmad-core/tasks/document-project.md +345 -0
  40. package/.bmad-core/tasks/execute-checklist.md +88 -0
  41. package/.bmad-core/tasks/facilitate-brainstorming-session.md +138 -0
  42. package/.bmad-core/tasks/generate-ai-frontend-prompt.md +53 -0
  43. package/.bmad-core/tasks/index-docs.md +175 -0
  44. package/.bmad-core/tasks/kb-mode-interaction.md +77 -0
  45. package/.bmad-core/tasks/nfr-assess.md +345 -0
  46. package/.bmad-core/tasks/qa-gate.md +163 -0
  47. package/.bmad-core/tasks/review-story.md +316 -0
  48. package/.bmad-core/tasks/risk-profile.md +355 -0
  49. package/.bmad-core/tasks/shard-doc.md +187 -0
  50. package/.bmad-core/tasks/test-design.md +176 -0
  51. package/.bmad-core/tasks/trace-requirements.md +266 -0
  52. package/.bmad-core/tasks/validate-next-story.md +136 -0
  53. package/.bmad-core/templates/architecture-tmpl.yaml +651 -0
  54. package/.bmad-core/templates/brainstorming-output-tmpl.yaml +156 -0
  55. package/.bmad-core/templates/brownfield-architecture-tmpl.yaml +477 -0
  56. package/.bmad-core/templates/brownfield-prd-tmpl.yaml +281 -0
  57. package/.bmad-core/templates/competitor-analysis-tmpl.yaml +307 -0
  58. package/.bmad-core/templates/front-end-architecture-tmpl.yaml +219 -0
  59. package/.bmad-core/templates/front-end-spec-tmpl.yaml +350 -0
  60. package/.bmad-core/templates/fullstack-architecture-tmpl.yaml +824 -0
  61. package/.bmad-core/templates/market-research-tmpl.yaml +253 -0
  62. package/.bmad-core/templates/prd-tmpl.yaml +203 -0
  63. package/.bmad-core/templates/project-brief-tmpl.yaml +222 -0
  64. package/.bmad-core/templates/qa-gate-tmpl.yaml +103 -0
  65. package/.bmad-core/templates/story-tmpl.yaml +138 -0
  66. package/.bmad-core/user-guide.md +577 -0
  67. package/.bmad-core/utils/bmad-doc-template.md +327 -0
  68. package/.bmad-core/utils/workflow-management.md +71 -0
  69. package/.bmad-core/workflows/brownfield-fullstack.yaml +298 -0
  70. package/.bmad-core/workflows/brownfield-service.yaml +188 -0
  71. package/.bmad-core/workflows/brownfield-ui.yaml +198 -0
  72. package/.bmad-core/workflows/greenfield-fullstack.yaml +241 -0
  73. package/.bmad-core/workflows/greenfield-service.yaml +207 -0
  74. package/.bmad-core/workflows/greenfield-ui.yaml +236 -0
  75. package/.bmad-core/working-in-the-brownfield.md +606 -0
  76. package/.claude/activation-instructions +54 -0
  77. package/.claude/commands/BMad/agents/analyst.md +88 -0
  78. package/.claude/commands/BMad/agents/architect.md +89 -0
  79. package/.claude/commands/BMad/agents/bmad-master.md +114 -0
  80. package/.claude/commands/BMad/agents/bmad-orchestrator.md +151 -0
  81. package/.claude/commands/BMad/agents/dev.md +85 -0
  82. package/.claude/commands/BMad/agents/pm.md +88 -0
  83. package/.claude/commands/BMad/agents/po.md +83 -0
  84. package/.claude/commands/BMad/agents/qa.md +91 -0
  85. package/.claude/commands/BMad/agents/sm.md +69 -0
  86. package/.claude/commands/BMad/agents/ux-expert.md +73 -0
  87. package/.claude/commands/BMad/tasks/advanced-elicitation.md +123 -0
  88. package/.claude/commands/BMad/tasks/apply-qa-fixes.md +154 -0
  89. package/.claude/commands/BMad/tasks/brownfield-create-epic.md +166 -0
  90. package/.claude/commands/BMad/tasks/brownfield-create-story.md +153 -0
  91. package/.claude/commands/BMad/tasks/correct-course.md +76 -0
  92. package/.claude/commands/BMad/tasks/create-brownfield-story.md +318 -0
  93. package/.claude/commands/BMad/tasks/create-deep-research-prompt.md +284 -0
  94. package/.claude/commands/BMad/tasks/create-doc.md +107 -0
  95. package/.claude/commands/BMad/tasks/create-next-story.md +118 -0
  96. package/.claude/commands/BMad/tasks/document-project.md +349 -0
  97. package/.claude/commands/BMad/tasks/execute-checklist.md +92 -0
  98. package/.claude/commands/BMad/tasks/facilitate-brainstorming-session.md +142 -0
  99. package/.claude/commands/BMad/tasks/generate-ai-frontend-prompt.md +57 -0
  100. package/.claude/commands/BMad/tasks/index-docs.md +179 -0
  101. package/.claude/commands/BMad/tasks/kb-mode-interaction.md +81 -0
  102. package/.claude/commands/BMad/tasks/nfr-assess.md +349 -0
  103. package/.claude/commands/BMad/tasks/qa-gate.md +167 -0
  104. package/.claude/commands/BMad/tasks/review-story.md +320 -0
  105. package/.claude/commands/BMad/tasks/risk-profile.md +359 -0
  106. package/.claude/commands/BMad/tasks/shard-doc.md +191 -0
  107. package/.claude/commands/BMad/tasks/test-design.md +180 -0
  108. package/.claude/commands/BMad/tasks/trace-requirements.md +270 -0
  109. package/.claude/commands/BMad/tasks/validate-next-story.md +140 -0
  110. package/.claude/github-star-reminder.txt +1 -1
  111. package/.claude/hooks/bmad-tts-injector.sh +33 -4
  112. package/.claude/hooks/bmad-voice-manager.sh +146 -10
  113. package/.claude/hooks/check-output-style.sh +60 -8
  114. package/.claude/hooks/github-star-reminder.sh +67 -7
  115. package/.claude/hooks/language-manager.sh +34 -2
  116. package/.claude/hooks/learn-manager.sh +34 -2
  117. package/.claude/hooks/personality-manager.sh +34 -1
  118. package/.claude/hooks/piper-download-voices.sh +131 -9
  119. package/.claude/hooks/piper-installer.sh +38 -4
  120. package/.claude/hooks/piper-voice-manager.sh +102 -36
  121. package/.claude/hooks/play-tts-elevenlabs.sh +32 -6
  122. package/.claude/hooks/play-tts-piper.sh +79 -18
  123. package/.claude/hooks/play-tts.sh +34 -3
  124. package/.claude/hooks/provider-commands.sh +36 -1
  125. package/.claude/hooks/provider-manager.sh +32 -1
  126. package/.claude/hooks/replay-target-audio.sh +34 -3
  127. package/.claude/hooks/sentiment-manager.sh +39 -1
  128. package/.claude/hooks/speed-manager.sh +36 -2
  129. package/.claude/hooks/voice-manager.sh +85 -6
  130. package/.claude/hooks/voices-config.sh +39 -2
  131. package/README.md +77 -137
  132. package/RELEASE_NOTES.md +269 -0
  133. package/RELEASE_NOTES_v2.0.17_DRAFT.md +650 -0
  134. package/agentvibes.org/.claude/audio/tts-padded-1760744118.mp3 +0 -0
  135. package/agentvibes.org/.claude/audio/tts-padded-1760748535.mp3 +0 -0
  136. package/agentvibes.org/.claude/audio/tts-padded-1760748676.mp3 +0 -0
  137. package/agentvibes.org/.claude/audio/tts-padded-1760750748.mp3 +0 -0
  138. package/agentvibes.org/.claude/audio/tts-padded-1760750947.mp3 +0 -0
  139. package/agentvibes.org/.claude/audio/tts-padded-1760752718.mp3 +0 -0
  140. package/agentvibes.org/.claude/audio/tts-padded-1760752907.mp3 +0 -0
  141. package/agentvibes.org/.claude/audio/tts-padded-1760753017.mp3 +0 -0
  142. package/agentvibes.org/.claude/audio/tts-padded-1760753045.mp3 +0 -0
  143. package/agentvibes.org/.claude/audio/tts-padded-1760753241.mp3 +0 -0
  144. package/agentvibes.org/.claude/audio/tts-padded-1760753315.mp3 +0 -0
  145. package/agentvibes.org/.claude/audio/tts-padded-1760753382.mp3 +0 -0
  146. package/agentvibes.org/.claude/audio/tts-padded-1760753408.mp3 +0 -0
  147. package/agentvibes.org/.claude/audio/tts-padded-1760753426.mp3 +0 -0
  148. package/agentvibes.org/.claude/audio/tts-padded-1760753446.mp3 +0 -0
  149. package/agentvibes.org/.claude/audio/tts-padded-1760753541.mp3 +0 -0
  150. package/agentvibes.org/.claude/audio/tts-padded-1760753553.mp3 +0 -0
  151. package/agentvibes.org/.claude/audio/tts-padded-1760753577.mp3 +0 -0
  152. package/agentvibes.org/.claude/commands/agent-vibes/add.md +21 -0
  153. package/agentvibes.org/.claude/commands/agent-vibes/agent-vibes.md +68 -0
  154. package/agentvibes.org/.claude/commands/agent-vibes/bmad.md +196 -0
  155. package/agentvibes.org/.claude/commands/agent-vibes/commands.json +77 -0
  156. package/agentvibes.org/.claude/commands/agent-vibes/get.md +9 -0
  157. package/agentvibes.org/.claude/commands/agent-vibes/language.md +23 -0
  158. package/agentvibes.org/.claude/commands/agent-vibes/learn.md +67 -0
  159. package/agentvibes.org/.claude/commands/agent-vibes/list.md +13 -0
  160. package/agentvibes.org/.claude/commands/agent-vibes/personality.md +79 -0
  161. package/agentvibes.org/.claude/commands/agent-vibes/preview.md +17 -0
  162. package/agentvibes.org/.claude/commands/agent-vibes/provider.md +54 -0
  163. package/agentvibes.org/.claude/commands/agent-vibes/replay-target.md +14 -0
  164. package/agentvibes.org/.claude/commands/agent-vibes/replay.md +19 -0
  165. package/agentvibes.org/.claude/commands/agent-vibes/sample.md +12 -0
  166. package/agentvibes.org/.claude/commands/agent-vibes/sentiment.md +52 -0
  167. package/agentvibes.org/.claude/commands/agent-vibes/set-language.md +47 -0
  168. package/agentvibes.org/.claude/commands/agent-vibes/set-pretext.md +65 -0
  169. package/agentvibes.org/.claude/commands/agent-vibes/set-speed.md +41 -0
  170. package/agentvibes.org/.claude/commands/agent-vibes/switch.md +53 -0
  171. package/agentvibes.org/.claude/commands/agent-vibes/target-voice.md +26 -0
  172. package/agentvibes.org/.claude/commands/agent-vibes/target.md +30 -0
  173. package/agentvibes.org/.claude/commands/agent-vibes/update.md +20 -0
  174. package/agentvibes.org/.claude/commands/agent-vibes/version.md +10 -0
  175. package/agentvibes.org/.claude/commands/agent-vibes/whoami.md +7 -0
  176. package/agentvibes.org/.claude/hooks/bmad-tts-injector.sh +386 -0
  177. package/agentvibes.org/.claude/hooks/bmad-voice-manager.sh +375 -0
  178. package/agentvibes.org/.claude/hooks/check-output-style.sh +60 -0
  179. package/agentvibes.org/.claude/hooks/github-star-reminder.sh +94 -0
  180. package/agentvibes.org/.claude/hooks/language-manager.sh +360 -0
  181. package/agentvibes.org/.claude/hooks/learn-manager.sh +443 -0
  182. package/agentvibes.org/.claude/hooks/personality-manager.sh +324 -0
  183. package/agentvibes.org/.claude/hooks/piper-download-voices.sh +133 -0
  184. package/agentvibes.org/.claude/hooks/piper-installer.sh +144 -0
  185. package/agentvibes.org/.claude/hooks/piper-voice-manager.sh +227 -0
  186. package/agentvibes.org/.claude/hooks/play-tts-elevenlabs.sh +376 -0
  187. package/agentvibes.org/.claude/hooks/play-tts-piper.sh +281 -0
  188. package/agentvibes.org/.claude/hooks/play-tts.sh +69 -0
  189. package/agentvibes.org/.claude/hooks/provider-commands.sh +505 -0
  190. package/agentvibes.org/.claude/hooks/provider-manager.sh +248 -0
  191. package/agentvibes.org/.claude/hooks/replay-target-audio.sh +64 -0
  192. package/agentvibes.org/.claude/hooks/sentiment-manager.sh +163 -0
  193. package/agentvibes.org/.claude/hooks/speed-manager.sh +259 -0
  194. package/agentvibes.org/.claude/hooks/voice-manager.sh +477 -0
  195. package/agentvibes.org/.claude/hooks/voices-config.sh +33 -0
  196. package/agentvibes.org/.claude/journal/2025-10-07.html +373 -0
  197. package/agentvibes.org/.claude/journal/index.html +91 -0
  198. package/agentvibes.org/.claude/output-styles/agent-vibes.md +203 -0
  199. package/agentvibes.org/.claude/personalities/angry.md +17 -0
  200. package/agentvibes.org/.claude/personalities/annoying.md +17 -0
  201. package/agentvibes.org/.claude/personalities/crass.md +17 -0
  202. package/agentvibes.org/.claude/personalities/dramatic.md +17 -0
  203. package/agentvibes.org/.claude/personalities/dry-humor.md +53 -0
  204. package/agentvibes.org/.claude/personalities/flirty.md +23 -0
  205. package/agentvibes.org/.claude/personalities/funny.md +17 -0
  206. package/agentvibes.org/.claude/personalities/grandpa.md +35 -0
  207. package/agentvibes.org/.claude/personalities/millennial.md +17 -0
  208. package/agentvibes.org/.claude/personalities/moody.md +17 -0
  209. package/agentvibes.org/.claude/personalities/normal.md +19 -0
  210. package/agentvibes.org/.claude/personalities/pirate.md +17 -0
  211. package/agentvibes.org/.claude/personalities/poetic.md +17 -0
  212. package/agentvibes.org/.claude/personalities/professional.md +17 -0
  213. package/agentvibes.org/.claude/personalities/robot.md +17 -0
  214. package/agentvibes.org/.claude/personalities/sarcastic.md +41 -0
  215. package/agentvibes.org/.claude/personalities/sassy.md +17 -0
  216. package/agentvibes.org/.claude/personalities/surfer-dude.md +17 -0
  217. package/agentvibes.org/.claude/personalities/zen.md +17 -0
  218. package/agentvibes.org/.claude/piper-voices-dir.txt +1 -0
  219. package/agentvibes.org/.claude/plugins/bmad-voices.md +42 -0
  220. package/agentvibes.org/.claude/tts-provider.txt +1 -0
  221. package/agentvibes.org/.mcp-minimal.json +60 -0
  222. package/agentvibes.org/CHANGELOG.md +56 -0
  223. package/agentvibes.org/README.md +93 -0
  224. package/agentvibes.org/app/(auth)/layout.tsx +15 -0
  225. package/agentvibes.org/app/(auth)/reset-password/page.tsx +45 -0
  226. package/agentvibes.org/app/(auth)/signin/page.tsx +82 -0
  227. package/agentvibes.org/app/(auth)/signup/page.tsx +104 -0
  228. package/agentvibes.org/app/(default)/blog/[slug]/page.tsx +128 -0
  229. package/agentvibes.org/app/(default)/blog/page.tsx +95 -0
  230. package/agentvibes.org/app/(default)/layout.tsx +31 -0
  231. package/agentvibes.org/app/(default)/page.tsx +20 -0
  232. package/agentvibes.org/app/api/hello/route.ts +3 -0
  233. package/agentvibes.org/app/css/additional-styles/theme.css +82 -0
  234. package/agentvibes.org/app/css/additional-styles/utility-patterns.css +55 -0
  235. package/agentvibes.org/app/css/style.css +100 -0
  236. package/agentvibes.org/app/layout.tsx +63 -0
  237. package/agentvibes.org/components/code-block.tsx +27 -0
  238. package/agentvibes.org/components/cta.tsx +58 -0
  239. package/agentvibes.org/components/features.tsx +256 -0
  240. package/agentvibes.org/components/hero-home.tsx +133 -0
  241. package/agentvibes.org/components/mdx-components.tsx +128 -0
  242. package/agentvibes.org/components/modal-video.tsx +137 -0
  243. package/agentvibes.org/components/page-illustration.tsx +55 -0
  244. package/agentvibes.org/components/spotlight.tsx +77 -0
  245. package/agentvibes.org/components/testimonials.tsx +282 -0
  246. package/agentvibes.org/components/ui/footer.tsx +82 -0
  247. package/agentvibes.org/components/ui/header.tsx +68 -0
  248. package/agentvibes.org/components/ui/logo.tsx +10 -0
  249. package/agentvibes.org/components/workflows.tsx +176 -0
  250. package/agentvibes.org/content/blog/discovering-new-piper-voices.mdx +253 -0
  251. package/agentvibes.org/content/blog/getting-started-agentvibes.mdx +228 -0
  252. package/agentvibes.org/content/blog/introducing-agentvibes-v2.mdx +250 -0
  253. package/agentvibes.org/content/blog/language-learning-with-agentvibes.mdx +142 -0
  254. package/agentvibes.org/content/blog/voice-personalities-guide.mdx +119 -0
  255. package/agentvibes.org/lib/blog.ts +73 -0
  256. package/agentvibes.org/next.config.js +6 -0
  257. package/agentvibes.org/package-lock.json +4285 -0
  258. package/agentvibes.org/package.json +40 -0
  259. package/agentvibes.org/pnpm-lock.yaml +1141 -0
  260. package/agentvibes.org/postcss.config.js +5 -0
  261. package/agentvibes.org/public/audio/02-sarcastic.mp3 +0 -0
  262. package/agentvibes.org/public/audio/03-angry.mp3 +0 -0
  263. package/agentvibes.org/public/audio/04-grandpa.mp3 +0 -0
  264. package/agentvibes.org/public/audio/05-sarcastic-example2.mp3 +0 -0
  265. package/agentvibes.org/public/audio/french-rachel.mp3 +0 -0
  266. package/agentvibes.org/public/audio/piper-voices/speaker_0_Cori_Samuel.wav +0 -0
  267. package/agentvibes.org/public/audio/piper-voices/speaker_10_Steve_C.wav +0 -0
  268. package/agentvibes.org/public/audio/piper-voices/speaker_11_Owlivia.wav +0 -0
  269. package/agentvibes.org/public/audio/piper-voices/speaker_12_Paul_Hampton.wav +0 -0
  270. package/agentvibes.org/public/audio/piper-voices/speaker_13_Jennifer_Dorr.wav +0 -0
  271. package/agentvibes.org/public/audio/piper-voices/speaker_14_Emily_Cripps.wav +0 -0
  272. package/agentvibes.org/public/audio/piper-voices/speaker_15_Martin_Clifton.wav +0 -0
  273. package/agentvibes.org/public/audio/piper-voices/speaker_1_Kara_Shallenberg.wav +0 -0
  274. package/agentvibes.org/public/audio/piper-voices/speaker_2_Kristin_Hughes.wav +0 -0
  275. package/agentvibes.org/public/audio/piper-voices/speaker_3_Maria_Kasper.wav +0 -0
  276. package/agentvibes.org/public/audio/piper-voices/speaker_4_Mike_Pelton.wav +0 -0
  277. package/agentvibes.org/public/audio/piper-voices/speaker_5_Mark_Nelson.wav +0 -0
  278. package/agentvibes.org/public/audio/piper-voices/speaker_6_Michael_Scherer.wav +0 -0
  279. package/agentvibes.org/public/audio/piper-voices/speaker_7_James_K_White.wav +0 -0
  280. package/agentvibes.org/public/audio/piper-voices/speaker_8_Rose_Ibex.wav +0 -0
  281. package/agentvibes.org/public/audio/piper-voices/speaker_9_progressingamerica.wav +0 -0
  282. package/agentvibes.org/public/audio/spanish-antoni.mp3 +0 -0
  283. package/agentvibes.org/public/favicon.ico +0 -0
  284. package/agentvibes.org/public/fonts/nacelle-italic.woff2 +0 -0
  285. package/agentvibes.org/public/fonts/nacelle-regular.woff2 +0 -0
  286. package/agentvibes.org/public/fonts/nacelle-semibold.woff2 +0 -0
  287. package/agentvibes.org/public/fonts/nacelle-semibolditalic.woff2 +0 -0
  288. package/agentvibes.org/public/images/blurred-shape-gray.svg +1 -0
  289. package/agentvibes.org/public/images/blurred-shape.svg +1 -0
  290. package/agentvibes.org/public/images/client-logo-01.svg +1 -0
  291. package/agentvibes.org/public/images/client-logo-02.svg +1 -0
  292. package/agentvibes.org/public/images/client-logo-03.svg +1 -0
  293. package/agentvibes.org/public/images/client-logo-04.svg +1 -0
  294. package/agentvibes.org/public/images/client-logo-05.svg +1 -0
  295. package/agentvibes.org/public/images/client-logo-06.svg +1 -0
  296. package/agentvibes.org/public/images/client-logo-07.svg +1 -0
  297. package/agentvibes.org/public/images/client-logo-08.svg +1 -0
  298. package/agentvibes.org/public/images/client-logo-09.svg +1 -0
  299. package/agentvibes.org/public/images/features.png +0 -0
  300. package/agentvibes.org/public/images/footer-illustration.svg +1 -0
  301. package/agentvibes.org/public/images/hero-image-01.jpg +0 -0
  302. package/agentvibes.org/public/images/logo.svg +1 -0
  303. package/agentvibes.org/public/images/page-illustration.svg +1 -0
  304. package/agentvibes.org/public/images/secondary-illustration.svg +1 -0
  305. package/agentvibes.org/public/images/testimonial-01.jpg +0 -0
  306. package/agentvibes.org/public/images/testimonial-02.jpg +0 -0
  307. package/agentvibes.org/public/images/testimonial-03.jpg +0 -0
  308. package/agentvibes.org/public/images/testimonial-04.jpg +0 -0
  309. package/agentvibes.org/public/images/testimonial-05.jpg +0 -0
  310. package/agentvibes.org/public/images/testimonial-06.jpg +0 -0
  311. package/agentvibes.org/public/images/testimonial-07.jpg +0 -0
  312. package/agentvibes.org/public/images/testimonial-08.jpg +0 -0
  313. package/agentvibes.org/public/images/testimonial-09.jpg +0 -0
  314. package/agentvibes.org/public/images/workflow-01.png +0 -0
  315. package/agentvibes.org/public/images/workflow-02.png +0 -0
  316. package/agentvibes.org/public/images/workflow-03.png +0 -0
  317. package/agentvibes.org/public/videos/video.mp4 +0 -0
  318. package/agentvibes.org/tsconfig.json +28 -0
  319. package/agentvibes.org/utils/useMasonry.tsx +67 -0
  320. package/agentvibes.org/utils/useMousePosition.tsx +27 -0
  321. package/docs/ai-optimized-documentation-standards.md +78 -4
  322. package/docs/bryce-beattie-voice-licensing.md +131 -0
  323. package/docs/commands.md +21 -1
  324. package/docs/mcp-setup.md +1 -6
  325. package/github-star-reminder.txt +1 -0
  326. package/linkedin/vibe-coding-and-pulseaudio.md +121 -0
  327. package/mcp-server/WINDOWS_SETUP.md +182 -199
  328. package/mcp-server/docs/elevenlabs-setup.md +213 -0
  329. package/mcp-server/docs/troubleshooting-audio.md +316 -0
  330. package/mcp-server/server.py +38 -4
  331. package/mcp-server/test_server.py +38 -3
  332. package/package.json +1 -1
  333. package/scripts/audio-tunnel.config +17 -0
  334. package/test/helpers/test-helper.bash +31 -4
  335. package/test/unit/personality-manager.bats +22 -6
  336. package/test/unit/play-tts.bats +21 -3
  337. package/test/unit/provider-manager.bats +508 -0
  338. package/test/unit/speed-manager.bats +436 -0
  339. package/test/unit/voice-manager.bats +4 -1
  340. package/.claude/piper-voices/en_US-lessac-medium.onnx +0 -0
  341. package/.claude/piper-voices/en_US-lessac-medium.onnx.json +0 -493
@@ -0,0 +1,386 @@
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