Skip to content

Build, test, and release

Developer setup is separate from musician installation. These commands build the source workspace; they are not a substitute for release packages.

  • Rust toolchain pinned by rust-toolchain.toml, including wasm32-unknown-unknown
  • Node.js and npm for frontend tooling and Playwright
  • Lefthook
  • REAPER for plugin integration work
  • Ableton Live for Remote Script integration validation
Terminal window
cargo nextest run --workspace
cargo clippy --workspace --all-targets -- -D warnings
./scripts/test.sh quick
./scripts/build-and-deploy.sh

Use ./scripts/test.sh full for the repository’s full local validation gate. The project intentionally uses local validation rather than cloud CI.

Terminal window
./scripts/build-rust-frontend.sh release
./scripts/prepare-local-stack.sh
./scripts/install-ableton-remote.sh

The current deployment scripts enforce a macOS development host. Cross-platform release packaging is orchestrated by ./scripts/build-release.sh and requires its documented cross-compilation toolchains.

  • Never bypass Lefthook with --no-verify.
  • Add BDD-style tests for real behavior, not constants or framework behavior.
  • Run formatting, Clippy, relevant Rust tests, and focused browser tests after changes.
  • Keep REAPER API work behind the repository-owned FFI and main-thread dispatch boundary.

No public release process, source URL, issue tracker, contribution guide, maintainer route, or release artifacts are published in the available metadata. Those owner inputs must exist before external contribution or release instructions can be completed.

The project is licensed under GPL-3.0-or-later.