# How to contribute Start by matching the product vocabulary in `CONTEXT.md`, then follow the package scripts in `package.json`. Most changes touch either the React controller/view layer in `frontend/src`, the Tauri command bridge in `src-tauri/src`, or the Rust core in `crates/qa-scribe-core/src`. ## Work pickup 1. Identify whether the change is a feature, core data-model change, provider change, UI change, release-tooling change, or test-only change. 2. Read the relevant feature page under [Features](features.md) and subsystem page under [Systems](systems.md). 3. For data-shape changes, update Rust domain types, Specta registration in `src-tauri/src/specta_bindings.rs`, generated `frontend/src/bindings.ts`, frontend wrapper code, and tests together. ## Definition of done A finished change has updated code, updated bindings when needed, tests covering the behavior, and the relevant verification command passing. Use [Testing](how-to-contribute--testing.md) for command selection and [Tooling](how-to-contribute--tooling.md) for packaging and release checks.