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 を設定するとセッション終了時に自動コミット可能