Skip to content
reklawdbox logo — a crab gripping a vinyl record

reklawdbox

v0.26.0 — Agent-powered Rekordbox library management. Clean up metadata, classify genres, and build sets through conversation.
  1. Tap and install

    Terminal window
    brew tap ryan-voitiskis/reklawdbox && brew install reklawdbox
  2. Run setup — installs audio analysis tools and configures Claude Code + Claude Desktop

    Terminal window
    reklawdbox setup
  3. Start a conversation

    Terminal window
    cd ~/Music && claude --dangerously-skip-permissions

    The --dangerously-skip-permissions flag is needed for multi-step workflows. Why this is safe →

You probably have metadata issues. Library Cleanup walks you through five sessions that fix naming conventions, enrich tracks from Discogs, Beatport, MusicBrainz, and Bandcamp, backfill missing labels and years, classify genres, and verify the results.

It’s the foundation for everything else — enrichment data powers genre classification, and classified genres are used by set building and pool discovery.

Once your library is clean and enriched:

Set Building

Build transition-scored sequences with energy curve shaping — key, BPM, energy, genre, brightness, and rhythm. Build a set

Pool Building

Discover compatible track pools for live improvisation. Symmetric scoring finds tracks that mix well in any direction. Build a pool

Gig Prep

Describe your gig — venue, time slot, vibe — and the agent translates context into curated pools and sequences. Prep for a gig

Chapter Sets

Plan multi-chapter sets with bridge tracks between sections. Lock your chapters, let the agent connect them. Plan chapters

reklawdbox never writes to your Rekordbox database. Changes are staged in memory, reviewed by you, and exported as Rekordbox-compatible XML for reimport. The agent handles the tedious work — you make every final call.

  • Read-only database access — your master.db is never modified
  • Human-in-the-loop — every change requires your approval before export
  • No background process — request-response only, nothing runs when you’re not using it