# Contributing ## Propose changes Open a pull request against `develop`. Keep the default branch for releases and stable tips; land work on `develop` first. Point at an existing issue when one fits. Prefer a short issue that states the symptom or request before a large PR. ## Commits Subject form: ``` area: Imperative summary ``` - **Area** is a real package, directory, or subsystem token (`ci:`, `docs:`, Go package name). Not a lone filename. - **Imperative** mood: Fix, Add, Remove — not "Fixed" or "This patch…". - No trailing period. Aim ≤ ~70–75 characters for the whole subject. - Not conventional-commits (`feat:` / `fix:` / `chore:` as types). Body explains **why**. Establish the problem, then say what you are doing. One logical change per commit; split fix and cleanup. ## Pull requests Title matches the primary commit subject. - **What** changed - **Why** (problem and impact) - **Test** (concrete steps; "CI green" alone is weak) ## Issues and closing Cite leftover issues by **full URL**. Gitea closes issues when `#N` appears in merge text, so do not put `#N` in the merge message unless that issue is actually done. Use `Fixes #N` / `Closes #N` only when the leftover work is finished. ## License License TBD by owner.