git-cliff : changelog personnalisable selon les Conventional Commits Git-cliff automatise les changelogs à partir des commits, avec support des Conventional Commits et templates configurables. git-cliff est un outil open source qui génère automatiquement des changelogs à partir de l’historique Git.
git-cliff est un outil open source qui génère automatiquement des changelogs à partir de l’historique Git. En s’appuyant sur les Conventional Commits, il transforme des messages de commit en entrées lisibles pour les équipes et les utilisateurs. Cet outil propose aussi des templates configurables pour adapter le format selon le contexte du projet et peut s’appuyer sur des parsers basés sur des expressions régulières afin de s’ajuster à différentes conventions de commits. Enfin, il s’intègre facilement dans les pipelines CI/CD pour maintenir le changelog à jour sans intervention manuelle. Pour en savoir plus, le dépôt GitHub est disponible ici : git-cliff.
Comment git-cliff transforme le suivi des changelog
À la base, git-cliff lit l’historique Git et consolide les changements survenus entre deux versions ou deux points de référence. Les messages conformes aux Conventional Commits permettent de regrouper les entrées par type (feat, fix, docs, perf, etc.) et de générer une structure lisible par les équipes et les utilisateurs finaux. Avec un fichier de configuration, on peut choisir les sections à afficher, le nom des catégories et le niveau de détail du texte généré. Pour les équipes qui n’aiment pas tout automatiser, git-cliff offre tout de même la possibilité de revoir et d’ajuster le rendu avant chaque publication. Personnellement, je trouve que cette approche donne une traçabilité claire sans obliger les développeurs à écrire manuellement un changelog à chaque version.
Fonctionnalités et personnalisation
- Support des Conventional Commits : le générateur organise automatiquement les entrées selon les types standard et peut produire un récapitulatif par version.
- Templates configurables : les sections, descriptions et formats peuvent être définis via un fichier de configuration (par ex. toml/yaml), ce qui évite les notes manuelles répétitives.
- Parsers basés sur des regex : le système peut s’adapter à des variantes de conventions de commits grâce à des expressions régulières personnalisables.
- Intégration CI/CD : il peut s’exécuter dans des workflows automatisés pour générer le changelog lors de chaque build ou release.
Contexte, limites et bonnes pratiques
Le principal levier de git-cliff est la discipline des messages de commit. Si les commits ne respectent pas les conventions, le rendu du changelog peut devenir ambigu. Il faut aussi prévoir une étape de revue ou de validation du fichier généré pour éviter les incohérences dans le texte ou les sections. Enfin, comme tout outil génératif, git-cliff ne remplace pas une réflexion sur le contenu : il faut veiller à documenter les choix de présentation et à ajuster les templates en fonction des publics visés (utilisateurs, développeurs, opérateurs).
Pour terminer
Git-cliff apporte une solution pratique pour automatiser l’édition des changelog tout en restant lisible et personnalisable. Son efficacité dépend toutefois de la qualité des messages et de la configuration choisie. Vous pourriez commencer par activer le support des Conventional Commits et tester un template simple sur un premier projet pour mesurer les gains de temps.