chrisle / rbxport
git clone https://github.com/chrisle/rbxport.git
A focused music library manager inspired by rekordbox, with USB export and PRO DJ LINK. Built for a faster, simpler workflow.
—
stars, 24h
—
stars, 7 days
+238
stars, 30 days · #1,100
238
★ total
40
forks · 148 open issues
Star history starts 2026-10-20; the chart appears after the second daily snapshot.
LanguageRust
License—
Created2026-09-25 (25d ago)
Last push1d ago
Watchers4
OwnerUser
GitHub topics
alphathetadjlibrary-managementmusic-librarypioneer-djpro-dj-linkreactrekordboxrusttauritypescriptusb-export
Links
- GitHub: github.com/chrisle/rbxport
- Homepage: https://rbxport.com
- Releases · Issues · Hacker News mentions
README excerpt
# rbxport rbxport is a music library management app inspired by rekordbox. It keeps its feature set deliberately small, aiming for a faster, simpler user experience. Its scope is limited to library management, USB exporting, and PRO DJ LINK. ## Project vision The core vision of rbxport is **fewer features**. Because rbxport is open source, you are free to fork it and build a version of rekordbox customized by the community. The core project does not aim to be that. A project that keeps adding features eventually becomes what rekordbox already is: full-featured DJ software. rbxport stays small on purpose. Any contribution that adds a feature is weighed carefully against this vision, and a good feature can still be declined. Two commitments define what "small" must not cost: - **Compatibility.** rbxport aims to be fully compatible with the current version of rekordbox and all the hardware that rekordbox supports. - **Performance.** rbxport maintains its speed through a performance budget, defined in `perf-budgets.json` and enforced by `pnpm budget` and CI. See Development conventions. If you want to propose a feature, read Feature proposals in the contributing guide first. ## Tech stack | Layer | Technology | | --- | --- | | Desktop app | Tauri 2. | | Frontend | React and TypeScript, with TanStack Virtual for track browsing. | | Backend | Rust, with independent `rbl-*` crates for library, audio, export, and LINK logic. | | Database | SQLCipher for rekordbox libraries and OneLibrary USB exports. | | Build tooling | Vite, pnpm, and Cargo. | | Testing | Vitest, Playwright, and Rust tests with temporary library fixtures. | See Architecture for the repository layout and how the frontend, desktop shell, and Rust crates fit together. ## Start here For a first look at the interface, use the browser with a mock library: [code] This requires Node 24 and pnpm 10.17.1. It does not open an installed rekordbox library or require a Rust build. For desktop prerequisites and safe library setup, read Getting started. ## Developer reading path Read these in order to understand the project and make your first change: 1. Getting started: prerequisites, run modes, and library safety. 2. Architecture: repository map, crate responsibilities, IPC, and edit flow. 3. Development conventions: code style, performance, translation, and evidence rules. 4. Testing: checks, test setup, and what each result proves. 5. Contributing: issues, branches, implementation, validation, and review. 6. Debugging: logs, diagnostics, environment variables, and cleanup. 7. Releases: versions, CI, packaging, and publication. The documentation index also links to user guides and detailed analysis, USB-format, and hardware references. ## Common commands | Command | Purpose | | --- | --- | | `pnpm dev:web` | Browser UI with the mock backend. | | `pnpm dev` | Desktop app; can open your installed library. Read the safety guide first. | | `pnpm lint` | Frontend lint rules. | | `pnpm build` | TypeS