54 lines
1.9 KiB
Markdown
54 lines
1.9 KiB
Markdown
# 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
|
|
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:
|
|
|
|
```bash
|
|
node src/bridge/cli.js --worktree "$HOME"
|
|
```
|
|
|
|
The Tauri app connects to the bridge on startup. See the [root README](../README.md#keep-the-bridge-running-in-the-background-recommended) for start, restart, status, and log commands.
|
|
|
|
## 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 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
|
|
|
|
```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.
|