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.
Hook de Message de Commit (Global)
Section titled “Hook de Message de Commit (Global)”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.
Hooks de Pre-commit par Projet
Section titled “Hooks de Pre-commit par Projet”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.
Projet Documentation (AstroJs)
Section titled “Projet Documentation (AstroJs)”Pour le dépôt de documentation, nous utilisons Husky pour gérer les hooks. Les étapes suivantes sont exécutées :
- Lint check : Vérification de la syntaxe et des règles de style.
- Format check : Vérification du formatage du code.
Projet Front-end (Angular 22)
Section titled “Projet Front-end (Angular 22)”Le projet Front utilise également Husky pour ses hooks. La chaîne de validation est plus exhaustive :
- Lint check : Analyse statique du code Angular/TypeScript.
- Format check : Vérification du formatage.
- Tests Vitest : Exécution des tests unitaires.
- Tests E2E Playwright : Exécution des tests de bout en bout.
Projets Agent et API (Golang)
Section titled “Projets Agent et API (Golang)”Pour les projets écrits en Go, nous utilisons Lefthook pour gérer les hooks Git. La configuration de pre-commit exécute :
- golangci-lint : Linter complet pour Go.
- goimports : Vérification du formatage et des imports.
- Tests : Exécution de la suite de tests Go.
Outils de gestion
Section titled “Outils de gestion”| Type de Projet | Outil utilisé |
|---|---|
| JavaScript / TypeScript (Doc, Front) | Husky |
| Go (Agent, API) | Lefthook |
