# Contributing Guide Thanks for contributing to car64. ## Workflow - Create a branch from `main`: - `feature/` for features - `fix/` for bug fixes - `docs/` for documentation updates - Keep pull requests focused and small when possible. - Write clear commit messages (Conventional Commit style is preferred). ## Development Setup 1. Install Flutter stable and run `flutter doctor`. 2. Copy `.env/flutter_defines.example.json` to `.env/flutter_defines.json`. 3. Fill in your own Supabase config values. 4. Run: ```bash flutter pub get flutter analyze ``` ## Code Style - Follow existing project style and naming patterns. - Prefer small, explicit methods over deeply nested logic. - Preserve backend contract names (`hotwheels`, RPC names, etc.) unless migration is intentional. ## Testing & Validation Before opening a PR: - Run `flutter analyze` - Run available tests - Manually test affected flows (scanner, collections, auth, storage upload) ## Pull Request Checklist - [ ] Scope is clear and focused - [ ] Analyzer passes - [ ] User-facing strings are intentional and reviewed - [ ] No secrets/config values were committed - [ ] README/docs updated if behavior changed ## Commit Message Examples - `fix(scanner): prevent duplicate processing on repeated detections` - `perf(collections): coalesce overlapping reload requests` - `docs(readme): add release workflow section`