On suit le standard Conventional Commits.

Format

1type(scope): description courte 2 3[corps optionnel] 4 5[footer optionnel]

Types de commits

TypeQuand l'utiliserExemple
featNouvelle fonctionnalitéfeat: ajout de l'authentification Google
fixCorrection de bugfix: correction du crash au login
hotfixCorrection urgente en prodhotfix: patch faille sécurité token JWT
refactorRefactoring sans changement fonctionnelrefactor: simplification du service auth
styleFormatage, espaces, virgules (pas de logique)style: formatage composant Header
docsDocumentation uniquementdocs: mise à jour du README
testAjout ou modification de teststest: ajout tests unitaires service user
choreMaintenance, dépendances, configchore: mise à jour des dépendances npm
perfAmélioration de performanceperf: optimisation requête SQL dashboard
ciModification des pipelines CI/CDci: ajout du job de lint
revertAnnulation d'un commit précédentrevert: 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 utilisateur

Rè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 non added...
  • ❌ 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"