Contributing to Prevail Desktop
July 5, 2026 · View on GitHub
Thanks for your interest! Prevail is a local-first "life-OS" — a Tauri 2 +
React desktop app driving a bundled engine (the prevail CLI) over a JSON/NDJSON
contract.
Prerequisites
- Node 20+ and npm
- Rust (stable) + the Xcode Command Line Tools (macOS)
- Bun ≥ 1.3 (to build the engine sidecar)
- The engine repo (
fd-apps-prevail-cli) checked out next to this repo —scripts/prepare-sidecar.shbuilds the sidecar from it attauri buildtime.
Run it
npm install
npm run tauri dev # hot-reloading desktop app
Before you push
npx tsc --noEmit # frontend typecheck
npm run build # frontend production build
cd src-tauri && cargo test && cargo clippy
CI runs the same checks (.github/workflows/test.yml). Keep them green.
Conventions
- Conventional commits (
feat(desktop): …,fix(engine): …). - Icons, never emojis in UI (lucide).
- New on-disk formats get a Rust round-trip test (see
usage_tests/distill::tests). - The frontend talks to the backend only through
src/bridge.ts(Tauri IPC on desktop, HTTP/SSE in the browser) — don't import@tauri-apps/apidirectly.
Security
Found a vulnerability? See SECURITY.md — please disclose privately.
Good first issues
Browse issues labelled good first issue.
Recurring themes: App.tsx decomposition, lib.rs split, and broader error-boundary
coverage — all approachable entry points.