On suit le standard Conventional Commits.
Format
1type(scope): description courte
2
3[corps optionnel]
4
5[footer optionnel]Types de commits
| Type | Quand l'utiliser | Exemple |
|---|---|---|
feat | Nouvelle fonctionnalité | feat: ajout de l'authentification Google |
fix | Correction de bug | fix: correction du crash au login |
hotfix | Correction urgente en prod | hotfix: patch faille sécurité token JWT |
refactor | Refactoring sans changement fonctionnel | refactor: simplification du service auth |
style | Formatage, espaces, virgules (pas de logique) | style: formatage composant Header |
docs | Documentation uniquement | docs: mise à jour du README |
test | Ajout ou modification de tests | test: ajout tests unitaires service user |
chore | Maintenance, dépendances, config | chore: mise à jour des dépendances npm |
perf | Amélioration de performance | perf: optimisation requête SQL dashboard |
ci | Modification des pipelines CI/CD | ci: ajout du job de lint |
revert | Annulation d'un commit précédent | revert: annulation feat login Google |
Le scope (optionnel mais recommandé)
Le scope précise quelle partie du code est concernée.
bash
1feat(auth): ajout connexion via Google
2fix(dashboard): correction affichage graphique vide
3refactor(api): restructuration des routes utilisateurRègles
- ✅ Description en minuscules
- ✅ Description en anglais - les commits, comme le code, sont en anglais
- ✅ Description courte (moins de 72 caractères)
- ✅ Temps présent :
add...et nonadded... - ❌ Pas de point à la fin
- ❌ Pas de commit fourre-tout : un commit = une chose précise
❌ Ce qu'on ne fait PAS
bash
1# Trop vague
2git commit -m "fix"
3git commit -m "update"
4git commit -m "wip"
5git commit -m "aaaaa"
6
7# Fourre-tout
8git commit -m "feat: login + fix dashboard + refacto api + style header"✅ Ce qu'on fait
bash
1git commit -m "feat(auth): add login form"
2git commit -m "fix(auth): handle empty email validation"
3git commit -m "style(auth): align submit button"