ArcFlow is an open-source cross-platform client for compatible electrostimulation devices.
The project is being built as a Rust-first core with React frontends. Desktop and mobile targets use Tauri 2, while Bluetooth, protocol handling, wave generation, plugin runtime, storage, and synchronization live in Rust crates.
apps/
desktop/ Tauri 2 + React desktop app; also seeds mobile targets.
mobile/ Mobile target notes for the shared Tauri 2 app.
crates/
core/ Core orchestration types and Rust-only device control surface.
external-control/
WebSocket external-control protocol messages.
plugin-runtime/
WASM/JS plugin manifest and capability model.
protocol/ Bluetooth protocol frames and helpers.
script/ Safe script document model and compiler.
storage/ SQLite storage owned by Rust.
wave/ Safe wave plans and protocol conversion.
docs/
architecture.md
Rust-first, Tauri 2, plugin, BLE, script, and WS design.
agents/ Agent setup notes.
external-control/
WebSocket control protocol.
protocol/ Protocol implementation notes.
Run the current Rust checks with:
cargo test --workspaceRun the desktop frontend build with:
pnpm install
pnpm check:frontendSee docs/architecture.md for the current system architecture.