Skip to content

Git Hooks

Pour garantir la qualité du code et la cohérence des messages de commit, chaque dépôt Git du projet Berth est configuré avec des hooks Git spécifiques.

Tous les repositories sans exception utilisent un hook commit-msg.

Ce hook vérifie que chaque message de commit respecte les conventions définies par Conventional Commits v1.0.0. Cette règle permet d’avoir un historique clair et facilite la génération automatique des changelogs.

Les hooks de pre-commit sont exécutés avant la création d’un commit. Si l’une des vérifications échoue, le commit est annulé et le développeur doit corriger le problème.

Pour le dépôt de documentation, nous utilisons Husky pour gérer les hooks. Les étapes suivantes sont exécutées :

  1. Lint check : Vérification de la syntaxe et des règles de style.
  2. Format check : Vérification du formatage du code.

Le projet Front utilise également Husky pour ses hooks. La chaîne de validation est plus exhaustive :

  1. Lint check : Analyse statique du code Angular/TypeScript.
  2. Format check : Vérification du formatage.
  3. Tests Vitest : Exécution des tests unitaires.
  4. Tests E2E Playwright : Exécution des tests de bout en bout.

Pour les projets écrits en Go, nous utilisons Lefthook pour gérer les hooks Git. La configuration de pre-commit exécute :

  1. golangci-lint : Linter complet pour Go.
  2. goimports : Vérification du formatage et des imports.
  3. Tests : Exécution de la suite de tests Go.
Type de Projet Outil utilisé
JavaScript / TypeScript (Doc, Front) Husky
Go (Agent, API) Lefthook