Moodwave reads your repository, detects your working mood from code signals, and streams perfectly matched music right in your terminal.
macOS / Linux
Windows (PowerShell)
Most developers listen to music while coding. But the playlist never quite fits — too energetic for deep focus, too mellow when you're debugging a race condition at midnight.
Moodwave reads your repository. It looks at what you're building, how many open TODOs are piling up, what languages are active, how your git tree looks — and it infers the kind of music that actually matches where your head is.
No playlist curation. No manual mode switching. Just run `moodwave` and let it figure out the rest.
Install
One curl command or PowerShell snippet. No Go runtime needed. The binary lands in your PATH.
Scan
Moodwave walks your repository — files, languages, git state, TODOs, code patterns — and builds a semantic profile.
Infer Mood
A weighted heuristic engine maps code signals to one of 10 developer moods — Focus, Debug, Sprint, Flow, and more.
Play
The recommender fetches music matching your mood from YouTube, Jamendo, or Radio Browser and streams it in terminal.
Moodwave renders entirely in your shell — no browser, no Electron, no GUI. The interactive TUI shows the scan result, mood confidence, now playing track, playback progress, and a live waveform.
Codebase mood scan
Analyzes file types, TODO density, git markers, and code patterns to classify your cognitive state into one of 10 developer moods.
Music matching engine
BPM-aware, tag-based recommender ranks tracks against your mood profile, weighted by energy, genre, and session history.
Stream from 3 sources
YouTube (via yt-dlp), Jamendo Creative Commons catalog, and 30,000+ Internet Radio stations via Radio Browser.
Live terminal visuals
Six visual themes — waveform, spectrum, pulse, vinyl, minimal, quiet — animated in real time during playback.
Self-updating
Checks GitHub Releases on launch and swaps the binary in-place. Always on the latest version, zero manual updates.
Cross-platform binary
Single binary for Windows (amd64/arm64), macOS (Intel/M-series), and Linux (amd64/arm64/arm). No Go runtime needed.
Every component is independently replaceable.
Walks the file tree, extracts language composition, TODO/FIXME density, git metadata, and dependency manifest signals.
Applies 13 weighted heuristic rules and a naive Bayes semantic classifier to map code signals to one of 10 developer mood profiles.
Ranks candidate tracks by BPM range, energy, tag overlap, and artist diversity. Boosts tracks matching the currently playing song.
Pluggable adapters for YouTube (yt-dlp), Jamendo API, and Radio Browser. Falls back automatically if a source fails.
Streams audio via mpv, ffplay, or Windows PowerShell. Auto-retries on network drops with HTTP Range resume.
ANSI escape-based TUI with six animated visual modes. Single goroutine keyboard listener — no input lag.
Pre-compiled binaries for every major OS and CPU. No Go runtime, no build step.
Supported
Install
Start
Update
Run moodwave doctor after install to verify everything is working.
Install Moodwave in one command. Start scanning. Let it play.
macOS / Linux
Windows (PowerShell)