Vérificateur de messages de commit
Vérifiez vos messages de commit selon les règles Conventional Commits de config-conventional de commitlint, avec les mêmes noms de règles et les mêmes messages.
Entrée
Résultat
Le résultat apparaîtra ici.Conventional Commits — feat(api): add streaming, fix: handle empty responses — est le format que lisent semantic-release, release-please et les générateurs de changelog pour décider de la prochaine version et rédiger les notes de version, et commitlint est l’outil que la plupart des projets utilisent pour l’imposer. Collez un ou plusieurs messages et ce vérificateur applique les règles de @commitlint/config-conventional : les types autorisés, un type en minuscules, un sujet qui n’est pas en sentence-case et ne se termine pas par un point, un en-tête de 100 caractères au plus, des lignes vides avant le corps et le pied. Chaque problème est signalé avec la formulation et le nom de règle de commitlint lui-même, si bien que ce que vous corrigez ici est exactement ce que le hook de commit vous reprocherait.
Comment ça marche
- Les règles sont réimplémentées à partir du code source de commitlint plutôt qu’en exécutant commitlint : la vérification a donc lieu dans la page ; l’ensemble de règles, les niveaux de gravité et les messages correspondent à config-conventional.
- Séparez plusieurs messages par une ligne ne contenant que ---. Les commits de fusion, les reverts, les commits fixup!/squash! et les simples numéros de version de release sont ignorés, comme commitlint les ignore par défaut.
- Un changement cassant — ! après le type, ou un pied BREAKING CHANGE: — est signalé, car il implique une nouvelle version majeure pour les outils de release.
- Une vérification que commitlint ne fait pas : un pied breaking change: en minuscules reçoit un avertissement, car la spécification exige ce jeton en majuscules et les analyseurs ignorent toute autre graphie.
Où vont vos données
Nulle part. Cet outil s’exécute entièrement dans votre navigateur : le texte collé est traité par la page, jamais transmis à un serveur ni consigné dans un journal.
Cet outil est gratuit et ne demande aucun compte. Ses résultats n’existent que dans la page ouverte et ne sont enregistrés nulle part.
Ce que ça coûte
Cet outil est gratuit, sans connexion ni points.
Questions fréquentes
- Quels types sont autorisés ?
- Les onze qu’accepte config-conventional : build, chore, ci, docs, feat, fix, perf, refactor, revert, style et test. Tout le reste — Fix avec une majuscule, feature, update — échoue à la règle type-enum. Les projets peuvent élargir la liste dans leur propre configuration commitlint ; ce vérificateur utilise celle par défaut.
- Pourquoi "feat: Add login page" est-il une erreur ?
- config-conventional interdit dans le sujet le sentence case, le start case, le pascal case et l’upper case : il ne doit donc pas commencer par une majuscule, sauf si le mot s’écrit toujours ainsi. Écrivez feat: add login page. Un nom propre peut être conservé en le mettant entre guillemets ou entre backticks, que la vérification de casse ignore.
- Les messages de commit en chinois sont-ils autorisés ?
- Oui. La casse n’existe que dans des écritures comme l’alphabet latin, grec ou cyrillique : un sujet comme 更新安装说明 passe donc les règles de casse. Le type doit toutefois rester l’un des mots-clés anglais : docs(readme): 更新安装说明 est valide, 文档: 更新安装说明 ne l’est pas.
- Pourquoi la limite de l’en-tête est-elle de 100 et non de 72 ?
- 100 est la valeur par défaut de config-conventional. Beaucoup d’équipes préfèrent 72 pour que les en-têtes tiennent dans git log --oneline et dans la liste des commits de GitHub sans être tronqués ; réglez la longueur maximale de l’en-tête sur 72 pour vérifier selon ce critère.
L’open source derrière
Cet outil est une implémentation autonome, sans bibliothèque tierce. conventional-changelog/commitlint (MIT) fait le même travail sous forme de bibliothèque : pour l’intégrer à votre programme, commencez par là plutôt que d’appeler une page web.
conventional-changelog/commitlintAussi appelé
- vérifier message de commit
- conventional commits
- commitlint en ligne
- format message commit git
- valider message de commit
- convention de commit