# Git ## Commits Format : `() : ` **Espaces obligatoires** autour du `:`. Types autorises (minuscules uniquement) : `build`, `chore`, `ci`, `docs`, `feat`, `fix`, `perf`, `refactor`, `revert`, `style`, `test` Exemples : - `feat : add login page` - `fix(auth) : prevent null token crash` - `chore : bump version to v1.2.3` ## Regles de commit - **Jamais commit sans demande explicite** de l'utilisateur - **Jamais force push** sans confirmation - **Jamais modifier la config git** - **Jamais mentionner Claude, Anthropic ou une IA** dans un commit (message, titre, body, footer, trailer) ou une PR (titre, description). Concretement, aucun des elements suivants ne doit apparaitre : - Trailer `Co-Authored-By: Claude <...>` / `Co-Authored-By: Anthropic` - Footer type `Generated with Claude Code`, `Generated by AI`, etc. - Emoji robot `🤖` ou similaire en tete/fin de message - Toute phrase attribuant la paternite du changement a une IA Les commits sont signes **uniquement** par l'utilisateur. Si un hook ou un template ajoute ces elements automatiquement, les retirer manuellement avant push. ## Versioning & tags La version de l'app est dans `config/version.yaml` (parametre `app.version`). Workflow de release : 1. Bump `config/version.yaml` a la nouvelle version 2. Commit dedie : `chore : bump version to v` 3. Tag : `git tag v` 4. Push : `git push origin develop --tags` **A chaque creation de tag**, toujours mettre a jour `config/version.yaml` avec la meme version — sinon l'app ne connait pas sa propre version. CI Gitea automatise le bump sur push `develop` (cf. `.gitea/workflows/`), mais un tag manuel reste possible.