-
-
Notifications
You must be signed in to change notification settings - Fork 5.2k
feat: AgentVibes TTS integration — install prompt + core skill #2181
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|
| @@ -0,0 +1,65 @@ | ||||||||||
| --- | ||||||||||
| name: bmad-install-agentvibes | ||||||||||
| description: 'Install AgentVibes TTS voice system for BMAD agents. Gives each agent a unique voice, personality, and audio effects. Use when user wants to add voice/TTS to their BMAD setup, or when bmad-party-mode is active and agents are silent.' | ||||||||||
| --- | ||||||||||
|
|
||||||||||
| # Install AgentVibes | ||||||||||
|
|
||||||||||
| AgentVibes is an open-source Text-to-Speech system that gives BMAD agents unique voices, personalities, and audio effects. Once installed, party mode agents speak aloud — each with their own voice. | ||||||||||
|
|
||||||||||
| ## What AgentVibes Provides | ||||||||||
|
|
||||||||||
| - **Per-agent voices** — each BMAD agent gets a distinct voice via `bmad-voice-map.json` | ||||||||||
| - **Cross-platform** — Windows (SAPI + Piper), macOS, Linux, WSL | ||||||||||
| - **Personalities & effects** — reverb, background music, speed, sentiment | ||||||||||
| - **Party mode integration** — agents introduce themselves and speak sequentially | ||||||||||
|
|
||||||||||
| ## Installation | ||||||||||
|
|
||||||||||
| Run the installer in the terminal: | ||||||||||
|
|
||||||||||
| ```bash | ||||||||||
| npx agentvibes install | ||||||||||
| ``` | ||||||||||
|
|
||||||||||
| Or if you prefer a global install first: | ||||||||||
|
|
||||||||||
| ```bash | ||||||||||
| npm install -g agentvibes | ||||||||||
| agentvibes install | ||||||||||
| ``` | ||||||||||
|
|
||||||||||
| **The installer will:** | ||||||||||
| 1. Detect your platform (Windows/Mac/Linux/WSL) | ||||||||||
| 2. Install the appropriate TTS provider (Piper recommended for best quality, SAPI as zero-dependency fallback on Windows) | ||||||||||
| 3. Configure Claude Code hooks so agents speak automatically | ||||||||||
| 4. Set up `bmad-speak.sh` / `bmad-speak.ps1` integration for party mode | ||||||||||
|
|
||||||||||
| ## Post-Install: Configure Agent Voices | ||||||||||
|
|
||||||||||
| After installing, configure per-agent voices for party mode: | ||||||||||
|
|
||||||||||
| ``` | ||||||||||
| /agent-vibes:bmad | ||||||||||
| ``` | ||||||||||
|
|
||||||||||
| This opens the BMAD voice configuration where you can assign each agent a distinct voice, personality, and effects profile. | ||||||||||
|
|
||||||||||
| ## Verify Installation | ||||||||||
|
|
||||||||||
| ```bash | ||||||||||
| agentvibes whoami | ||||||||||
| ``` | ||||||||||
|
|
||||||||||
| Should display the active voice and provider. If party mode is active, agents will now speak when you run `/bmad-party-mode`. | ||||||||||
|
|
||||||||||
| ## Troubleshooting | ||||||||||
|
|
||||||||||
| - **Agents still silent after install**: Run `agentvibes install` again — it is idempotent | ||||||||||
| - **Windows users**: Ensure PowerShell execution policy allows scripts: `Set-ExecutionPolicy -Scope CurrentUser RemoteSigned` | ||||||||||
| - **Voice quality**: Install Piper for neural TTS — `agentvibes install` will prompt you | ||||||||||
|
|
||||||||||
| ## More Info | ||||||||||
|
|
||||||||||
| - GitHub: https://github.com/paulpreibisch/AgentVibes | ||||||||||
| - Docs: `agentvibes --help` | ||||||||||
|
Comment on lines
+64
to
+65
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Fix bare URL to resolve linting failure. The pipeline fails with MD034 (no-bare-urls). Convert the bare URL to a proper Markdown link. 🔧 Proposed fix-- GitHub: https://github.com/paulpreibisch/AgentVibes
+- GitHub: <https://github.com/paulpreibisch/AgentVibes>📝 Committable suggestion
Suggested change
🧰 Tools🪛 GitHub Actions: Quality & Validation[error] 64-64: markdownlint-cli2 reported MD034/no-bare-urls: Bare URL used [Context: "https://github.com/paulpreibis..."] 🤖 Prompt for AI Agents |
||||||||||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -1121,7 +1121,58 @@ class Installer { | |
| lines.push(` Invoke the ${color.cyan('bmad-help')} skill in your IDE Agent to get started`); | ||
| } | ||
|
|
||
| // AgentVibes TTS suggestion | ||
| lines.push( | ||
| '', | ||
| ` ${color.cyan('🎙 Want your BMAD agents to speak?')}`, | ||
| ` Install AgentVibes TTS: ${color.dim('npx agentvibes install')}`, | ||
| ` Gives each agent a unique voice in party mode and beyond.`, | ||
| ); | ||
|
|
||
| await prompts.note(lines.join('\n'), 'BMAD is ready to use!'); | ||
|
|
||
| // Optional AgentVibes install prompt | ||
| if (!this._silentConfig) { | ||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Severity: medium 🤖 Was this useful? React with 👍 or 👎, or 🚀 if it prevented an incident/outage. |
||
| try { | ||
| const agentVibesChoice = await prompts.select({ | ||
| message: '🎙 Give your BMAD agents a voice? (AgentVibes TTS)', | ||
| choices: [ | ||
| { | ||
| name: 'Yes — install AgentVibes now', | ||
| value: 'install', | ||
| hint: 'runs npx agentvibes install', | ||
| }, | ||
| { | ||
| name: 'No — I\'ll do it later', | ||
| value: 'skip', | ||
| hint: 'npx agentvibes install', | ||
| }, | ||
| { | ||
| name: 'Tell me more', | ||
| value: 'info', | ||
| hint: 'github.com/paulpreibisch/AgentVibes', | ||
| }, | ||
| ], | ||
| default: 'skip', | ||
| }); | ||
|
|
||
| if (agentVibesChoice === 'install') { | ||
| const { execSync } = require('node:child_process'); | ||
| await prompts.log.step('Running npx agentvibes install...'); | ||
| execSync('npx agentvibes install', { stdio: 'inherit' }); | ||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Severity: medium 🤖 Was this useful? React with 👍 or 👎, or 🚀 if it prevented an incident/outage. |
||
| } else if (agentVibesChoice === 'info') { | ||
| await prompts.log.info( | ||
| 'AgentVibes gives each BMAD agent a unique TTS voice, personality, and audio effects.\n' + | ||
| ' Works on Windows (SAPI + Piper), macOS, Linux, and WSL.\n' + | ||
| ' Party mode agents speak with their own voice — no more silent roundtables.\n\n' + | ||
| ' GitHub: https://github.com/paulpreibisch/AgentVibes\n' + | ||
| ' Install: npx agentvibes install' | ||
| ); | ||
| } | ||
| } catch { | ||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. The empty Severity: medium 🤖 Was this useful? React with 👍 or 👎, or 🚀 if it prevented an incident/outage. |
||
| // Prompt cancelled or AgentVibes install failed — non-fatal | ||
| } | ||
| } | ||
|
Comment on lines
+1135
to
+1175
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🧩 Analysis chain🏁 Script executed: #!/bin/bash
# Check if _silentConfig is ever set on Installer instances
rg -n '_silentConfig' tools/installer/Repository: bmad-code-org/BMAD-METHOD Length of output: 626 🏁 Script executed: #!/bin/bash
# Check the Installer class definition and constructor
head -100 tools/installer/core/installer.js | cat -n
# Look for class definition and constructor
rg -n 'class Installer|constructor\s*\(' tools/installer/core/installer.js | head -20Repository: bmad-code-org/BMAD-METHOD Length of output: 5054 🏁 Script executed: #!/bin/bash
# Check if Installer extends OfficialModules or has any relationship
rg -n 'extends|OfficialModules' tools/installer/core/installer.js | head -20Repository: bmad-code-org/BMAD-METHOD Length of output: 728 🏁 Script executed: #!/bin/bash
# Check where renderInstallSummary is called from
rg -n 'renderInstallSummary' tools/installer/Repository: bmad-code-org/BMAD-METHOD Length of output: 247 🏁 Script executed: #!/bin/bash
# Check if _silentConfig is initialized anywhere in Installer constructor
sed -n '1,150p' tools/installer/core/installer.js | rg -n 'this\._'Repository: bmad-code-org/BMAD-METHOD Length of output: 724 🏁 Script executed: #!/bin/bash
# Check renderInstallSummary method signature
sed -n '1060,1080p' tools/installer/core/installer.js | cat -nRepository: bmad-code-org/BMAD-METHOD Length of output: 888 🏁 Script executed: #!/bin/bash
# Check if context parameter contains _silentConfig or if it should
sed -n '1060,1085p' tools/installer/core/installer.jsRepository: bmad-code-org/BMAD-METHOD Length of output: 835
The guard Wire up 🤖 Prompt for AI Agents |
||
| } | ||
|
|
||
| /** | ||
|
|
||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This skill mixes
npx agentvibes ...with bareagentvibes ...commands; if the user followed thenpx agentvibes installpath (no global install),agentvibesmay not be onPATH, so the verify/troubleshooting commands could fail. It may help to keep the invocation consistent (or explicitly require global install for the non-npxcommands).Severity: low
Other Locations
src/core-skills/bmad-install-agentvibes/SKILL.md:58src/core-skills/bmad-install-agentvibes/SKILL.md:60src/core-skills/bmad-install-agentvibes/SKILL.md:65🤖 Was this useful? React with 👍 or 👎, or 🚀 if it prevented an incident/outage.