Thanks for contributing.
- Check existing issues and discussions before starting larger work.
- Keep changes focused. Separate refactors from behavior changes where possible.
- For non-trivial work, trace the affected flow before editing. This app often crosses React, Tauri commands, Rust services, and SQLite.
npm install
cd src-tauri && cargo generate-lockfile
npm run tauri:devSee docs/DEVELOPMENT.md for platform prerequisites and change recipes.
- Describe the user-visible change and why it is needed.
- Call out any schema, settings, watcher, search, AI, or snipping changes explicitly.
- Update docs in the same pull request when setup or behavior changes.
- Keep commits intentional and easy to review.
Run the smallest relevant checks while iterating. Before asking for review on substantial changes, run:
npm run build
cd src-tauri && cargo test
cd src-tauri && cargo fmt -- --check
cd src-tauri && cargo clippy -- -D warningsIf you changed watcher, AI, onboarding, settings, search, or snipping flows, also smoke-test the app with npm run tauri:dev.
- Keep the Tauri command boundary in
src-tauri/src/commands.rs. - Keep shared frontend and backend types aligned.
- Treat
src-tauri/src/db.rsas the runtime schema source of truth. - Do not commit local artifacts, generated build output, or personal tooling settings.
By participating, you agree to follow CODE_OF_CONDUCT.md.
For security-sensitive issues, follow SECURITY.md instead of opening a public issue.