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
| Type | Catégorie CHANGELOG | Quand l'utiliser |
|---|---|---|
feat | Features | Nouvelle fonctionnalité |
fix | Bug Fixes | Correction de bug |
perf | Performance | Amélioration de performance |
refactor | Refactor | Refactoring sans nouvelle feature ni bug fix |
doc | Documentation | Documentation uniquement |
test | Testing | Ajout ou correction de tests |
chore | Miscellaneous | Maintenance, deps, CI, config |
chore(release) est ignoré
Les commits chore(release): prepare for vX.Y.Z sont automatiquement exclus du CHANGELOG.
Exemples
# 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 :
# 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.