Git workflow
Branches, commits conventionnels, processus de PR
Branches
| Branche | Usage | Déploie vers |
|---|---|---|
main | Production stable | Production |
develop | Intégration | Staging |
feat/* | Nouvelle fonctionnalité | — |
fix/* | Correction de bug | — |
chore/* | Maintenance, config, deps | — |
Nommage des branches
feat/establishment-crud
feat/qr-code-customization
fix/report-rate-limit
chore/update-depsCommits conventionnels
Format : type: description courte
| Type | Usage | Exemple |
|---|---|---|
feat | Nouvelle fonctionnalité | feat: add establishment CRUD |
fix | Correction de bug | fix: rate limit not applying on IPv6 |
chore | Maintenance | chore: update drizzle to 0.46 |
refactor | Refactoring sans changement fonctionnel | refactor: extract notification service |
docs | Documentation | docs: add anti-spam ADR |
style | Formatting (biome) | style: run biome check |
test | Ajout/modification de tests | test: add report creation tests |
Règles
- Pas de majuscule au début de la description
- Pas de point à la fin
- Impératif : "add", pas "added" ou "adds"
- Court : max 72 caractères pour la première ligne
- Body optionnel : pour expliquer le pourquoi si nécessaire
# ✅ Bon
git commit -m "feat: add QR code token rotation cron"
# ❌ Mauvais
git commit -m "Added QR code stuff."Pull Requests
Checklist avant PR
- Le code compile (
bun run check-types) - Biome passe (
bun run check) - Les nouvelles routes ont un schéma Zod
- Les middlewares d'auth sont appliqués
- Pas de
console.logrestant - Pas de secrets dans le code
Format de PR
## Summary
- Bullet points des changements
## Test plan
- [ ] Comment tester manuellement
- [ ] Edge cases vérifiésRègles Git
- Pas de force push sur
main— jamais - Rebase avant merge — historique linéaire
- Squash merge pour les feature branches — un commit par feature
- Pas de commits de merge — rebase only