Development
This repository is a Cargo workspace:
audiorouter— CLI, terminal UI, routing runtimecrates/audiorouter-core— shared config, validation, device inventory, watchers, and API DTOscrates/audiorouter-dashboard— dashboard HTTP/SSE API and embedded frontend hostcrates/audiorouter-dashboard/dashboard— React/Vite dashboard frontend
Rust
cargo fmt --all
cargo test --workspace
cargo clippy --workspace --all-targets -- -D warnings
Dashboard frontend
cd crates/audiorouter-dashboard/dashboard
pnpm install
pnpm dev
pnpm dev starts both:
audiorouter-dashboard-apiatAUDIOROUTER_DASHBOARD_ADDRor127.0.0.1:7822- the Vite dev server, proxying
/api/*to that API server
Frontend checks:
cd crates/audiorouter-dashboard/dashboard
pnpm check
pnpm test
pnpm lint
pnpm format
Build the embedded dashboard host directly:
cargo run -p audiorouter-dashboard
For pure Rust iterations where a previously built dashboard dist can be reused:
SKIP_DASHBOARD_BUILD=1 cargo test --workspace