PathKeep is mid-rewrite, local-first, and audit-first. We optimize for reviewable changes, honest product boundaries, and docs that stay in sync with the code instead of drifting into aspiration.
- Read README.md for product scope and current support stance.
- Use DEVELOPMENT.md for environment setup and repo layout.
- Use TESTING.md for the real gate matrix.
- If your work touches release, packaging, platform validation, or support diagnostics, also read RELEASE.md, TROUBLESHOOTING.md, and SUPPORT.md.
- Keep the app local-first and inspectable.
- Do not hide destructive or high-risk actions behind opaque automation.
- Do not silently weaken the trust model to simplify implementation.
- Update source docs in the same branch when product behavior, platform stance, or operator workflow changes.
- Treat browser preview, desktop shell, and release packaging as different surfaces with different acceptance criteria.
Required tools:
- Bun
- Rust
1.94.1 - Git
- Tauri 2 host dependencies for your platform
Recommended Rust setup:
rustup toolchain install 1.94.1 \
--component clippy \
--component rustfmt \
--component llvm-tools-preview
rustup override set 1.94.1Install project dependencies:
bun installOptional pre-commit hooks:
cargo install prek --locked
prek install
prek install --hook-type pre-pushRun the browser preview shell:
bun run devRun the desktop shell:
bun run desktop:devMainline validation:
bun run check
bun run buildRelease-style validation:
bun run verify- Keep commits reviewable and logically scoped.
- Prefer colocated tests for new or substantially rewritten modules.
- Keep the docs truthful. If the UI or workflow no longer matches
README,RELEASE,TROUBLESHOOTING, or thedocs/source tree, update them in the same branch. - Do not claim the desktop-contract gate covers the entire UI.
- Do not ship fake security affordances while platform research is still unresolved.
Use Conventional Commits.
Examples:
feat(settings): expose build and archive diagnosticsbuild(release): add release manifest preflightdocs(release): add platform validation runbooktest(app): cover settings diagnostics metadata
bun run checkbun run build- Run any additional commands required by the surface you changed:
- Update docs if user-facing behavior or operator workflow changed.
- Mention explicit gaps, preview-only paths, or deferred risks.
Changes to packaging, installer behavior, troubleshooting copy, support diagnostics, or platform stance are not docs-only polish. They change the operator contract and must keep these files aligned:
- RELEASE.md
- TROUBLESHOOTING.md
- SUPPORT.md
- docs/plan/m4-full-polish/release-readiness-runbook.md
- Matching source docs under
docs/