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をノイズから解放するコミットメッセージが必要です。

試してみる — Git Commit Message Generator

フルツールを開く