Conventional Changelog形式ガイド
standard-versionやsemantic-releaseで使用されるConventional Changelog形式のガイド。コミットタイプのマッピング、スコープグループ化、自動生成について解説します。
Templates
詳細な説明
Conventional Changelog形式
Conventional Changelog形式は、Conventional Commitsから自動的に生成されるように設計されています。コミットタイプをチェンジログカテゴリにマッピングし、変更をスコープ別にグループ化します。
コミットタイプからカテゴリへのマッピング
| コミットタイプ | チェンジログカテゴリ | SemVerバンプ |
|---|---|---|
feat: |
Features | Minor |
fix: |
Bug Fixes | Patch |
perf: |
Performance Improvements | Patch |
revert: |
Reverts | Patch |
docs: |
(通常除外) | None |
style: |
(通常除外) | None |
refactor: |
(通常除外) | None |
test: |
(通常除外) | None |
chore: |
(通常除外) | None |
BREAKING CHANGE: |
Breaking Changes | Major |
自動化ツール
- standard-version: バージョンバンプ、チェンジログ生成、gitタグ作成
- semantic-release: 完全自動 — コミットからバージョンを決定し、npmに公開
- conventional-changelog-cli: チェンジログ生成のみ、バージョンバンプなし
この形式を使うべき場合
- Conventional Commitsを厳密に遵守するプロジェクト
- 自動化されたリリースパイプラインを使用するチーム
- スコープグループ化がパッケージの区別に役立つモノレポ
ユースケース
semantic-releaseやstandard-versionなどのツールを使用してCI/CDパイプラインで自動チェンジログ生成を設定する場合。Conventional Commitsがバージョニングとチェンジログコンテンツの両方を駆動します。