Contributing

Keep changes inside one concern, preserve the PTY execution model, and run the focused release gates.

View Markdown

Development loop

Terminal
npm install
npm run desktop:fast -- --launch
npm run typecheck
npm run scan:secrets

Boundaries worth preserving

  • The PTY remains the source of truth; do not create a parallel agent execution path.
  • A new capability gets its own Rust module or React component.
  • Unbounded filesystem, process, and network work stays off the async runtime and behind timeouts.
  • Panics unwind instead of aborting the whole desktop process.
  • Do not add analytics, crash beacons, license checks, or an unrequested network path.

Before opening a change

Release checks
npm run typecheck
npm test
node scripts/scan-secrets.mjs
cd desktop/src-tauri && cargo check --locked --all-targets