Skip to content

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.

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 npm package manager.
  • Platform compilers:
    • macOS: Xcode Command Line Tools (xcode-select --install).
    • Windows: Visual Studio C++ Build Tools with Windows 10/11 SDK.

Initialize your environment and dependencies by running:

Terminal window
make setup-dev

Always invoke development, build, and test steps through make targets to ensure proper environment variables, target directories, and compiler flags:

Terminal window
make setup-dev # Verify prerequisites and install workspace dependencies
make test # Execute automated test suites (Rust, Angular, MCP, Tauri)
make check # Execute static linters, Clippy, and TypeScript checks
make check-all # Run complete CI quality gate: check + test + coverage + audit
make coverage-html # Generate and open unified HTML code coverage reports
make audit # Perform security vulnerability audits across dependencies
make dev # Launch Tauri desktop application in live-reload dev mode
make build # Compile release artifacts for all subsystems
make fmt # Format Rust, TypeScript, and Markdown files
make status # Output workspace toolchain and dependency diagnostic status

Targeted 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.

  • make build-cli: Compiles unoptimized debug executable at target/debug/speedwave used by make dev.
  • make build-cli-release: Compiles optimized release binary at target/release/speedwave, removing debug-only signature verification bypasses.

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.