- Read AGENTS.md and README.md first — the architecture (embedded Svelte UI, installer, supervisor) and runtime prerequisites are documented there.
- One concern per PR. No drive-by refactors.
- Build prerequisites:
npm(UI build),zig0.16.0. - Before every commit:
bash tests/test_backend.sh— the backend gate CI actually runs; wrapszig build test+zig build test-integration, both with-Dembed-ui=false -Dbuild-ui=false— 0 failures, 0 leakszig fmt --check src/- UI-touching changes:
npm --prefix ui run buildmust succeed
- Every PR runs the 4-target CI matrix (linux-x86_64, linux-aarch64, macos-aarch64, windows-x86_64) including backend tests and the e2e suite on the native Linux target. Keep it green.
- Bug fixes must include a regression test citing the issue number.
- Changes to instance lifecycle (install/restart/uninstall) must account for process-tree hygiene: the supervisor owns child processes, and restarts must leave exactly one process per instance (see #86).