Git Workflow – Finalized Instructions Scope - Applies to this repo. Users typically consume tagged releases; contributors work via branches/PRs. CI/CD config is Gitea‑native; no GitHub/GitLab. Branches - main: production; default branch. Protected. - integration: development (unprotected; merges auto on green). - Working branches: `feature/`, `fix/`, `chore/` from integration. - Hotfix: `hotfix/` from main; PR back to main, then forward-merge into integration. - Release branch: ephemeral or lightweight `release/*`. Protect when present; optionally fast‑forward to latest tag via CI. Merges & Approvals - Feature → integration: squash merge; auto‑merge on green (no human approval). Self‑merge allowed. - integration → main: squash merge; require 1 approval; self‑merge not allowed. - Force pushes disabled on protected branches (`main`, `release/*`); PRs required. Commit Style - Conventional Commits for PR titles and commit messages. Versioning & Tags - Calendar tags: vYYYY.MM.DD-HHMM (UTC). Annotated tags only on main after release. Release Flow 1) Feature branches PR into integration; checks pass → auto‑merge. 2) PR integration → main; 1 approval required; on merge, deploy and tag release. 3) Optional: CI fast‑forwards a release branch pointer to the new tag. Protected Checks (to enable when runners are ready) - On protected branches (`main`, `release/*`): ci / lint, ci / build, ci / commitlint. Add ci / test and ci / security if/when introduced. CODEOWNERS - Keep minimal; require your review for integration → main. Notes - No secrets required for this repo. Future repos should integrate Vault for secrets.