Spotuify

Spotuify

A daemon-backed, CLI-first, keyboard-native Spotify controller and music library runtime for the terminal. Same architectural blueprint as Mxr, pointed at music instead of email.

Project lives at: ~/code/bhekanik/spotuify/
Repository: https://github.com/planetaryescape/spotuify

In one paragraph

A single binary spotuify with subcommands. Bare spotuify opens a TUI; spotuify search, spotuify play, spotuify queue add, etc. are CLI subcommands that talk to a local daemon over a Unix socket with length-delimited JSON. The daemon owns runtime state (current playback, queue, devices), SQLite (cached metadata, canonical local truth), Tantivy (search, rebuildable), and playback via embedded librespot driving a Spotify Connect device. Everything else (TUI, CLI, MCP, agents) is a client of the same IPC contract. The CLI is the canonical surface, which is also why an agent can drive and verify every feature end to end.

The rules it shares with mxr

The 2026-05-23 idiomatic audit

A full idiomatic-Rust pass against Idiomatic Rust Rubric. Verdict: already strong, production-minded Rust — zero unwrap/expect/panic in non-test production code across all 14 crates. The findings that became reusable notes:

Weak cells were structural (a 1190-line daemon dispatch function, a 79-field TUI App) and a few async-blocking spots, never safety or correctness. The high-risk rewrites were documented and deferred.

Gotchas worth remembering

See also