chore: メンテナンスとツーリング
メンテナンスタスクにchoreコミットタイプを使うタイミングを学びます。依存関係の更新、ビルド設定、ツーリングの変更、choreとbuildの境界を解説します。
Type Examples
詳細な説明
chore コミットタイプ
choreタイプは、ソースコードやテストファイルを変更しない変更をカバーします。プロジェクトを健全に保つメンテナンスタスク、ツーリング更新、その他の変更に使用しますが、アプリケーションの機能に直接影響しません。Semantic Versioningでは、choreコミットはバージョンバンプをトリガーしません。
メッセージの例
chore: update development dependencies
chore: add .editorconfig for consistent formatting
chore(deps): bump axios from 1.6.0 to 1.7.2
choreを使うタイミング
以下の場合にchoreを使用します:
- 開発依存関係を更新する(ランタイム依存関係ではなく)
- エディタやIDE設定ファイルを変更する
- ライセンスや著作権ヘッダーを更新する
- Git hookやリポジトリ設定を変更する
- 開発ツーリングを追加・更新する
- リポジトリのクリーンアップ(古いブランチ、アーカイブの削除)
choreとbuildとciの比較
これら3つのタイプは重複することがあります。以下がガイドです:
| タイプ | 使うタイミング |
|---|---|
chore |
他のタイプでカバーされない一般的なメンテナンス |
build |
ビルドシステム(webpack、rollup、esbuild)やランタイム依存関係の変更 |
ci |
CI設定(GitHub Actions、Jenkins、CircleCI)の変更 |
依存関係更新のパターン
chore(deps): bump eslint from 8.x to 9.x
chore(deps-dev): update jest to 30.0.0
多くのチームがDependabotやRenovateなどの自動化ツールを使用し、これらのコミットを自動的に作成しています。
バッチ更新と個別更新
- 個別:どの依存関係が問題を引き起こしたかの追跡に適している
- バッチ:ルーチンのマイナー更新のコミットノイズを軽減
chore(deps): update minor dependencies
Updated 12 packages with non-breaking changes.
See package-lock.json diff for details.
「その他すべて」のタイプ
choreは意図的に広範囲です。変更が他のどのタイプにも合致せず、公開ソフトウェアに影響しない場合はchoreです。ただし、キャッチオールとして使うことは避けてください。より具体的なタイプが適用される場合は、そちらを使ってください。
ユースケース
プロジェクトのESLint設定を更新し、.editorconfigファイルを追加し、いくつかの開発依存関係をバンプしました。これらの変更はアプリケーションのランタイム動作に影響しません。メンテナンス作業として分類し、changelogをノイズから解放するコミットメッセージが必要です。