2.3 KiB
name, description
| name | description |
|---|---|
| lumbridge-development | Build, test, review, benchmark, or document Lumbridge, the native Rust local-first IDE, terminal multiplexer, and agent workspace. |
Lumbridge Development
Work from the Lumbridge repository root. Read AGENTS.md, then only the product
documents relevant to the task:
- architecture or persistence:
docs/ARCHITECTURE.mdanddocs/decisions/; - product behavior:
docs/PRODUCT_SPEC.md; - tests:
docs/TESTING.md; - native UI work:
docs/UI_OPTIONS.mdanddocs/UI_SPIKE_SCORECARD.md; - Buzz work:
docs/BUZZ_INTEGRATION.md.
Preserve these product boundaries:
- The application shell, terminal, editor, runtime, and state model are native Rust. Do not introduce Electron, React, TypeScript, or a webview shell.
- Data is local-first. SQLite contains metadata and history, never API keys, subscription tokens, SSH private keys, Buzz private keys, or Tailscale keys.
- Remote PTYs live in a per-user runtime on the user's remote machine. OpenSSH and Tailscale are transports over access the user already configured; do not change tailnet ACLs, copy credentials, or open public listeners.
- macOS, Ubuntu, and Omarchy/Arch are release targets. A Linux-only success is not cross-platform proof.
- Usage and quota values always retain provenance and uncertainty.
Development loop
Before editing, inspect Git status and preserve unrelated work. Use:
bacon
cargo xtest
./scripts/ci.sh
Root CI must remain independent from experimental UI dependencies. GPUI and
Floem live in separate workspaces under spikes/ and consume the same
ui-shell-model fixture. Record only observed results in the scorecard; do not
select a framework until both pass the hard gates.
For Buzz integration, use its Apache-2.0 Rust SDK and signed protocol semantics rather than inventing a webhook dialect. Test against a local relay and fixture identity. Pane screenshots or transcripts require a visible preview, redaction, explicit destination, and user confirmation before upload.
Add tests at the lowest deterministic layer first, then platform or rendered
tests where behavior crosses a real boundary. Before handoff, run the relevant
spike build plus ./scripts/ci.sh, git diff --check, and report anything not
validated on all target systems.