Validateur de Messages de Commit|Vérifiez Conventional Commits avec 8 Règles
Collez un message de commit et vérifiez s'il respecte le format Conventional Commits à travers 8 règles. Le format du sujet, sa longueur, le mode impératif, le retour à la ligne du corps, les marqueurs de changement cassant et le format du pied apparaissent côte à côte, marqués réussite, avertissement ou échec.
💡 À propos de cet outil
Sur un dépôt partagé, l'historique Git devient vite un assemblage de styles : certains commencent par feat:, d'autres rédigent des sujets interminables, d'autres oublient la ligne vide avant le corps. Convenir d'une règle est simple ; s'en souvenir à chaque commit l'est moins. Cet outil transforme cette convention en liste de contrôle : collez le message et corrigez ce qui s'affiche en rouge.
Les 8 règles sont : R1 format du sujet (type(scope): subject), R2 longueur du sujet (50 recommandé, 72 requis), R3 pas de point final, R4 mode impératif, R5 ligne vide entre le sujet et le corps, R6 lignes du corps à 72 caractères maximum, R7 marqueur de changement cassant (! ou BREAKING CHANGE:) et R8 format jeton du pied (Refs:, Closes #N). Le résultat se copie sous forme de rapport en texte brut, à coller dans une revue de code ou dans la charte de l'équipe.
🧐 Questions fréquentes
Q. Qu'est-ce que Conventional Commits ?
C'est une convention légère qui préfixe le sujet d'un type tel que feat, fix ou docs, afin que les outils puissent dériver des journaux de modifications et des versions sémantiques à partir de l'historique. Elle est largement adoptée dans les projets open source.
Q. Pourquoi 50 et 72 caractères ?
Les 50 caractères gardent le sujet lisible dans git log et sur des plateformes comme GitHub ; 72 est la limite avant que la ligne ne soit tronquée dans le terminal. L'outil avertit au-delà de 50 et signale une erreur au-delà de 72.
Q. Comment fonctionne le contrôle du mode impératif ?
La règle R4 est une heuristique : elle repère un premier mot terminant en -ed ou -ing (par exemple « Added » ou « Adding ») et suggère la forme impérative. Elle reste indicative et affiche un avertissement, pas une erreur.
Q. La portée (scope) est-elle obligatoire ?
Non. feat: ... valide la règle R1 aussi bien que feat(parser): .... La portée entre parenthèses est facultative et n'accepte que minuscules, chiffres et traits d'union.
Q. Comment signaler un changement cassant ?
Ajoutez un ! après le type (feat!:) ou une ligne BREAKING CHANGE: dans le corps. Un seul suffit : la règle R7 accepte ! seul, BREAKING CHANGE: seul ou les deux, et indique quelle forme de marqueur a été utilisée.
📚 Le rôle d'une convention partagée
Dans une équipe francophone répartie sur plusieurs fuseaux, un historique Git lisible vaut souvent mieux qu'une longue réunion. Conventional Commits sert ici de langue commune : le type indique d'emblée la nature du changement, le sujet impératif décrit l'action, et le corps justifie le « pourquoi ». Un validateur qui affiche les 8 règles en parallèle réduit les allers-retours en revue de code, car l'auteur corrige son message avant même de pousser. La convention dépasse alors la simple cosmétique : un sujet bien formé alimente les outils qui produisent automatiquement les notes de version, et une erreur silencieuse dans le format peut interrompre toute cette chaîne.