logo hsb.horse

Architecture Decision Record

Automatisation des hooks Git avec lefthook

Adopter lefthook pour exécuter automatiquement le formatage et le lint Biome au commit et au push.

Accepté #tooling #quality #git-hook

Automatisation des hooks Git avec lefthook

Décision

  • Adopter lefthook pour la gestion des hooks Git.
  • Exécuter biome format --write puis biome check --write sur les fichiers indexés dans pre-commit.
  • Exécuter également biome format --write puis biome check --write sur les fichiers indexés dans pre-push.
  • Centraliser la définition des hooks dans lefthook.yml à la racine du dépôt.

Contexte

Quand le formatage ou le lint n’est pas exécuté en local, les revues contiennent des diffs et remarques non essentielles. Les configurations de hooks variaient aussi selon les développeurs, d’où le besoin d’une approche versionnée et reproductible.

Alternatives

  • Hooks Git natifs dans .git/hooks configurés manuellement : faible reproductibilité et partage difficile.
  • Husky : solution éprouvée, mais lefthook a été privilégié ici pour une configuration plus légère et plus simple.
  • Validation uniquement en CI : retour plus lent et absence de détection précoce en local.

Conséquences

  • Les contrôles qualité sont automatisés avant le commit et avant le push.
  • Les problèmes de formatage sont détectés tôt, réduisant les écarts de style.
  • En cas d’échec, le commit/push est bloqué jusqu’à correction et relance des vérifications.