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.
- package/.bmad-core/agent-teams/team-all.yaml +15 -0
- package/.bmad-core/agent-teams/team-fullstack.yaml +19 -0
- package/.bmad-core/agent-teams/team-ide-minimal.yaml +11 -0
- package/.bmad-core/agent-teams/team-no-ui.yaml +14 -0
- package/.bmad-core/agents/analyst.md +84 -0
- package/.bmad-core/agents/architect.md +85 -0
- package/.bmad-core/agents/bmad-master.md +110 -0
- package/.bmad-core/agents/bmad-orchestrator.md +147 -0
- package/.bmad-core/agents/dev.md +81 -0
- package/.bmad-core/agents/pm.md +84 -0
- package/.bmad-core/agents/po.md +79 -0
- package/.bmad-core/agents/qa.md +87 -0
- package/.bmad-core/agents/sm.md +65 -0
- package/.bmad-core/agents/ux-expert.md +69 -0
- package/.bmad-core/checklists/architect-checklist.md +440 -0
- package/.bmad-core/checklists/change-checklist.md +184 -0
- package/.bmad-core/checklists/pm-checklist.md +372 -0
- package/.bmad-core/checklists/po-master-checklist.md +434 -0
- package/.bmad-core/checklists/story-dod-checklist.md +96 -0
- package/.bmad-core/checklists/story-draft-checklist.md +155 -0
- package/.bmad-core/core-config.yaml +22 -0
- package/.bmad-core/data/bmad-kb.md +809 -0
- package/.bmad-core/data/brainstorming-techniques.md +38 -0
- package/.bmad-core/data/elicitation-methods.md +156 -0
- package/.bmad-core/data/technical-preferences.md +5 -0
- package/.bmad-core/data/test-levels-framework.md +148 -0
- package/.bmad-core/data/test-priorities-matrix.md +174 -0
- package/.bmad-core/enhanced-ide-development-workflow.md +248 -0
- package/.bmad-core/install-manifest.yaml +230 -0
- package/.bmad-core/tasks/advanced-elicitation.md +119 -0
- package/.bmad-core/tasks/apply-qa-fixes.md +150 -0
- package/.bmad-core/tasks/brownfield-create-epic.md +162 -0
- package/.bmad-core/tasks/brownfield-create-story.md +149 -0
- package/.bmad-core/tasks/correct-course.md +72 -0
- package/.bmad-core/tasks/create-brownfield-story.md +314 -0
- package/.bmad-core/tasks/create-deep-research-prompt.md +280 -0
- package/.bmad-core/tasks/create-doc.md +103 -0
- package/.bmad-core/tasks/create-next-story.md +114 -0
- package/.bmad-core/tasks/document-project.md +345 -0
- package/.bmad-core/tasks/execute-checklist.md +88 -0
- package/.bmad-core/tasks/facilitate-brainstorming-session.md +138 -0
- package/.bmad-core/tasks/generate-ai-frontend-prompt.md +53 -0
- package/.bmad-core/tasks/index-docs.md +175 -0
- package/.bmad-core/tasks/kb-mode-interaction.md +77 -0
- package/.bmad-core/tasks/nfr-assess.md +345 -0
- package/.bmad-core/tasks/qa-gate.md +163 -0
- package/.bmad-core/tasks/review-story.md +316 -0
- package/.bmad-core/tasks/risk-profile.md +355 -0
- package/.bmad-core/tasks/shard-doc.md +187 -0
- package/.bmad-core/tasks/test-design.md +176 -0
- package/.bmad-core/tasks/trace-requirements.md +266 -0
- package/.bmad-core/tasks/validate-next-story.md +136 -0
- package/.bmad-core/templates/architecture-tmpl.yaml +651 -0
- package/.bmad-core/templates/brainstorming-output-tmpl.yaml +156 -0
- package/.bmad-core/templates/brownfield-architecture-tmpl.yaml +477 -0
- package/.bmad-core/templates/brownfield-prd-tmpl.yaml +281 -0
- package/.bmad-core/templates/competitor-analysis-tmpl.yaml +307 -0
- package/.bmad-core/templates/front-end-architecture-tmpl.yaml +219 -0
- package/.bmad-core/templates/front-end-spec-tmpl.yaml +350 -0
- package/.bmad-core/templates/fullstack-architecture-tmpl.yaml +824 -0
- package/.bmad-core/templates/market-research-tmpl.yaml +253 -0
- package/.bmad-core/templates/prd-tmpl.yaml +203 -0
- package/.bmad-core/templates/project-brief-tmpl.yaml +222 -0
- package/.bmad-core/templates/qa-gate-tmpl.yaml +103 -0
- package/.bmad-core/templates/story-tmpl.yaml +138 -0
- package/.bmad-core/user-guide.md +577 -0
- package/.bmad-core/utils/bmad-doc-template.md +327 -0
- package/.bmad-core/utils/workflow-management.md +71 -0
- package/.bmad-core/workflows/brownfield-fullstack.yaml +298 -0
- package/.bmad-core/workflows/brownfield-service.yaml +188 -0
- package/.bmad-core/workflows/brownfield-ui.yaml +198 -0
- package/.bmad-core/workflows/greenfield-fullstack.yaml +241 -0
- package/.bmad-core/workflows/greenfield-service.yaml +207 -0
- package/.bmad-core/workflows/greenfield-ui.yaml +236 -0
- package/.bmad-core/working-in-the-brownfield.md +606 -0
- package/.claude/activation-instructions +54 -0
- package/.claude/commands/BMad/agents/analyst.md +88 -0
- package/.claude/commands/BMad/agents/architect.md +89 -0
- package/.claude/commands/BMad/agents/bmad-master.md +114 -0
- package/.claude/commands/BMad/agents/bmad-orchestrator.md +151 -0
- package/.claude/commands/BMad/agents/dev.md +85 -0
- package/.claude/commands/BMad/agents/pm.md +88 -0
- package/.claude/commands/BMad/agents/po.md +83 -0
- package/.claude/commands/BMad/agents/qa.md +91 -0
- package/.claude/commands/BMad/agents/sm.md +69 -0
- package/.claude/commands/BMad/agents/ux-expert.md +73 -0
- package/.claude/commands/BMad/tasks/advanced-elicitation.md +123 -0
- package/.claude/commands/BMad/tasks/apply-qa-fixes.md +154 -0
- package/.claude/commands/BMad/tasks/brownfield-create-epic.md +166 -0
- package/.claude/commands/BMad/tasks/brownfield-create-story.md +153 -0
- package/.claude/commands/BMad/tasks/correct-course.md +76 -0
- package/.claude/commands/BMad/tasks/create-brownfield-story.md +318 -0
- package/.claude/commands/BMad/tasks/create-deep-research-prompt.md +284 -0
- package/.claude/commands/BMad/tasks/create-doc.md +107 -0
- package/.claude/commands/BMad/tasks/create-next-story.md +118 -0
- package/.claude/commands/BMad/tasks/document-project.md +349 -0
- package/.claude/commands/BMad/tasks/execute-checklist.md +92 -0
- package/.claude/commands/BMad/tasks/facilitate-brainstorming-session.md +142 -0
- package/.claude/commands/BMad/tasks/generate-ai-frontend-prompt.md +57 -0
- package/.claude/commands/BMad/tasks/index-docs.md +179 -0
- package/.claude/commands/BMad/tasks/kb-mode-interaction.md +81 -0
- package/.claude/commands/BMad/tasks/nfr-assess.md +349 -0
- package/.claude/commands/BMad/tasks/qa-gate.md +167 -0
- package/.claude/commands/BMad/tasks/review-story.md +320 -0
- package/.claude/commands/BMad/tasks/risk-profile.md +359 -0
- package/.claude/commands/BMad/tasks/shard-doc.md +191 -0
- package/.claude/commands/BMad/tasks/test-design.md +180 -0
- package/.claude/commands/BMad/tasks/trace-requirements.md +270 -0
- package/.claude/commands/BMad/tasks/validate-next-story.md +140 -0
- package/.claude/github-star-reminder.txt +1 -1
- package/.claude/hooks/bmad-tts-injector.sh +33 -4
- package/.claude/hooks/bmad-voice-manager.sh +146 -10
- package/.claude/hooks/check-output-style.sh +60 -8
- package/.claude/hooks/github-star-reminder.sh +67 -7
- package/.claude/hooks/language-manager.sh +34 -2
- package/.claude/hooks/learn-manager.sh +34 -2
- package/.claude/hooks/personality-manager.sh +34 -1
- package/.claude/hooks/piper-download-voices.sh +131 -9
- package/.claude/hooks/piper-installer.sh +38 -4
- package/.claude/hooks/piper-voice-manager.sh +102 -36
- package/.claude/hooks/play-tts-elevenlabs.sh +32 -6
- package/.claude/hooks/play-tts-piper.sh +79 -18
- package/.claude/hooks/play-tts.sh +34 -3
- package/.claude/hooks/provider-commands.sh +36 -1
- package/.claude/hooks/provider-manager.sh +32 -1
- package/.claude/hooks/replay-target-audio.sh +34 -3
- package/.claude/hooks/sentiment-manager.sh +39 -1
- package/.claude/hooks/speed-manager.sh +36 -2
- package/.claude/hooks/voice-manager.sh +85 -6
- package/.claude/hooks/voices-config.sh +39 -2
- package/README.md +77 -137
- package/RELEASE_NOTES.md +269 -0
- package/RELEASE_NOTES_v2.0.17_DRAFT.md +650 -0
- package/agentvibes.org/.claude/audio/tts-padded-1760744118.mp3 +0 -0
- package/agentvibes.org/.claude/audio/tts-padded-1760748535.mp3 +0 -0
- package/agentvibes.org/.claude/audio/tts-padded-1760748676.mp3 +0 -0
- package/agentvibes.org/.claude/audio/tts-padded-1760750748.mp3 +0 -0
- package/agentvibes.org/.claude/audio/tts-padded-1760750947.mp3 +0 -0
- package/agentvibes.org/.claude/audio/tts-padded-1760752718.mp3 +0 -0
- package/agentvibes.org/.claude/audio/tts-padded-1760752907.mp3 +0 -0
- package/agentvibes.org/.claude/audio/tts-padded-1760753017.mp3 +0 -0
- package/agentvibes.org/.claude/audio/tts-padded-1760753045.mp3 +0 -0
- package/agentvibes.org/.claude/audio/tts-padded-1760753241.mp3 +0 -0
- package/agentvibes.org/.claude/audio/tts-padded-1760753315.mp3 +0 -0
- package/agentvibes.org/.claude/audio/tts-padded-1760753382.mp3 +0 -0
- package/agentvibes.org/.claude/audio/tts-padded-1760753408.mp3 +0 -0
- package/agentvibes.org/.claude/audio/tts-padded-1760753426.mp3 +0 -0
- package/agentvibes.org/.claude/audio/tts-padded-1760753446.mp3 +0 -0
- package/agentvibes.org/.claude/audio/tts-padded-1760753541.mp3 +0 -0
- package/agentvibes.org/.claude/audio/tts-padded-1760753553.mp3 +0 -0
- package/agentvibes.org/.claude/audio/tts-padded-1760753577.mp3 +0 -0
- package/agentvibes.org/.claude/commands/agent-vibes/add.md +21 -0
- package/agentvibes.org/.claude/commands/agent-vibes/agent-vibes.md +68 -0
- package/agentvibes.org/.claude/commands/agent-vibes/bmad.md +196 -0
- package/agentvibes.org/.claude/commands/agent-vibes/commands.json +77 -0
- package/agentvibes.org/.claude/commands/agent-vibes/get.md +9 -0
- package/agentvibes.org/.claude/commands/agent-vibes/language.md +23 -0
- package/agentvibes.org/.claude/commands/agent-vibes/learn.md +67 -0
- package/agentvibes.org/.claude/commands/agent-vibes/list.md +13 -0
- package/agentvibes.org/.claude/commands/agent-vibes/personality.md +79 -0
- package/agentvibes.org/.claude/commands/agent-vibes/preview.md +17 -0
- package/agentvibes.org/.claude/commands/agent-vibes/provider.md +54 -0
- package/agentvibes.org/.claude/commands/agent-vibes/replay-target.md +14 -0
- package/agentvibes.org/.claude/commands/agent-vibes/replay.md +19 -0
- package/agentvibes.org/.claude/commands/agent-vibes/sample.md +12 -0
- package/agentvibes.org/.claude/commands/agent-vibes/sentiment.md +52 -0
- package/agentvibes.org/.claude/commands/agent-vibes/set-language.md +47 -0
- package/agentvibes.org/.claude/commands/agent-vibes/set-pretext.md +65 -0
- package/agentvibes.org/.claude/commands/agent-vibes/set-speed.md +41 -0
- package/agentvibes.org/.claude/commands/agent-vibes/switch.md +53 -0
- package/agentvibes.org/.claude/commands/agent-vibes/target-voice.md +26 -0
- package/agentvibes.org/.claude/commands/agent-vibes/target.md +30 -0
- package/agentvibes.org/.claude/commands/agent-vibes/update.md +20 -0
- package/agentvibes.org/.claude/commands/agent-vibes/version.md +10 -0
- package/agentvibes.org/.claude/commands/agent-vibes/whoami.md +7 -0
- package/agentvibes.org/.claude/hooks/bmad-tts-injector.sh +386 -0
- package/agentvibes.org/.claude/hooks/bmad-voice-manager.sh +375 -0
- package/agentvibes.org/.claude/hooks/check-output-style.sh +60 -0
- package/agentvibes.org/.claude/hooks/github-star-reminder.sh +94 -0
- package/agentvibes.org/.claude/hooks/language-manager.sh +360 -0
- package/agentvibes.org/.claude/hooks/learn-manager.sh +443 -0
- package/agentvibes.org/.claude/hooks/personality-manager.sh +324 -0
- package/agentvibes.org/.claude/hooks/piper-download-voices.sh +133 -0
- package/agentvibes.org/.claude/hooks/piper-installer.sh +144 -0
- package/agentvibes.org/.claude/hooks/piper-voice-manager.sh +227 -0
- package/agentvibes.org/.claude/hooks/play-tts-elevenlabs.sh +376 -0
- package/agentvibes.org/.claude/hooks/play-tts-piper.sh +281 -0
- package/agentvibes.org/.claude/hooks/play-tts.sh +69 -0
- package/agentvibes.org/.claude/hooks/provider-commands.sh +505 -0
- package/agentvibes.org/.claude/hooks/provider-manager.sh +248 -0
- package/agentvibes.org/.claude/hooks/replay-target-audio.sh +64 -0
- package/agentvibes.org/.claude/hooks/sentiment-manager.sh +163 -0
- package/agentvibes.org/.claude/hooks/speed-manager.sh +259 -0
- package/agentvibes.org/.claude/hooks/voice-manager.sh +477 -0
- package/agentvibes.org/.claude/hooks/voices-config.sh +33 -0
- package/agentvibes.org/.claude/journal/2025-10-07.html +373 -0
- package/agentvibes.org/.claude/journal/index.html +91 -0
- package/agentvibes.org/.claude/output-styles/agent-vibes.md +203 -0
- package/agentvibes.org/.claude/personalities/angry.md +17 -0
- package/agentvibes.org/.claude/personalities/annoying.md +17 -0
- package/agentvibes.org/.claude/personalities/crass.md +17 -0
- package/agentvibes.org/.claude/personalities/dramatic.md +17 -0
- package/agentvibes.org/.claude/personalities/dry-humor.md +53 -0
- package/agentvibes.org/.claude/personalities/flirty.md +23 -0
- package/agentvibes.org/.claude/personalities/funny.md +17 -0
- package/agentvibes.org/.claude/personalities/grandpa.md +35 -0
- package/agentvibes.org/.claude/personalities/millennial.md +17 -0
- package/agentvibes.org/.claude/personalities/moody.md +17 -0
- package/agentvibes.org/.claude/personalities/normal.md +19 -0
- package/agentvibes.org/.claude/personalities/pirate.md +17 -0
- package/agentvibes.org/.claude/personalities/poetic.md +17 -0
- package/agentvibes.org/.claude/personalities/professional.md +17 -0
- package/agentvibes.org/.claude/personalities/robot.md +17 -0
- package/agentvibes.org/.claude/personalities/sarcastic.md +41 -0
- package/agentvibes.org/.claude/personalities/sassy.md +17 -0
- package/agentvibes.org/.claude/personalities/surfer-dude.md +17 -0
- package/agentvibes.org/.claude/personalities/zen.md +17 -0
- package/agentvibes.org/.claude/piper-voices-dir.txt +1 -0
- package/agentvibes.org/.claude/plugins/bmad-voices.md +42 -0
- package/agentvibes.org/.claude/tts-provider.txt +1 -0
- package/agentvibes.org/.mcp-minimal.json +60 -0
- package/agentvibes.org/CHANGELOG.md +56 -0
- package/agentvibes.org/README.md +93 -0
- package/agentvibes.org/app/(auth)/layout.tsx +15 -0
- package/agentvibes.org/app/(auth)/reset-password/page.tsx +45 -0
- package/agentvibes.org/app/(auth)/signin/page.tsx +82 -0
- package/agentvibes.org/app/(auth)/signup/page.tsx +104 -0
- package/agentvibes.org/app/(default)/blog/[slug]/page.tsx +128 -0
- package/agentvibes.org/app/(default)/blog/page.tsx +95 -0
- package/agentvibes.org/app/(default)/layout.tsx +31 -0
- package/agentvibes.org/app/(default)/page.tsx +20 -0
- package/agentvibes.org/app/api/hello/route.ts +3 -0
- package/agentvibes.org/app/css/additional-styles/theme.css +82 -0
- package/agentvibes.org/app/css/additional-styles/utility-patterns.css +55 -0
- package/agentvibes.org/app/css/style.css +100 -0
- package/agentvibes.org/app/layout.tsx +63 -0
- package/agentvibes.org/components/code-block.tsx +27 -0
- package/agentvibes.org/components/cta.tsx +58 -0
- package/agentvibes.org/components/features.tsx +256 -0
- package/agentvibes.org/components/hero-home.tsx +133 -0
- package/agentvibes.org/components/mdx-components.tsx +128 -0
- package/agentvibes.org/components/modal-video.tsx +137 -0
- package/agentvibes.org/components/page-illustration.tsx +55 -0
- package/agentvibes.org/components/spotlight.tsx +77 -0
- package/agentvibes.org/components/testimonials.tsx +282 -0
- package/agentvibes.org/components/ui/footer.tsx +82 -0
- package/agentvibes.org/components/ui/header.tsx +68 -0
- package/agentvibes.org/components/ui/logo.tsx +10 -0
- package/agentvibes.org/components/workflows.tsx +176 -0
- package/agentvibes.org/content/blog/discovering-new-piper-voices.mdx +253 -0
- package/agentvibes.org/content/blog/getting-started-agentvibes.mdx +228 -0
- package/agentvibes.org/content/blog/introducing-agentvibes-v2.mdx +250 -0
- package/agentvibes.org/content/blog/language-learning-with-agentvibes.mdx +142 -0
- package/agentvibes.org/content/blog/voice-personalities-guide.mdx +119 -0
- package/agentvibes.org/lib/blog.ts +73 -0
- package/agentvibes.org/next.config.js +6 -0
- package/agentvibes.org/package-lock.json +4285 -0
- package/agentvibes.org/package.json +40 -0
- package/agentvibes.org/pnpm-lock.yaml +1141 -0
- package/agentvibes.org/postcss.config.js +5 -0
- package/agentvibes.org/public/audio/02-sarcastic.mp3 +0 -0
- package/agentvibes.org/public/audio/03-angry.mp3 +0 -0
- package/agentvibes.org/public/audio/04-grandpa.mp3 +0 -0
- package/agentvibes.org/public/audio/05-sarcastic-example2.mp3 +0 -0
- package/agentvibes.org/public/audio/french-rachel.mp3 +0 -0
- package/agentvibes.org/public/audio/piper-voices/speaker_0_Cori_Samuel.wav +0 -0
- package/agentvibes.org/public/audio/piper-voices/speaker_10_Steve_C.wav +0 -0
- package/agentvibes.org/public/audio/piper-voices/speaker_11_Owlivia.wav +0 -0
- package/agentvibes.org/public/audio/piper-voices/speaker_12_Paul_Hampton.wav +0 -0
- package/agentvibes.org/public/audio/piper-voices/speaker_13_Jennifer_Dorr.wav +0 -0
- package/agentvibes.org/public/audio/piper-voices/speaker_14_Emily_Cripps.wav +0 -0
- package/agentvibes.org/public/audio/piper-voices/speaker_15_Martin_Clifton.wav +0 -0
- package/agentvibes.org/public/audio/piper-voices/speaker_1_Kara_Shallenberg.wav +0 -0
- package/agentvibes.org/public/audio/piper-voices/speaker_2_Kristin_Hughes.wav +0 -0
- package/agentvibes.org/public/audio/piper-voices/speaker_3_Maria_Kasper.wav +0 -0
- package/agentvibes.org/public/audio/piper-voices/speaker_4_Mike_Pelton.wav +0 -0
- package/agentvibes.org/public/audio/piper-voices/speaker_5_Mark_Nelson.wav +0 -0
- package/agentvibes.org/public/audio/piper-voices/speaker_6_Michael_Scherer.wav +0 -0
- package/agentvibes.org/public/audio/piper-voices/speaker_7_James_K_White.wav +0 -0
- package/agentvibes.org/public/audio/piper-voices/speaker_8_Rose_Ibex.wav +0 -0
- package/agentvibes.org/public/audio/piper-voices/speaker_9_progressingamerica.wav +0 -0
- package/agentvibes.org/public/audio/spanish-antoni.mp3 +0 -0
- package/agentvibes.org/public/favicon.ico +0 -0
- package/agentvibes.org/public/fonts/nacelle-italic.woff2 +0 -0
- package/agentvibes.org/public/fonts/nacelle-regular.woff2 +0 -0
- package/agentvibes.org/public/fonts/nacelle-semibold.woff2 +0 -0
- package/agentvibes.org/public/fonts/nacelle-semibolditalic.woff2 +0 -0
- package/agentvibes.org/public/images/blurred-shape-gray.svg +1 -0
- package/agentvibes.org/public/images/blurred-shape.svg +1 -0
- package/agentvibes.org/public/images/client-logo-01.svg +1 -0
- package/agentvibes.org/public/images/client-logo-02.svg +1 -0
- package/agentvibes.org/public/images/client-logo-03.svg +1 -0
- package/agentvibes.org/public/images/client-logo-04.svg +1 -0
- package/agentvibes.org/public/images/client-logo-05.svg +1 -0
- package/agentvibes.org/public/images/client-logo-06.svg +1 -0
- package/agentvibes.org/public/images/client-logo-07.svg +1 -0
- package/agentvibes.org/public/images/client-logo-08.svg +1 -0
- package/agentvibes.org/public/images/client-logo-09.svg +1 -0
- package/agentvibes.org/public/images/features.png +0 -0
- package/agentvibes.org/public/images/footer-illustration.svg +1 -0
- package/agentvibes.org/public/images/hero-image-01.jpg +0 -0
- package/agentvibes.org/public/images/logo.svg +1 -0
- package/agentvibes.org/public/images/page-illustration.svg +1 -0
- package/agentvibes.org/public/images/secondary-illustration.svg +1 -0
- package/agentvibes.org/public/images/testimonial-01.jpg +0 -0
- package/agentvibes.org/public/images/testimonial-02.jpg +0 -0
- package/agentvibes.org/public/images/testimonial-03.jpg +0 -0
- package/agentvibes.org/public/images/testimonial-04.jpg +0 -0
- package/agentvibes.org/public/images/testimonial-05.jpg +0 -0
- package/agentvibes.org/public/images/testimonial-06.jpg +0 -0
- package/agentvibes.org/public/images/testimonial-07.jpg +0 -0
- package/agentvibes.org/public/images/testimonial-08.jpg +0 -0
- package/agentvibes.org/public/images/testimonial-09.jpg +0 -0
- package/agentvibes.org/public/images/workflow-01.png +0 -0
- package/agentvibes.org/public/images/workflow-02.png +0 -0
- package/agentvibes.org/public/images/workflow-03.png +0 -0
- package/agentvibes.org/public/videos/video.mp4 +0 -0
- package/agentvibes.org/tsconfig.json +28 -0
- package/agentvibes.org/utils/useMasonry.tsx +67 -0
- package/agentvibes.org/utils/useMousePosition.tsx +27 -0
- package/docs/ai-optimized-documentation-standards.md +78 -4
- package/docs/bryce-beattie-voice-licensing.md +131 -0
- package/docs/commands.md +21 -1
- package/docs/mcp-setup.md +1 -6
- package/github-star-reminder.txt +1 -0
- package/linkedin/vibe-coding-and-pulseaudio.md +121 -0
- package/mcp-server/WINDOWS_SETUP.md +182 -199
- package/mcp-server/docs/elevenlabs-setup.md +213 -0
- package/mcp-server/docs/troubleshooting-audio.md +316 -0
- package/mcp-server/server.py +38 -4
- package/mcp-server/test_server.py +38 -3
- package/package.json +1 -1
- package/scripts/audio-tunnel.config +17 -0
- package/test/helpers/test-helper.bash +31 -4
- package/test/unit/personality-manager.bats +22 -6
- package/test/unit/play-tts.bats +21 -3
- package/test/unit/provider-manager.bats +508 -0
- package/test/unit/speed-manager.bats +436 -0
- package/test/unit/voice-manager.bats +4 -1
- package/.claude/piper-voices/en_US-lessac-medium.onnx +0 -0
- package/.claude/piper-voices/en_US-lessac-medium.onnx.json +0 -493
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
/* Custom AOS animations */
|
|
2
|
+
@media screen {
|
|
3
|
+
html:not(.no-js) body [data-aos="fade-up"] {
|
|
4
|
+
-webkit-transform: translate3d(0, 10px, 0);
|
|
5
|
+
transform: translate3d(0, 10px, 0);
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
html:not(.no-js) body [data-aos="fade-down"] {
|
|
9
|
+
-webkit-transform: translate3d(0, -10px, 0);
|
|
10
|
+
transform: translate3d(0, -10px, 0);
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
html:not(.no-js) body [data-aos="fade-right"] {
|
|
14
|
+
-webkit-transform: translate3d(-10px, 0, 0);
|
|
15
|
+
transform: translate3d(-10px, 0, 0);
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
html:not(.no-js) body [data-aos="fade-left"] {
|
|
19
|
+
-webkit-transform: translate3d(10px, 0, 0);
|
|
20
|
+
transform: translate3d(10px, 0, 0);
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
html:not(.no-js) body [data-aos="fade-up-right"] {
|
|
24
|
+
-webkit-transform: translate3d(-10px, 10px, 0);
|
|
25
|
+
transform: translate3d(-10px, 10px, 0);
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
html:not(.no-js) body [data-aos="fade-up-left"] {
|
|
29
|
+
-webkit-transform: translate3d(10px, 10px, 0);
|
|
30
|
+
transform: translate3d(10px, 10px, 0);
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
html:not(.no-js) body [data-aos="fade-down-right"] {
|
|
34
|
+
-webkit-transform: translate3d(-10px, -10px, 0);
|
|
35
|
+
transform: translate3d(-10px, -10px, 0);
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
html:not(.no-js) body [data-aos="fade-down-left"] {
|
|
39
|
+
-webkit-transform: translate3d(10px, -10px, 0);
|
|
40
|
+
transform: translate3d(10px, -10px, 0);
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
html:not(.no-js) body [data-aos="zoom-in-up"] {
|
|
44
|
+
-webkit-transform: translate3d(0, 10px, 0) scale(0.6);
|
|
45
|
+
transform: translate3d(0, 10px, 0) scale(0.6);
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
html:not(.no-js) body [data-aos="zoom-in-down"] {
|
|
49
|
+
-webkit-transform: translate3d(0, -10px, 0) scale(0.6);
|
|
50
|
+
transform: translate3d(0, -10px, 0) scale(0.6);
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
html:not(.no-js) body [data-aos="zoom-in-right"] {
|
|
54
|
+
-webkit-transform: translate3d(-10px, 0, 0) scale(0.6);
|
|
55
|
+
transform: translate3d(-10px, 0, 0) scale(0.6);
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
html:not(.no-js) body [data-aos="zoom-in-left"] {
|
|
59
|
+
-webkit-transform: translate3d(10px, 0, 0) scale(0.6);
|
|
60
|
+
transform: translate3d(10px, 0, 0) scale(0.6);
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
html:not(.no-js) body [data-aos="zoom-out-up"] {
|
|
64
|
+
-webkit-transform: translate3d(0, 10px, 0) scale(1.2);
|
|
65
|
+
transform: translate3d(0, 10px, 0) scale(1.2);
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
html:not(.no-js) body [data-aos="zoom-out-down"] {
|
|
69
|
+
-webkit-transform: translate3d(0, -10px, 0) scale(1.2);
|
|
70
|
+
transform: translate3d(0, -10px, 0) scale(1.2);
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
html:not(.no-js) body [data-aos="zoom-out-right"] {
|
|
74
|
+
-webkit-transform: translate3d(-10px, 0, 0) scale(1.2);
|
|
75
|
+
transform: translate3d(-10px, 0, 0) scale(1.2);
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
html:not(.no-js) body [data-aos="zoom-out-left"] {
|
|
79
|
+
-webkit-transform: translate3d(10px, 0, 0) scale(1.2);
|
|
80
|
+
transform: translate3d(10px, 0, 0) scale(1.2);
|
|
81
|
+
}
|
|
82
|
+
}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
/* Buttons */
|
|
2
|
+
.btn,
|
|
3
|
+
.btn-sm {
|
|
4
|
+
@apply inline-flex items-center justify-center whitespace-nowrap rounded-lg text-sm font-medium transition-all;
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
.btn {
|
|
8
|
+
@apply px-4 py-[11px];
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
.btn-sm {
|
|
12
|
+
@apply px-3 py-[7px];
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
/* Forms */
|
|
16
|
+
input[type='search']::-webkit-search-decoration,
|
|
17
|
+
input[type='search']::-webkit-search-cancel-button,
|
|
18
|
+
input[type='search']::-webkit-search-results-button,
|
|
19
|
+
input[type='search']::-webkit-search-results-decoration {
|
|
20
|
+
-webkit-appearance: none;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
.form-input,
|
|
24
|
+
.form-textarea,
|
|
25
|
+
.form-multiselect,
|
|
26
|
+
.form-select,
|
|
27
|
+
.form-checkbox,
|
|
28
|
+
.form-radio {
|
|
29
|
+
@apply border border-gray-700 bg-gray-900/50 focus:border-gray-600 focus:ring-0 focus:ring-offset-0;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
.form-input,
|
|
33
|
+
.form-textarea,
|
|
34
|
+
.form-multiselect,
|
|
35
|
+
.form-select {
|
|
36
|
+
@apply rounded-lg px-4 py-2.5 text-sm text-gray-200;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
.form-input,
|
|
40
|
+
.form-textarea {
|
|
41
|
+
@apply placeholder-gray-600;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
.form-select {
|
|
45
|
+
@apply pr-10;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
.form-checkbox,
|
|
49
|
+
.form-radio {
|
|
50
|
+
@apply text-indigo-500;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
.form-checkbox {
|
|
54
|
+
@apply rounded-xs;
|
|
55
|
+
}
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
@import 'tailwindcss';
|
|
2
|
+
|
|
3
|
+
/* Additional styles */
|
|
4
|
+
@import './additional-styles/utility-patterns.css' layer(components);
|
|
5
|
+
@import './additional-styles/theme.css';
|
|
6
|
+
|
|
7
|
+
@plugin "@tailwindcss/forms" {
|
|
8
|
+
strategy: base;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
@theme {
|
|
12
|
+
/* AgentVibes Brand Colors */
|
|
13
|
+
--color-agent-cyan: #00d9ff;
|
|
14
|
+
--color-agent-magenta: #ff00ff;
|
|
15
|
+
--color-agent-dark: #1a1a1a;
|
|
16
|
+
--color-agent-cyan-light: #5ce1e6;
|
|
17
|
+
--color-agent-magenta-light: #ff66ff;
|
|
18
|
+
|
|
19
|
+
--font-inter: var(--font-inter), sans-serif;
|
|
20
|
+
--font-nacelle: var(--font-nacelle), sans-serif;
|
|
21
|
+
|
|
22
|
+
--text-xs: 0.8125rem;
|
|
23
|
+
--text-xs--line-height: 1.5384;
|
|
24
|
+
--text-sm: 0.875rem;
|
|
25
|
+
--text-sm--line-height: 1.5715;
|
|
26
|
+
--text-base: 0.9375rem;
|
|
27
|
+
--text-base--line-height: 1.5333;
|
|
28
|
+
--text-base--letter-spacing: -0.0125em;
|
|
29
|
+
--text-lg: 1.125rem;
|
|
30
|
+
--text-lg--line-height: 1.5;
|
|
31
|
+
--text-lg--letter-spacing: -0.0125em;
|
|
32
|
+
--text-xl: 1.25rem;
|
|
33
|
+
--text-xl--line-height: 1.5;
|
|
34
|
+
--text-xl--letter-spacing: -0.0125em;
|
|
35
|
+
--text-2xl: 1.5rem;
|
|
36
|
+
--text-2xl--line-height: 1.415;
|
|
37
|
+
--text-2xl--letter-spacing: -0.0268em;
|
|
38
|
+
--text-3xl: 1.75rem;
|
|
39
|
+
--text-3xl--line-height: 1.3571;
|
|
40
|
+
--text-3xl--letter-spacing: -0.0268em;
|
|
41
|
+
--text-4xl: 2.5rem;
|
|
42
|
+
--text-4xl--line-height: 1.1;
|
|
43
|
+
--text-4xl--letter-spacing: -0.0268em;
|
|
44
|
+
--text-5xl: 3.5rem;
|
|
45
|
+
--text-5xl--line-height: 1;
|
|
46
|
+
--text-5xl--letter-spacing: -0.0268em;
|
|
47
|
+
--text-6xl: 4rem;
|
|
48
|
+
--text-6xl--line-height: 1;
|
|
49
|
+
--text-6xl--letter-spacing: -0.0268em;
|
|
50
|
+
--text-7xl: 4.5rem;
|
|
51
|
+
--text-7xl--line-height: 1;
|
|
52
|
+
--text-7xl--letter-spacing: -0.0268em;
|
|
53
|
+
|
|
54
|
+
--animate-shine: shine 5s ease-in-out 500ms infinite;
|
|
55
|
+
--animate-gradient: gradient 6s linear infinite;
|
|
56
|
+
|
|
57
|
+
@keyframes shine {
|
|
58
|
+
0% {
|
|
59
|
+
top: 0;
|
|
60
|
+
transform: scaleY(5);
|
|
61
|
+
opacity: 0;
|
|
62
|
+
}
|
|
63
|
+
10% {
|
|
64
|
+
opacity: 0.8;
|
|
65
|
+
}
|
|
66
|
+
20% {
|
|
67
|
+
top: 100%;
|
|
68
|
+
transform: scaleY(10);
|
|
69
|
+
opacity: 0;
|
|
70
|
+
}
|
|
71
|
+
100% {
|
|
72
|
+
top: 100%;
|
|
73
|
+
transform: scaleY(1);
|
|
74
|
+
opacity: 0;
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
@keyframes gradient {
|
|
78
|
+
to {
|
|
79
|
+
background-position: 200% center;
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
/*
|
|
85
|
+
The default border color has changed to `currentColor` in Tailwind CSS v4,
|
|
86
|
+
so we've added these compatibility styles to make sure everything still
|
|
87
|
+
looks the same as it did with Tailwind CSS v3.
|
|
88
|
+
|
|
89
|
+
If we ever want to remove these styles, we need to add an explicit border
|
|
90
|
+
color utility to any element that depends on these defaults.
|
|
91
|
+
*/
|
|
92
|
+
@layer base {
|
|
93
|
+
*,
|
|
94
|
+
::after,
|
|
95
|
+
::before,
|
|
96
|
+
::backdrop,
|
|
97
|
+
::file-selector-button {
|
|
98
|
+
border-color: var(--color-gray-200, currentColor);
|
|
99
|
+
}
|
|
100
|
+
}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import "./css/style.css";
|
|
2
|
+
|
|
3
|
+
import { Inter } from "next/font/google";
|
|
4
|
+
import localFont from "next/font/local";
|
|
5
|
+
|
|
6
|
+
import Header from "@/components/ui/header";
|
|
7
|
+
|
|
8
|
+
const inter = Inter({
|
|
9
|
+
subsets: ["latin"],
|
|
10
|
+
variable: "--font-inter",
|
|
11
|
+
display: "swap",
|
|
12
|
+
});
|
|
13
|
+
|
|
14
|
+
const nacelle = localFont({
|
|
15
|
+
src: [
|
|
16
|
+
{
|
|
17
|
+
path: "../public/fonts/nacelle-regular.woff2",
|
|
18
|
+
weight: "400",
|
|
19
|
+
style: "normal",
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
path: "../public/fonts/nacelle-italic.woff2",
|
|
23
|
+
weight: "400",
|
|
24
|
+
style: "italic",
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
path: "../public/fonts/nacelle-semibold.woff2",
|
|
28
|
+
weight: "600",
|
|
29
|
+
style: "normal",
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
path: "../public/fonts/nacelle-semibolditalic.woff2",
|
|
33
|
+
weight: "600",
|
|
34
|
+
style: "italic",
|
|
35
|
+
},
|
|
36
|
+
],
|
|
37
|
+
variable: "--font-nacelle",
|
|
38
|
+
display: "swap",
|
|
39
|
+
});
|
|
40
|
+
|
|
41
|
+
export const metadata = {
|
|
42
|
+
title: "Create Next App",
|
|
43
|
+
description: "Generated by create next app",
|
|
44
|
+
};
|
|
45
|
+
|
|
46
|
+
export default function RootLayout({
|
|
47
|
+
children,
|
|
48
|
+
}: {
|
|
49
|
+
children: React.ReactNode;
|
|
50
|
+
}) {
|
|
51
|
+
return (
|
|
52
|
+
<html lang="en">
|
|
53
|
+
<body
|
|
54
|
+
className={`${inter.variable} ${nacelle.variable} bg-gray-950 font-inter text-base text-gray-200 antialiased`}
|
|
55
|
+
>
|
|
56
|
+
<div className="flex min-h-screen flex-col overflow-hidden supports-[overflow:clip]:overflow-clip">
|
|
57
|
+
<Header />
|
|
58
|
+
{children}
|
|
59
|
+
</div>
|
|
60
|
+
</body>
|
|
61
|
+
</html>
|
|
62
|
+
);
|
|
63
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
|
|
3
|
+
import { Prism as SyntaxHighlighter } from 'react-syntax-highlighter';
|
|
4
|
+
import { vscDarkPlus } from 'react-syntax-highlighter/dist/esm/styles/prism';
|
|
5
|
+
|
|
6
|
+
interface CodeBlockProps {
|
|
7
|
+
language: string;
|
|
8
|
+
children: string;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
export function CodeBlock({ language, children }: CodeBlockProps) {
|
|
12
|
+
return (
|
|
13
|
+
<SyntaxHighlighter
|
|
14
|
+
language={language}
|
|
15
|
+
style={vscDarkPlus}
|
|
16
|
+
customStyle={{
|
|
17
|
+
margin: '1.5rem 0',
|
|
18
|
+
borderRadius: '0.75rem',
|
|
19
|
+
fontSize: '0.875rem',
|
|
20
|
+
border: '1px solid rgb(31 41 55)', // gray-800
|
|
21
|
+
padding: '1.5rem',
|
|
22
|
+
}}
|
|
23
|
+
>
|
|
24
|
+
{children}
|
|
25
|
+
</SyntaxHighlighter>
|
|
26
|
+
);
|
|
27
|
+
}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import Image from "next/image";
|
|
2
|
+
import BlurredShape from "@/public/images/blurred-shape.svg";
|
|
3
|
+
|
|
4
|
+
export default function Cta() {
|
|
5
|
+
return (
|
|
6
|
+
<section className="relative overflow-hidden">
|
|
7
|
+
<div
|
|
8
|
+
className="pointer-events-none absolute bottom-0 left-1/2 -z-10 -mb-24 ml-20 -translate-x-1/2"
|
|
9
|
+
aria-hidden="true"
|
|
10
|
+
>
|
|
11
|
+
<Image
|
|
12
|
+
className="max-w-none"
|
|
13
|
+
src={BlurredShape}
|
|
14
|
+
width={760}
|
|
15
|
+
height={668}
|
|
16
|
+
alt="Blurred shape"
|
|
17
|
+
/>
|
|
18
|
+
</div>
|
|
19
|
+
<div className="max-w6xl mx-auto px-4 sm:px-6">
|
|
20
|
+
<div className="bg-linear-to-r from-transparent via-gray-800/50 py-12 md:py-20">
|
|
21
|
+
<div className="mx-auto max-w-3xl text-center">
|
|
22
|
+
<h2
|
|
23
|
+
className="animate-[gradient_6s_linear_infinite] bg-[linear-gradient(to_right,var(--color-gray-200),var(--color-indigo-200),var(--color-gray-50),var(--color-indigo-300),var(--color-gray-200))] bg-[length:200%_auto] bg-clip-text pb-8 font-nacelle text-3xl font-semibold text-transparent md:text-4xl"
|
|
24
|
+
data-aos="fade-up"
|
|
25
|
+
>
|
|
26
|
+
Join the Discussion
|
|
27
|
+
</h2>
|
|
28
|
+
<div className="mx-auto max-w-xs sm:flex sm:max-w-none sm:justify-center">
|
|
29
|
+
<div data-aos="fade-up" data-aos-delay={400}>
|
|
30
|
+
<a
|
|
31
|
+
className="btn group mb-4 w-full bg-linear-to-t from-indigo-600 to-indigo-500 bg-[length:100%_100%] bg-[bottom] text-white shadow-[inset_0px_1px_0px_0px_--theme(--color-white/.16)] hover:bg-[length:100%_150%] sm:mb-0 sm:w-auto"
|
|
32
|
+
href="https://github.com/paulpreibisch/AgentVibes/discussions"
|
|
33
|
+
target="_blank"
|
|
34
|
+
rel="noopener noreferrer"
|
|
35
|
+
>
|
|
36
|
+
<span className="relative inline-flex items-center">
|
|
37
|
+
GitHub Discussions
|
|
38
|
+
<span className="ml-1 tracking-normal text-white/50 transition-transform group-hover:translate-x-0.5">
|
|
39
|
+
->
|
|
40
|
+
</span>
|
|
41
|
+
</span>
|
|
42
|
+
</a>
|
|
43
|
+
</div>
|
|
44
|
+
<div data-aos="fade-up" data-aos-delay={600}>
|
|
45
|
+
<a
|
|
46
|
+
className="btn relative w-full bg-linear-to-b from-gray-800 to-gray-800/60 bg-[length:100%_100%] bg-[bottom] text-gray-300 before:pointer-events-none before:absolute before:inset-0 before:rounded-[inherit] before:border before:border-transparent before:[background:linear-gradient(to_right,var(--color-gray-800),var(--color-gray-700),var(--color-gray-800))_border-box] before:[mask-composite:exclude_!important] before:[mask:linear-gradient(white_0_0)_padding-box,_linear-gradient(white_0_0)] hover:bg-[length:100%_150%] sm:ml-4 sm:w-auto"
|
|
47
|
+
href="mailto:paul@agentvibes.org"
|
|
48
|
+
>
|
|
49
|
+
Contact paul@agentvibes.org
|
|
50
|
+
</a>
|
|
51
|
+
</div>
|
|
52
|
+
</div>
|
|
53
|
+
</div>
|
|
54
|
+
</div>
|
|
55
|
+
</div>
|
|
56
|
+
</section>
|
|
57
|
+
);
|
|
58
|
+
}
|
|
@@ -0,0 +1,256 @@
|
|
|
1
|
+
import Image from "next/image";
|
|
2
|
+
import BlurredShapeGray from "@/public/images/blurred-shape-gray.svg";
|
|
3
|
+
import BlurredShape from "@/public/images/blurred-shape.svg";
|
|
4
|
+
import FeaturesImage from "@/public/images/features.png";
|
|
5
|
+
|
|
6
|
+
export default function Features() {
|
|
7
|
+
return (
|
|
8
|
+
<section className="relative">
|
|
9
|
+
<div
|
|
10
|
+
className="pointer-events-none absolute left-1/2 top-0 -z-10 -mt-20 -translate-x-1/2"
|
|
11
|
+
aria-hidden="true"
|
|
12
|
+
>
|
|
13
|
+
<Image
|
|
14
|
+
className="max-w-none"
|
|
15
|
+
src={BlurredShapeGray}
|
|
16
|
+
width={760}
|
|
17
|
+
height={668}
|
|
18
|
+
alt="Blurred shape"
|
|
19
|
+
/>
|
|
20
|
+
</div>
|
|
21
|
+
<div
|
|
22
|
+
className="pointer-events-none absolute bottom-0 left-1/2 -z-10 -mb-80 -translate-x-[120%] opacity-50"
|
|
23
|
+
aria-hidden="true"
|
|
24
|
+
>
|
|
25
|
+
<Image
|
|
26
|
+
className="max-w-none"
|
|
27
|
+
src={BlurredShape}
|
|
28
|
+
width={760}
|
|
29
|
+
height={668}
|
|
30
|
+
alt="Blurred shape"
|
|
31
|
+
/>
|
|
32
|
+
</div>
|
|
33
|
+
<div className="mx-auto max-w-6xl px-4 sm:px-6">
|
|
34
|
+
<div className="border-t py-12 [border-image:linear-gradient(to_right,transparent,--theme(--color-slate-400/.25),transparent)1] md:py-20">
|
|
35
|
+
{/* Section header */}
|
|
36
|
+
<div id="products" className="mx-auto max-w-3xl pb-4 text-center md:pb-12">
|
|
37
|
+
<div className="inline-flex items-center gap-3 pb-3 before:h-px before:w-8 before:bg-linear-to-r before:from-transparent before:to-indigo-200/50 after:h-px after:w-8 after:bg-linear-to-l after:from-transparent after:to-indigo-200/50">
|
|
38
|
+
<span className="inline-flex bg-linear-to-r from-indigo-500 to-indigo-200 bg-clip-text text-transparent">
|
|
39
|
+
Products
|
|
40
|
+
</span>
|
|
41
|
+
</div>
|
|
42
|
+
<h2 className="animate-[gradient_6s_linear_infinite] bg-[linear-gradient(to_right,var(--color-gray-200),var(--color-indigo-200),var(--color-gray-50),var(--color-indigo-300),var(--color-gray-200))] bg-[length:200%_auto] bg-clip-text pb-4 font-nacelle text-3xl font-semibold text-transparent md:text-4xl">
|
|
43
|
+
AgentVibes v2.0
|
|
44
|
+
</h2>
|
|
45
|
+
<p className="text-lg text-indigo-200/65">
|
|
46
|
+
The Multi-Provider Revolution - Choose between ElevenLabs (150+ premium AI voices) or Piper TTS (50+ free voices).
|
|
47
|
+
200+ total voices, 30+ languages, 19 personalities, and seamless provider switching.
|
|
48
|
+
</p>
|
|
49
|
+
</div>
|
|
50
|
+
<div className="flex justify-center pb-4 md:pb-12" data-aos="fade-up">
|
|
51
|
+
<Image
|
|
52
|
+
className="max-w-none"
|
|
53
|
+
src={FeaturesImage}
|
|
54
|
+
width={1104}
|
|
55
|
+
height={384}
|
|
56
|
+
alt="Features"
|
|
57
|
+
/>
|
|
58
|
+
</div>
|
|
59
|
+
{/* Items */}
|
|
60
|
+
<div className="mx-auto grid max-w-sm gap-12 sm:max-w-none sm:grid-cols-2 md:gap-x-14 md:gap-y-16 lg:grid-cols-3">
|
|
61
|
+
<article>
|
|
62
|
+
<svg
|
|
63
|
+
className="mb-3 fill-indigo-500"
|
|
64
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
65
|
+
width={24}
|
|
66
|
+
height={24}
|
|
67
|
+
>
|
|
68
|
+
<path d="M0 0h14v17H0V0Zm2 2v13h10V2H2Z" />
|
|
69
|
+
<path
|
|
70
|
+
fillOpacity=".48"
|
|
71
|
+
d="m16.295 5.393 7.528 2.034-4.436 16.412L5.87 20.185l.522-1.93 11.585 3.132 3.392-12.55-5.597-1.514.522-1.93Z"
|
|
72
|
+
/>
|
|
73
|
+
</svg>
|
|
74
|
+
<h3 className="mb-1 font-nacelle text-[1rem] font-semibold text-gray-200">
|
|
75
|
+
Multi-Provider Support
|
|
76
|
+
</h3>
|
|
77
|
+
<p className="text-indigo-200/65">
|
|
78
|
+
Choose between ElevenLabs (150+ premium AI voices) or Piper TTS (50+ free, offline neural voices).
|
|
79
|
+
Switch providers seamlessly with /agent-vibes:provider switch command.
|
|
80
|
+
</p>
|
|
81
|
+
</article>
|
|
82
|
+
<article>
|
|
83
|
+
<svg
|
|
84
|
+
className="mb-3 fill-indigo-500"
|
|
85
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
86
|
+
width={24}
|
|
87
|
+
height={24}
|
|
88
|
+
>
|
|
89
|
+
<path fillOpacity=".48" d="M7 8V0H5v8h2Zm12 16v-4h-2v4h2Z" />
|
|
90
|
+
<path d="M19 6H0v2h17v8H7v-6H5v8h19v-2h-5V6Z" />
|
|
91
|
+
</svg>
|
|
92
|
+
<h3 className="mb-1 font-nacelle text-[1rem] font-semibold text-gray-200">
|
|
93
|
+
27+ Professional Voices
|
|
94
|
+
</h3>
|
|
95
|
+
<p className="text-indigo-200/65">
|
|
96
|
+
Curated library of premium ElevenLabs voices including Aria, Archer, Cowboy Bob, Pirate Marshal,
|
|
97
|
+
and Grandpa Spuds. Character voices, accents, and unique personalities.
|
|
98
|
+
</p>
|
|
99
|
+
</article>
|
|
100
|
+
<article>
|
|
101
|
+
<svg
|
|
102
|
+
className="mb-3 fill-indigo-500"
|
|
103
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
104
|
+
width={24}
|
|
105
|
+
height={24}
|
|
106
|
+
>
|
|
107
|
+
<path d="M23.414 6 18 .586 16.586 2l3 3H7a6 6 0 0 0-6 6h2a4 4 0 0 1 4-4h12.586l-3 3L18 11.414 23.414 6Z" />
|
|
108
|
+
<path
|
|
109
|
+
fillOpacity=".48"
|
|
110
|
+
d="M13.01 12.508a2.5 2.5 0 0 0-3.502.482L1.797 23.16.203 21.952l7.71-10.17a4.5 4.5 0 1 1 7.172 5.437l-4.84 6.386-1.594-1.209 4.841-6.385a2.5 2.5 0 0 0-.482-3.503Z"
|
|
111
|
+
/>
|
|
112
|
+
</svg>
|
|
113
|
+
<h3 className="mb-1 font-nacelle text-[1rem] font-semibold text-gray-200">
|
|
114
|
+
19 Built-in Personalities
|
|
115
|
+
</h3>
|
|
116
|
+
<p className="text-indigo-200/65">
|
|
117
|
+
Sarcastic, flirty, pirate, grandpa, zen, angry, robot, millennial, surfer-dude, and more!
|
|
118
|
+
Each personality combines a dedicated voice with unique speaking style.
|
|
119
|
+
</p>
|
|
120
|
+
</article>
|
|
121
|
+
<article>
|
|
122
|
+
<svg
|
|
123
|
+
className="mb-3 fill-indigo-500"
|
|
124
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
125
|
+
width={24}
|
|
126
|
+
height={24}
|
|
127
|
+
>
|
|
128
|
+
<path
|
|
129
|
+
fillOpacity=".48"
|
|
130
|
+
d="m3.031 9.05-.593-.805 1.609-1.187.594.804a6.966 6.966 0 0 1 0 8.276l-.594.805-1.61-1.188.594-.805a4.966 4.966 0 0 0 0-5.9Z"
|
|
131
|
+
/>
|
|
132
|
+
<path d="m7.456 6.676-.535-.845 1.69-1.07.534.844a11.944 11.944 0 0 1 0 12.789l-.535.845-1.69-1.071.536-.845a9.944 9.944 0 0 0 0-10.647Z" />
|
|
133
|
+
<path
|
|
134
|
+
d="m11.888 4.35-.514-.858 1.717-1.027.513.858a16.9 16.9 0 0 1 2.4 8.677 16.9 16.9 0 0 1-2.4 8.676l-.513.859-1.717-1.028.514-.858A14.9 14.9 0 0 0 14.003 12a14.9 14.9 0 0 0-2.115-7.65Z"
|
|
135
|
+
opacity=".48"
|
|
136
|
+
/>
|
|
137
|
+
<path d="m16.321 2-.5-.866 1.733-1 .5.866A22 22 0 0 1 21 12c0 3.852-1.017 7.636-2.948 10.97l-.502.865-1.73-1.003.501-.865A19.878 19.878 0 0 0 19 12a20 20 0 0 0-2.679-10Z" />
|
|
138
|
+
</svg>
|
|
139
|
+
<h3 className="mb-1 font-nacelle text-[1rem] font-semibold text-gray-200">
|
|
140
|
+
30+ Languages Supported
|
|
141
|
+
</h3>
|
|
142
|
+
<p className="text-indigo-200/65">
|
|
143
|
+
Multilingual voices including Spanish, French, German, Italian, Portuguese, Chinese, Japanese, Korean,
|
|
144
|
+
Polish, Dutch, Turkish, Russian, and more with native quality.
|
|
145
|
+
</p>
|
|
146
|
+
</article>
|
|
147
|
+
<article>
|
|
148
|
+
<svg
|
|
149
|
+
className="mb-3 fill-indigo-500"
|
|
150
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
151
|
+
width={24}
|
|
152
|
+
height={24}
|
|
153
|
+
>
|
|
154
|
+
<path
|
|
155
|
+
fillOpacity=".48"
|
|
156
|
+
d="M12 8.8a3 3 0 1 0 0 6 3 3 0 0 0 0-6Zm-5 3a5 5 0 1 1 10 0 5 5 0 0 1-10 0Z"
|
|
157
|
+
/>
|
|
158
|
+
<path d="m7.454 2.891.891-.454L7.437.655l-.891.454a12 12 0 0 0 0 21.382l.89.454.91-1.781-.892-.455a10 10 0 0 1 0-17.818ZM17.456 1.11l-.891-.454-.909 1.782.891.454a10 10 0 0 1 0 17.819l-.89.454.908 1.781.89-.454a12 12 0 0 0 0-21.382Z" />
|
|
159
|
+
</svg>
|
|
160
|
+
<h3 className="mb-1 font-nacelle text-[1rem] font-semibold text-gray-200">
|
|
161
|
+
BMAD Plugin Integration
|
|
162
|
+
</h3>
|
|
163
|
+
<p className="text-indigo-200/65">
|
|
164
|
+
Auto-detects{" "}
|
|
165
|
+
<a
|
|
166
|
+
href="https://github.com/bmad-code-org/BMAD-METHOD"
|
|
167
|
+
target="_blank"
|
|
168
|
+
rel="noopener noreferrer"
|
|
169
|
+
className="text-indigo-400 underline hover:text-indigo-300"
|
|
170
|
+
>
|
|
171
|
+
BMAD agents
|
|
172
|
+
</a>{" "}
|
|
173
|
+
and switches voices automatically. Each agent role
|
|
174
|
+
(PM, Dev, QA, Architect) gets its own dedicated voice for immersive multi-agent sessions.
|
|
175
|
+
</p>
|
|
176
|
+
</article>
|
|
177
|
+
<article>
|
|
178
|
+
<svg
|
|
179
|
+
className="mb-3 fill-indigo-500"
|
|
180
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
181
|
+
width={24}
|
|
182
|
+
height={24}
|
|
183
|
+
>
|
|
184
|
+
<path
|
|
185
|
+
fillOpacity=".48"
|
|
186
|
+
d="M19 8h5v2h-5V8Zm-4 5h9v2h-9v-2Zm9 5H11v2h13v-2Z"
|
|
187
|
+
/>
|
|
188
|
+
<path d="M19.406 3.844 6.083 20.497.586 15 2 13.586l3.917 3.917L17.844 2.595l1.562 1.25Z" />
|
|
189
|
+
</svg>
|
|
190
|
+
<h3 className="mb-1 font-nacelle text-[1rem] font-semibold text-gray-200">
|
|
191
|
+
One-Command Install
|
|
192
|
+
</h3>
|
|
193
|
+
<p className="text-indigo-200/65">
|
|
194
|
+
Get started in seconds with npx agentvibes install. Seamless Claude Code integration,
|
|
195
|
+
instant voice setup, persistent configuration, and automatic updates.
|
|
196
|
+
</p>
|
|
197
|
+
</article>
|
|
198
|
+
<article>
|
|
199
|
+
<svg
|
|
200
|
+
className="mb-3 fill-indigo-500"
|
|
201
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
202
|
+
width={24}
|
|
203
|
+
height={24}
|
|
204
|
+
>
|
|
205
|
+
<path d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm-2 15l-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8l-9 9z" />
|
|
206
|
+
</svg>
|
|
207
|
+
<h3 className="mb-1 font-nacelle text-[1rem] font-semibold text-gray-200">
|
|
208
|
+
Sentiment System
|
|
209
|
+
</h3>
|
|
210
|
+
<p className="text-indigo-200/65">
|
|
211
|
+
Apply personality styles to ANY voice without changing it. Keep your favorite voice
|
|
212
|
+
and add sarcastic, flirty, or zen speaking styles on demand.
|
|
213
|
+
</p>
|
|
214
|
+
</article>
|
|
215
|
+
<article>
|
|
216
|
+
<svg
|
|
217
|
+
className="mb-3 fill-indigo-500"
|
|
218
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
219
|
+
width={24}
|
|
220
|
+
height={24}
|
|
221
|
+
>
|
|
222
|
+
<path fillOpacity=".48" d="M8 2v6H2V2h6zm0 8v6H2v-6h6z" />
|
|
223
|
+
<path d="M22 2v6h-6V2h6zm0 8v6h-6v-6h6zm0 8v6h-6v-6h6zM8 18v6H2v-6h6z" />
|
|
224
|
+
</svg>
|
|
225
|
+
<h3 className="mb-1 font-nacelle text-[1rem] font-semibold text-gray-200">
|
|
226
|
+
Voice Preview & Replay
|
|
227
|
+
</h3>
|
|
228
|
+
<p className="text-indigo-200/65">
|
|
229
|
+
Preview voices with /agent-vibes:preview before switching. Replay the last 10 TTS messages
|
|
230
|
+
with /agent-vibes:replay. Test any voice with /agent-vibes:sample.
|
|
231
|
+
</p>
|
|
232
|
+
</article>
|
|
233
|
+
<article>
|
|
234
|
+
<svg
|
|
235
|
+
className="mb-3 fill-indigo-500"
|
|
236
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
237
|
+
width={24}
|
|
238
|
+
height={24}
|
|
239
|
+
>
|
|
240
|
+
<path d="M12 2L2 7v10c0 5.55 3.84 10.74 9 12 5.16-1.26 9-6.45 9-12V7l-10-5z" fillOpacity=".48" />
|
|
241
|
+
<path d="M12 1L3 5v6c0 5.55 3.84 10.74 9 12 5.16-1.26 9-6.45 9-12V5l-9-4z" />
|
|
242
|
+
</svg>
|
|
243
|
+
<h3 className="mb-1 font-nacelle text-[1rem] font-semibold text-gray-200">
|
|
244
|
+
Custom Voice & Personalities
|
|
245
|
+
</h3>
|
|
246
|
+
<p className="text-indigo-200/65">
|
|
247
|
+
Add your own ElevenLabs voices with /agent-vibes:add. Create custom personalities
|
|
248
|
+
with unique speaking styles. Full markdown-based personality editor included.
|
|
249
|
+
</p>
|
|
250
|
+
</article>
|
|
251
|
+
</div>
|
|
252
|
+
</div>
|
|
253
|
+
</div>
|
|
254
|
+
</section>
|
|
255
|
+
);
|
|
256
|
+
}
|