# Contributing to NoteTrace Thanks for your interest in NoteTrace. ## Reporting bugs - Open an issue at [github.com/traceapps/notetrace/issues](https://github.com/traceapps/notetrace/issues). - Include your version (Settings → About), what you expected, and what you saw. - For sync issues, include whether you're on PWA or native Android, and your server version. - Don't paste server logs publicly without redacting; `LOG_LEVEL=debug` includes auth tokens that happened to be in flight and (on Android) device identifiers used for native sync. ## Suggesting features - Open an issue describing the use case before writing code; it helps avoid building something that won't get merged. - Check [ROADMAP.md](ROADMAP.md) first; the feature may already be planned or intentionally deferred. ## Pull requests - **Target the `dev` branch, not `main`.** All work lands on `dev` first, gets tested there, and is bundled into `main` at release time. PRs opened against `main` will be asked to retarget. - Keep changes focused, one concern per PR. - Match the existing code style (Svelte 5 in compat mode, no runes, no TypeScript). - For server changes, ensure all SQL is parameterized and every new route has appropriate `requireAuth` / `requireAdmin` middleware. - Update `CHANGELOG.md` under the unreleased section if your change is user-visible. - The Android shell lives in `android/`; if you change web assets the maintainer will run `npx cap sync android` and rebuild the APK. - No DCO or CLA required. ## Language NoteTrace is English only; there are no translations, and none are planned. UI text still lives in `src/i18n/en.json` and renders through `svelte-i18n`'s `$_()` helper, so copy is written in one place: ```svelte