Conventional Commits

| 2 min read

Comme chaque année, il y la fantastique initiative "24 jours de Web" qui est un calendrier de l'avent où chaque jour un article est publié autour du web.

Je suis du coup tombé sur l'article "Git Lucky: Jouer en harmonie grâce à Conventional Commits" de Clément Latzarus.

J'ai tendance à préférer les conférences aux articles parfois trop longs, mais celui-ci est très bien structuré, bien ponctué d'illustrations et d'exemples, ce qui en fait un article très agréable à lire.

Je connaissais déjà Conventional Commits, même si je pensais (à tort) qu'il s'agissait d'un standard, d'une convention, et non d'une spécification plutôt souple de base quand à son implémentation.

Par le passé j'ai déjà tenté de l'utiliser dans un ou deux projets (perso comme pro), sans vraiment m'y tenir pour plusieurs raisons :

  • J'étais le seul sur le projet à l'utiliser : ce n'est pas contraignant sur un projet personnel où l'on est seul, mais du coup sur un projet à plusieurs ça n'a presque aucun intérêt ;
  • Il n'y avait pas vraiment de convention déterminée à l'avance sur quels mots-clés utiliser ;
  • J'ai beau utiliser Git en CLI, devoir se souvenir systématiquement de tous les mots clés et écrire à la main la structure, même si elle est extrêmement simple, c'est contraignant et peut vite décourager.

J'ai donc cherché rapidement s'il existait un utilitaire permettant de faciliter l'écriture des messages en Conventional Commit, idéalement de manière interactive. Pas forcément une réelle interface puisqu'il est tout de même relativement simple d'avoir un minimum d'interactivité en CLI, surtout qu'il s'agit là majoritairement de questions structurées.

C'est en cherchant que je me suis souvenu qu'à l'époque, j'avais alors utilisé Commitizen.

Mais je suis tombé sur un autre utilitaire, Koji, qui semble proposer davantage de fonctionnalités, et en tout cas de souplesse sur la configuration sans forcément imposer ses choix.

À tester donc.