About cli-anything-rekordbox
cli-anything-rekordbox is an agent-oriented CLI for Rekordbox 6/7. It supports library and playlist operations alongside live deck control through virtual MIDI, with JSON output for commands.
Key features
- 01Search and inspect tracks
- 02Export the music library as JSON
- 03Create and edit playlists
- 04Control decks through MIDI
- 05Mix tracks with a composed command
Use cases
- 01Find tracks by title or artist
- 02Export library data for processing
- 03Create playlists and add tracks
- 04Trigger deck controls and crossfades
Install
Copy the command and run it in a terminal.
$
npx skills add https:/ / github.com/ hkuds/ cli-anything --skill cli-anything-rekordboxAfter installing, type/cli-anything-rekordboxin Claude Code to confirm it loaded.
Details
From the project READMEcli-anything-rekordbox
Agent-native CLI for Pioneer Rekordbox 6/7. Drives the DJ library and live decks programmatically.
Installation
pip install cli-anything-rekordbox
Prerequisites:
- Python 3.10+
- Rekordbox 6 or 7 installed (
master.dbmust exist) - Virtual MIDI driver for live-deck control:
- Windows: loopMIDI / LoopBe / teVirtualMIDI
- macOS: IAC Driver
- Linux: ALSA virtual MIDI (
snd-virmidi)
Usage
# Status check
cli-anything-rekordbox status
# REPL mode
cli-anything-rekordbox
# JSON output for agents
cli-anything-rekordbox --json library search "Daft Punk"
Command Groups
Library
| Command | Description |
|---|---|
count | Total track count |
search QUERY | Find tracks by title/artist substring |
info TRACK_ID | Full track metadata |
dump --out FILE.json | Export full library as JSON |
Playlist
| Command | Description |
|---|---|
list | All playlists |
create NAME [--force] [--no-backup] | New playlist |
add NAME --track-title T [--force] [--no-backup] | Add track |
clear NAME [--force] [--no-backup] | Empty a playlist |
Playlist writes create a master.db backup before mutation. They refuse to run
while Rekordbox is open unless --force is supplied; forced writes still require
a backup. --no-backup is only accepted when Rekordbox is closed.
Deck (live MIDI)
| Command | Description |
|---|---|
play --deck N | Play/pause |
sync --deck N | Tempo sync |
crossfade FROM TO --secs S | Smooth crossfade |
eq --deck N --hi --mid --lo | EQ control |
hot-cue --deck N --slot 1-8 | Trigger hot cue |
Top-level
| Command | Description |
|---|---|
status | Runtime / DB / MIDI state |
install-mapping | Drop Bunker.midi.csv into rekordbox's MidiMappings folder |
mix A B --secs S | High-level: search + load + sync + crossfade |
How it works
+------------------+
| Your Agent |
+--------+---------+
|
v
+------------------+
| cli-anything- |
| rekordbox CLI |
+--------+---------+
| |
v v
+----------+ +----------+
|pyrekord- | | mido + |
|box DB | | virtual |
|writes | | MIDI |
+----------+ +----------+
| |
v v
+----------+ +-----------+
| master.db| | Rekordbox |
|SQLCipher | | live decks|
+----------+ +-----------+
- master.db is encrypted with a static AES-256 key shared by all rekordbox 6/7 installs (auto-extracted by pyrekordbox)
- Virtual MIDI mapping uses Pioneer's standard
.midi.csvformat; this CLI shipsBunker.midi.csvand aninstall-mappingcommand to drop it into rekordbox'sMidiMappings/folder
JSON output
Every command supports --json:
$ cli-anything-rekordbox --json library count
{"track_count": 30344}
License
MIT
Comments
Markdown supported