Changelog Automatique - delfour-co/repolens GitHub Wiki
Changelog Automatique
RepoLens génère automatiquement le CHANGELOG à partir des commits Git en suivant le format Keep a Changelog.
Fonctionnement
Le changelog est généré automatiquement lors des releases via le workflow GitHub Actions .github/workflows/release.yml. Il utilise le script scripts/generate-changelog.sh pour analyser les commits entre deux tags.
Format des commits
Pour une meilleure génération automatique du CHANGELOG, utilisez des Conventional Commits :
Types de commits supportés
featoufeature: Nouvelles fonctionnalités → Section Addedfixoubugfix: Corrections de bugs → Section Fixedperf: Améliorations de performance → Section Changedrefactor: Refactorisation → Section Changedchore: Tâches de maintenance → Section Changeddocs: Documentation → Section Changedstyle: Formatage → Section Changedtest: Tests → Section Changedbuild: Build → Section Changedci: CI/CD → Section Changedsecurity: Sécurité → Section Security
Exemples de commits
# Nouvelle fonctionnalité
git commit -m "feat: Ajout de la vérification des dépendances"
# Correction de bug
git commit -m "fix: Correction de la détection des secrets"
# Changement avec breaking change
git commit -m "feat!: Modification de l'API de configuration"
# Sécurité
git commit -m "security: Correction de la vulnérabilité XSS"
Breaking Changes
Pour indiquer un changement cassant (breaking change), utilisez ! après le type :
git commit -m "feat!: Modification de l'API de configuration"
Ou utilisez le footer BREAKING CHANGE dans le corps du commit :
git commit -m "feat: Nouvelle API
BREAKING CHANGE: L'ancienne API n'est plus supportée"
Génération manuelle
Vous pouvez générer le changelog manuellement avec le script :
# Générer le changelog entre deux tags
./scripts/generate-changelog.sh v1.0.0 v1.1.0
# Générer le changelog depuis le dernier tag jusqu'à HEAD
./scripts/generate-changelog.sh v1.0.0 HEAD
# Générer le changelog depuis le début du projet
./scripts/generate-changelog.sh $(git rev-list --max-parents=0 HEAD) HEAD
Format du CHANGELOG
Le changelog généré suit le format Keep a Changelog :
## [1.1.0] - 2026-01-28
### BREAKING CHANGES
- Modification de l'API de configuration (#123)
### Added
- Ajout de la vérification des dépendances (#124)
- Support des règles personnalisées (#125)
### Fixed
- Correction de la détection des secrets (#126)
### Changed
- Amélioration de la performance (#127)
### Security
- Correction de la vulnérabilité XSS (#128)
[1.1.0]: https://github.com/delfour-co/cli--repolens/releases/tag/v1.1.0
Intégration dans les workflows
Workflow de release
Le workflow .github/workflows/release.yml génère automatiquement le changelog lors des releases :
- Génération : Le job
changeloggénère une nouvelle entrée - Intégration : L'entrée est ajoutée au début du
CHANGELOG.md - Commit : Le fichier est automatiquement commité dans le dépôt
- Release : Le changelog est inclus dans les notes de release GitHub
Workflow de synchronisation wiki
Le workflow .github/workflows/sync-wiki.yml peut synchroniser le changelog vers le wiki si configuré.
Configuration
Personnalisation du script
Le script scripts/generate-changelog.sh peut être personnalisé pour :
- Ajouter des catégories personnalisées
- Modifier le format de sortie
- Filtrer certains types de commits
- Ajouter des métadonnées supplémentaires
Exclure des commits
Pour exclure certains commits du changelog, utilisez des conventions de nommage :
# Les commits commençant par "chore:" ou "docs:" peuvent être ignorés
# selon votre configuration
Bonnes pratiques
- Utilisez des Conventional Commits : Facilite la génération automatique
- Messages de commit clairs : Aidez les utilisateurs à comprendre les changements
- Groupez les changements : Plusieurs petits changements peuvent être regroupés
- Documentez les breaking changes : Utilisez
!ou le footerBREAKING CHANGE - Vérifiez avant de release : Relisez le changelog généré avant la release
Exemples
Release avec nouvelles fonctionnalités
# Commits
feat: Ajout de la vérification des dépendances (#124)
feat: Support des règles personnalisées (#125)
fix: Correction de la détection des secrets (#126)
# CHANGELOG généré
## [1.1.0] - 2026-01-28
### Added
- Ajout de la vérification des dépendances (#124)
- Support des règles personnalisées (#125)
### Fixed
- Correction de la détection des secrets (#126)
Release avec breaking change
# Commit
feat!: Modification de l'API de configuration (#123)
# CHANGELOG généré
## [1.1.0] - 2026-01-28
### BREAKING CHANGES
- Modification de l'API de configuration (#123)
Dépannage
Le changelog est vide
Si le changelog généré est vide :
- Vérifiez que les commits suivent le format Conventional Commits
- Vérifiez que les tags existent :
git tag -l - Vérifiez la plage de commits :
git log v1.0.0..v1.1.0
Format incorrect
Si le format n'est pas correct :
- Vérifiez que vous utilisez des Conventional Commits
- Vérifiez la syntaxe du script
scripts/generate-changelog.sh - Testez manuellement avec le script
Commits manquants
Si certains commits n'apparaissent pas :
- Vérifiez qu'ils sont dans la plage de tags spécifiée
- Vérifiez qu'ils suivent le format Conventional Commits
- Vérifiez qu'ils ne sont pas exclus par la configuration
Ressources
Prochaines étapes
- Consultez le Guide d'utilisation pour utiliser RepoLens
- Découvrez les Presets disponibles
- Explorez les Catégories de règles