Your codebase has a soundtrack

Every commit carries the Spotify track that was playing when the code was written. A git hook injects it. CI enforces it. No music, no merge.

$ git log -1
feat: polish player UI and fix now-playing box alignment
🎵 https://open.spotify.com/track/1MQTmpYOZ6fcMQc56Hdo7T

✓ vibe-check — track found, commit accepted

How the soundtrack happens

A pre-commit hook asks Spotify what you're listening to and appends it to your commit message. CI runs a vibe check on every push — no track URL means a red build. Merge commits get a pass because even we aren't that unhinged.

The byproduct is the vibes page: an auto-generated, living soundtrack of the entire codebase. Every song that was playing when every line was written, regenerated on every push to master.

🎵
Pre-commit hook reads the Spotify API, injects the current track into your commit message
🚨
Vibe Check CI scans every commit for a Spotify URL. No music, no merge.
♻️
Vibes page regenerates automatically on every push — your git history as a playlist
💻
DJ Hook blocks your AI coding assistant from running commands if Spotify isn't playing

The player

Underneath the gimmick is a genuinely premium terminal player built on php-tui — live progress track, album art, queue peek, fuzzy search palette, and keyboard-driven everything. Spotify, but it never leaves your prompt.

spotify player screenshot / GIF coming soon

And yes, it’s a full Spotify CLI

30+ commands built on Laravel Zero — the soundtrack is enforced, but the day-to-day tooling carries its weight too.

Playback Control

Play, pause, skip, volume, shuffle, repeat. Full control over Spotify without leaving the terminal.

Discovery

AI-friendly search, mood queues, and autopilot presets (chill, flow, hype, focus, party, upbeat, melancholy, ambient, workout, sleep) powered by your listening history.

Queue Management

Add tracks, view upcoming songs, and auto-fill your queue using Spotify's recommendation engine.

Interactive Player

The php-tui player above — progress bar, album art, search palette, and keyboard controls.

Daemon Mode

Background playback with spotifyd, macOS media key integration, and Control Center sync via nowplaying.

MCP Server

Expose playback and discovery as MCP tools so your AI assistant can DJ while you code.

# Install globally
composer global require the-shit/music

# Set up Spotify credentials
spotify setup

# Authenticate
spotify login

# Play something
spotify play "Killing In the Name"

# See what's playing
spotify current

# Launch interactive player
spotify player