1.9 KiB
1.9 KiB
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.
- A running Pi Status Bridge socket. By default the app uses
$XDG_RUNTIME_DIR/pi-status-bridge/bridge.sock; setPI_STATUS_BRIDGE_SOCKETto override it.
Develop
From the repository root:
npm --prefix ui ci
npm --prefix ui run tauri dev
The UI needs a running bridge. For day-to-day use, keep it in the background with the root project's npm run bridge:service:install command. For foreground development, run the bridge in a separate terminal:
node src/bridge/cli.js --worktree "$HOME"
The Tauri app connects to the bridge on startup. See the root README for start, restart, status, and log commands.
Commands
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 in development
npm --prefix ui run tauri:release # build the production executable used by Noctalia/Mod+Space
npm --prefix ui run tauri build # package installers (requires platform bundle tooling)
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
cargo test --manifest-path ui/src-tauri/Cargo.toml
npm --prefix ui run build
See the root README for bridge setup and repository-wide verification.