Skip to content

Conventional Commits

Tous les repos HealthAI suivent la spécification Conventional Commits. C'est ce qui permet à git-cliff de générer un CHANGELOG exploitable automatiquement.

Format

<type>(<scope>): <description>

[corps optionnel]

[footer optionnel]

Types reconnus

TypeCatégorie CHANGELOGQuand l'utiliser
featFeaturesNouvelle fonctionnalité
fixBug FixesCorrection de bug
perfPerformanceAmélioration de performance
refactorRefactorRefactoring sans nouvelle feature ni bug fix
docDocumentationDocumentation uniquement
testTestingAjout ou correction de tests
choreMiscellaneousMaintenance, deps, CI, config

chore(release) est ignoré

Les commits chore(release): prepare for vX.Y.Z sont automatiquement exclus du CHANGELOG.

Exemples

bash
# Nouvelle feature
git commit -m "feat: ajouter l'export CSV des datasets"

# Feature avec scope
git commit -m "feat(auth): supporter les refresh tokens Zitadel"

# Correction de bug
git commit -m "fix(api): corriger la pagination des logs de santé"

# Refactoring
git commit -m "refactor(etl): extraire la logique de transformation"

# Mise à jour de dépendances
git commit -m "chore: mettre à jour Next.js vers 15"

# CI/CD
git commit -m "chore: ajouter le workflow de release par tags"

# Documentation
git commit -m "doc: documenter les variables d'environnement"

# Changement breaking (ajouter ! ou un footer BREAKING CHANGE)
git commit -m "feat!: migrer l'API vers GraphQL"
# ou
git commit -m "feat(api): changer le format de réponse des utilisateurs

BREAKING CHANGE: le champ 'name' est renommé en 'full_name'"

Scope recommandés par repo

healthai-web

auth, dashboard, analytics, pipelines, datasets, ui

healthai-api

auth, users, aliments, exercices, logs, datasets, migrations

healthai-etl

downloader, harmonize, loader, migrations, cron

healthai-ai

gateway, vision, workout, graphql

Vérifier avant de committer

Si tu utilises VS Code, installe l'extension Conventional Commits (vivaxy.vscode-conventional-commits) pour une interface guidée au commit.

Avec la CLI, un simple alias suffit :

bash
# Vérifier le dernier commit
git log -1 --pretty=format:"%s"

Commits non-conventionnels

Les commits qui ne respectent pas le format (wip, fix stuff, update) sont filtrés par git-cliff et n'apparaissent pas dans le CHANGELOG. Ce n'est pas bloquant pour la CI, mais ça dégrade la qualité des release notes.