Development setup
Speedwave’s codebase spans Rust, Angular, Node.js, and Swift. See the tech stack page for how those pieces fit together. GNU Make wraps all of it, so setting up your machine mostly means installing prerequisites and letting make setup-dev do the rest.
Prerequisites
Section titled “Prerequisites”- Rust, stable toolchain, via
rustup - Node.js, LTS (v20+), with npm
- Platform tools: Xcode command-line tools on macOS, Visual Studio Build Tools on Windows
Run make setup-dev to check for these and install the remaining dependencies automatically.
Building and testing
Section titled “Building and testing”Use the Makefile for every build, test, and check, not cargo or npm directly: it sets the working directories and flags each stack needs.
The main targets:
make setup-dev # first-time: check prerequisites + install all dependenciesmake test # run all tests (Rust + Angular + MCP + entrypoint + desktop)make check # lint + clippy + type-check + formatmake check-all # full quality gate: check + test + coverage + auditmake coverage-html # generate HTML coverage reports and open in browsermake audit # check dependencies for known vulnerabilitiesmake dev # start desktop in dev mode (Tauri + Angular hot reload)make build # build everythingmake fmt # format all codemake status # quick health checkGranular targets exist per stack too: test-rust, test-angular, test-mcp, test-swift, build-cli, build-desktop, build-angular. See testing for how the test runners and coverage thresholds break down.
Two CLI targets matter if you touch the CLI binary. make build-cli builds the debug binary at target/debug/speedwave, which make dev uses. make build-cli-release builds the release binary: the bundled CLI must be release so a debug-only signature bypass is compiled out of shipped builds.
Running in dev mode
Section titled “Running in dev mode”make dev builds the CLI first and copies it into desktop/src-tauri/cli/ before starting Tauri dev mode, so the desktop app’s “Open Terminal” feature works while you develop.
On Windows, a few toolchain quirks need handling before make dev runs natively: see Windows setup.