Thank you for helping improve Sift. This document is a short contributor guide; expand it as the project grows.
- Focused changes: Prefer small PRs that fix one issue or add one feature.
- Match existing style: TypeScript, Rust, and React patterns should follow the surrounding code.
- Docs and tests: Update relevant files under
docs/when behavior or configuration changes. Add or update tests when you change logic (see Testing).
Follow Installation and Development.
- Format/lint: Run project linters when they exist (ESLint/Rustfmt — add as the project matures).
- Typecheck:
npm run lint:backendfrom the repo root; frontendnpm run build --prefix frontendcatches TS errors. - Tests:
npm test(backend Jest + frontend Vitest). CI runs these on every push/PR. - Manual smoke:
npm run devand confirm the app still opens and the orchestrator shows online.
Use clear, imperative summaries (for example “Fix ingest path for PDF on Windows”). Link issues when applicable (Fixes #123).
Do not commit secrets, API keys, or patient data. If you find a vulnerability, use the repository’s security reporting process when available.
Use GitHub Discussions or Issues per the repository’s preference once enabled.