Skip to content

how to contribute development workflow

Douwe de Vries edited this page Jul 2, 2026 · 2 revisions

Development workflow

The project uses conventional commits, Rust and frontend validation, and path-filtered CI. The practical loop is code, test locally, then let CI repeat the relevant gates.

Branch and commit style

AGENTS.md lists the allowed Conventional Commit types: feat, fix, refactor, chore, perf, docs, test, build, and ci. Release commits use messages like chore(release): v2.1.4.

Local loop

Change type Start here Validate with
Rust library or API src/backend/workflow.rs, src/api/handlers.rs, src/comparison/ cargo fmt --check && cargo test && cargo clippy -- -D warnings
Tauri wrapper src-tauri/src/commands.rs, src-tauri/src/main.rs cd src-tauri && cargo test && cargo fmt --check && cargo clippy -- -D warnings
Frontend frontend/src/App.tsx, frontend/src/hooks/, frontend/src/components/ cd frontend && npm test && npm run lint && npm run build
Release tooling .github/workflows/, scripts/, src-tauri/tauri.conf.json python3 scripts/check_release_metadata.py plus CI-equivalent commands

Source control hygiene

  • Do not commit generated build directories such as target/, frontend/dist/, or node_modules/.
  • Pair request/response type changes across src/backend/requests.rs, src/presentation/responses.rs, and frontend/src/types/api.ts.
  • If a Tauri command changes, update frontend/src/services/tauriCommands.ts and the tauri_commands! macro in src-tauri/src/main.rs.

CI details are covered in tooling, and test layout is covered in testing.

Clone this wiki locally