コンテンツにスキップ
Zenn Dev Owayo Articles 09890771d30b3c

もう「wip」コミットを作らない!AI自動フォールバックでコミットメッセージを生成するgit-scを作った

  • URL: https://zenn.dev/owayo/articles/09890771d30b3c
  • 日付: 2026-06-26
  • Tier: Tier 3
  • 要旨: GeminiやCodex CLI、Claude Codeなど複数のAIプロバイダーに対応し自動フォールバックするコミットメッセージ生成ツール「git-sc」がRustで開発・公開された。プロバイダーがレート制限などで失敗すると次のプロバイダーに自動切り替えし、失敗したプロバイダーを一定時間(デフォルト1時間)優先度を下げるスマートクールダウン機能も備えている。過去のコミット履歴からConventional CommitsやEmoji形式などのフォーマットを自動検出し、プロジェクトの慣習に合ったメッセージを生成する。追加API費用を払わず既存の定額サービスの中だけでコミットメッセージ生成を完結させたいというニーズに応えるツールである。

詳細

git-sc(git smart commit)はAIを使ったコミットメッセージ自動生成ツール。Rust実装でシングルバイナリ、GitHub Releasesから各プラットフォーム向けのバイナリを配布。

主な特徴:

  • 対応プロバイダー: Gemini CLI、Codex CLI、Claude Code を設定した優先順序で試行
  • スマートクールダウン: 失敗したプロバイダーを設定可能な時間(デフォルト60分、0で無効化)だけ後回し。provider_cooldown_minutes で調整可能
  • フォーマット自動検出: 過去5件のコミットからConventional Commits、ブラケット形式、絵文字形式、プレーン形式を自動判断
  • URLベースルール: [[prefix_rules]] でリポジトリのリモートURLに基づく正規表現マッチングでフォーマットを強制指定可能
  • –reword N: N個前のコミットメッセージをAIで再生成(内部でgit rebaseを使用)
  • –squash origin/main -y: ブランチのコミットを1つにまとめてメッセージを生成
  • –amend: 直前のコミットのメッセージを再生成

設定ファイル(~/.git-sc):

  • providers = [“gemini”, “codex”, “claude”](配列順が優先度)
  • language = “Japanese”
  • [models] で各プロバイダーのモデルを指定(claude = “haiku” など)

Claude Code連携: Stopフックに git-sc –all –yes を設定するとセッション終了時に自動コミット可能