Command-line interface for Pioneer Rekordbox 6/7 - DJ library and live-deck control via guarded SQLCipher master.db access (pyrekordbox) + virtual MIDI mapping. Provides library inspection, playlist creation/add/clear, and live-deck mixing (play/sync/crossfade/EQ). Pioneer ships no playback REST API; this harness combines the only two real surfaces (encrypted DB + MIDI) into one agent-native CLI.
Scanned 5/30/2026
Install via CLI
openskills install gabrielmoreira/agent-skills-mirror---
name: "cli-anything-rekordbox"
description: >-
Command-line interface for Pioneer Rekordbox 6/7 - DJ library and live-deck control via guarded SQLCipher master.db access (pyrekordbox) + virtual MIDI mapping. Provides library inspection, playlist creation/add/clear, and live-deck mixing (play/sync/crossfade/EQ). Pioneer ships no playback REST API; this harness combines the only two real surfaces (encrypted DB + MIDI) into one agent-native CLI.
---
# cli-anything-rekordbox
Agent-native CLI for Pioneer Rekordbox 6/7. Drives the DJ library and live decks programmatically.
## Installation
```bash
pip install cli-anything-rekordbox
```
**Prerequisites:**
- Python 3.10+
- Rekordbox 6 or 7 installed (`master.db` must exist)
- Virtual MIDI driver for live-deck control:
- Windows: loopMIDI / LoopBe / teVirtualMIDI
- macOS: IAC Driver
- Linux: ALSA virtual MIDI (`snd-virmidi`)
## Usage
```bash
# 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.csv` format; this CLI ships `Bunker.midi.csv` and an `install-mapping` command to drop it into rekordbox's `MidiMappings/` folder
## JSON output
Every command supports `--json`:
```bash
$ cli-anything-rekordbox --json library count
{"track_count": 30344}
```
## License
MIT
No comments yet. Be the first to comment!