feat: upgrade AgentVibes prompt to 3-option select with info panel

Replace yes/no confirm with: install now / skip / tell me more.
'Tell me more' shows description + GitHub link inline without leaving
the installer flow.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Paul Preibisch 2026-04-01 11:37:45 -07:00
parent 3be49a5c09
commit adb2506b7f
1 changed files with 32 additions and 7 deletions

View File

@ -1134,15 +1134,40 @@ class Installer {
// Optional AgentVibes install prompt
if (!this._silentConfig) {
try {
const { default: prompts2 } = await import('@clack/prompts');
const installAgentVibes = await prompts2.confirm({
message: '🎙 Install AgentVibes now for agent TTS voices?',
initialValue: false,
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 (installAgentVibes) {
const { execSync } = await import('node:child_process');
prompts2.log.step('Running npx agentvibes install...');
if (agentVibesChoice === 'install') {
const { execSync } = require('node:child_process');
await prompts.log.step('Running npx agentvibes install...');
execSync('npx agentvibes install', { stdio: 'inherit' });
} 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 {
// Prompt cancelled or AgentVibes install failed — non-fatal