BeatBax Development
BeatBax is developed in a single monorepo on GitHub. Clone the repository when you want to work on the engine, plugins, CLI, web app, or desktop app.
Prerequisites
Before cloning the repository, install:
- Node.js 20 or newer - BeatBax uses the npm workspace tooling that ships with Node.
- npm - installed with Node.js; use it for dependencies, builds, and workspace scripts.
- Git - required to clone the monorepo and work with branches.
- A code editor - Cursor, VS Code, or another TypeScript-friendly editor works well.
For desktop app development, also install the platform build tools required by Electron and native npm packages:
- Windows - Visual Studio Build Tools with the Desktop development with C++ workload.
- macOS - Xcode Command Line Tools via
xcode-select --install. - Linux - common build packages such as
build-essential; on Debian/Ubuntu, install them withsudo apt install build-essential. See the Electron Linux build dependencies for additional distro packages.
Clone and Build
git clone https://github.com/kadraman/beatbax.git
cd beatbax
npm install
npm run build-all
Development Areas
- Engine - parser, resolver, playback model, chip backends, rendering, validation, and exporters.
- Plugins - extension points for new sound chip backends, export targets, and integrations.
- CLI - local development for the command-line tool and scripted workflows.
- Web App - browser client development for the hosted web-lite experience.
- Desktop App - Electron IDE development, packaging, and desktop-only features.