releasev0.4.0 licenseMIT node≥18 depszero platformmacOS Β· Linux Β· Windows
procedural Β· zero dependencies

Focus music
while your AI codes.

Every note synthesized on the spot β€” no MP3s, no audio assets. Your project gets its own arrangement, tiers escalate as the agent digs in, and a chime tells you when it's your turn again.

Browse all 8 genres
npm i -g github:kiril6/vibeaudio && vibe --install-hooks
the gap this fills

15–45 seconds of silence is exactly long enough to be annoying.

01

Agents think

Reasoning, reading files, writing code β€” a real turn takes 15 to 45 seconds. Long enough that a blank cursor feels broken.

02

Tabbing away means polling

Switch tasks and you're back checking every few seconds anyway β€” which defeats the point of switching at all.

03

VibeAudio fills it

Music while it thinks, a chime when it's done. You keep reading, writing, or just breathing β€” and know the instant it's your turn.

listen

Eight genres, all synthesized.

Click a genre to hear a full simulated turn β€” gentle intro, main groove, deep focus, then the success chime. Only one plays at a time.

outcome-aware

Three chimes, three meanings.

Ctrl+C is silent on purpose β€” an aborted run is never reported as done.

seeded, not random

Your repo, your sound.

Your working directory seeds the arrangement β€” the seed picks among hand-written, in-key progressions, it never invents harmony. Same repo, same sound, every time you come back.

pick your integration

Hooks, wrapper, or MCP.

Recommended

Agent hooks

Music starts the moment you submit a prompt, stops the moment the agent finishes. No grace-window guessing. For Claude Code, Codex, Cursor, Grok, Gemini CLI, Copilot CLI, Qwen Code.

The wrapper

vibe <command> times the process itself. Right for anything that exits when its work is done β€” vibe npm test, one-shot agent calls, CI.

MCP

For clients with no hook system β€” Claude Desktop, Antigravity. The assistant decides to call vibe_play, so it's a suggestion, not a guarantee.

works with

Drop into what you already use.

Claude Code Β· hooks Codex Β· hooks Cursor Β· hooks Grok Β· hooks Gemini CLI Β· hooks Copilot CLI Β· hooks Qwen Code Β· hooks Claude Desktop Β· MCP Antigravity Β· MCP any command Β· wrapper
features

The details that keep it out of the way.

Grace window

Fast commands stay silent β€” music starts only past 1.5s.

Escalating tiers

Layers build as the agent digs deeper into a turn.

Honest exit codes

vibe claude && deploy behaves exactly like without the wrapper.

Title-bar HUD

A live waveform in the terminal title β€” never corrupts a full-screen TUI.

Pauses for permission

A rising "your turn" chime when the agent is stuck on you.

Mute for calls

vibe --mute β€” expires in an hour so you never forget it's on.

Reactive mode

Opt-in: intensity follows the tool in use, not just elapsed time.

Zero deps

Pure Node.js synthesis. No native bindings, no audio assets.

get started

Three commands.

1

Install globally.

npm i -g github:kiril6/vibeaudio
2

Wire it into your agent's hooks.

vibe --install-hooks
3

Audition a genre before committing.

vibe --preview jazz

Every flag, every troubleshooting note, every hook dialect: the full README.