# Pi Status UI ## Reason for existence Provide the desktop control surface for Pi Status Bridge. The UI presents bridge state and forwards user intent; it never owns Pi sessions, worktree routing, or approval policy. ## Requirements - Node.js 20+. - Rust stable and the native dependencies required by [Tauri v2](https://v2.tauri.app/start/prerequisites/). - A running Pi Status Bridge socket. By default the app uses `$XDG_RUNTIME_DIR/pi-status-bridge/bridge.sock`; set `PI_STATUS_BRIDGE_SOCKET` to override it. ## Develop From the repository root: ```bash npm --prefix ui ci node src/bridge/cli.js --worktree "$HOME" npm --prefix ui run tauri dev ``` The second command starts the bridge; run it in a separate terminal. The Tauri app connects to it on startup. ## Commands ```bash npm --prefix ui run dev # Vite frontend only npm --prefix ui run build # typecheck and build frontend assets npm --prefix ui run tauri dev # run the desktop client npm --prefix ui run tauri build # package a desktop bundle ``` ## Boundaries - The UI sends operations only to the selected bridge agent. - Extension responses are forwarded unchanged to Pi. - The UI must not add a network transport or persist competing model/thinking defaults. ## Verification ```bash cargo test --manifest-path ui/src-tauri/Cargo.toml npm --prefix ui run build ``` See the [root README](../README.md) for bridge setup and repository-wide verification.