Development environment setup
Speedwave combines Rust backend engines, an Angular desktop frontend running inside Tauri, Node.js MCP server processes, and native Swift helpers. All developer workflows are unified under a root GNU Makefile. For detailed architecture breakdown, consult the Technology stack guide.
System prerequisites
Section titled “System prerequisites”Ensure your developer environment has the following toolchains installed:
- Rust: Stable release toolchain managed via
rustup(rustup update stable). - Node.js: Node.js LTS (v20 or higher) with
npmpackage manager. - Platform compilers:
- macOS: Xcode Command Line Tools (
xcode-select --install). - Windows: Visual Studio C++ Build Tools with Windows 10/11 SDK.
- macOS: Xcode Command Line Tools (
Initialize your environment and dependencies by running:
make setup-devPrimary Makefile targets
Section titled “Primary Makefile targets”Always invoke development, build, and test steps through make targets to ensure proper environment variables, target directories, and compiler flags:
make setup-dev # Verify prerequisites and install workspace dependenciesmake test # Execute automated test suites (Rust, Angular, MCP, Tauri)make check # Execute static linters, Clippy, and TypeScript checksmake check-all # Run complete CI quality gate: check + test + coverage + auditmake coverage-html # Generate and open unified HTML code coverage reportsmake audit # Perform security vulnerability audits across dependenciesmake dev # Launch Tauri desktop application in live-reload dev modemake build # Compile release artifacts for all subsystemsmake fmt # Format Rust, TypeScript, and Markdown filesmake status # Output workspace toolchain and dependency diagnostic statusTargeted subsystem targets are available: test-rust, test-angular, test-mcp, test-swift, build-cli, build-desktop, and build-angular. Refer to Testing and validation for details on test coverage thresholds.
CLI binary build targets
Section titled “CLI binary build targets”make build-cli: Compiles unoptimized debug executable attarget/debug/speedwaveused bymake dev.make build-cli-release: Compiles optimized release binary attarget/release/speedwave, removing debug-only signature verification bypasses.
Running the local development environment
Section titled “Running the local development environment”Executing make dev automatically compiles the debug CLI binary, copies the executable to desktop/src-tauri/cli/, and initializes the Tauri development daemon alongside Angular’s dev server.
For Windows specific instructions, refer to the Windows development setup guide.