本文へスキップ
claudemods

Claude Code Git Mod:ブランチ、コミット、GitHub

Claude Code Git Mod は、ブランチと変更状況の表示、危険な git コマンドのガード、コミットや PR の文面の調整、GitHub の状態表示をセッション内で行います。

Claude Code で動作中の 危険なコマンドのブロック

危険なコマンドのブロック

rm -rf /、main への force-push、DROP TABLE、curl | sh などの破壊的な Bash コマンドを実行前に拒否します。

  • トースト
  • ツール呼び出しを傍受
  • UI を変更

v2.1.291 で検証済み

Claude Code で動作中の プロンプト上の Git ブランチ表示

プロンプト上の Git ブランチ表示

Git のブランチ、変更ファイル数、ahead/behind の状態を Claude Code のプロンプトの上に 1 行で表示します。

  • プロンプト上部
  • コマンドを実行
  • ツール呼び出しを傍受
  • UI を変更

v2.1.291 で検証済み

Claude Code Git Mod は、Claude があなたのコードを編集している間も、バージョン管理の状態を見える化し、少し安全にしてくれます。現在のブランチや変更されたファイル数を表示したり、main への強制プッシュの前に警告したり、コミットの帰属表記を書き換えたり、GitHub のプルリクエストや CI の状態を表示したりします。

Claude Code Git Mod はどのイベントにフックするのですか?

表示系の Mod は、$.session.cwd() でフォルダーを特定し、$.process.run(['git', 'status', '--porcelain=v1', '-b'], { cwd }) でリポジトリを読み取り、その結果を AbovePrompt バンドやステータスラインに描画します。更新タイミングは session.start、turn.complete、そしてコマンドに git を含む Bash の tool.call の直後です。そのため Claude が行ったチェックアウトもすぐに反映されます。別のターミナルで行った変更は、間隔の長い $.clock.every タイマーで拾います。

ガード系の Mod は同じ tool.call フックを使い、git push --force origin main や git clean -fdx のようなコマンドを拒否します。コミットや PR の署名方法を変える Mod は attribution.text を処理します。GitHub 対応の Mod は gh を実行するか、$.http.fetch で GitHub API を呼び出します。イベントの全一覧は Mod リファレンスにあります。

インストール前に何を確認すべきですか?

ほぼすべての Git Mod に コマンドを実行のバッジが付きます。問題はどのコマンドを実行するかです。表示系の Mod なら、git status、git rev-parse、git log のような読み取り専用のコマンドだけを、タイムアウト付きで、シェル文字列を使わずに実行するべきです。ネットワークが表示されている場合は、どのホストに接続するのか、トークンが必要なのかを確認してください。userConfig に置く GitHub トークンは sensitive として扱われているべきです。

非常に大きなリポジトリでは、git status に目に見えるほど時間がかかることがあります。イベントをきっかけに更新し、/config でタイマーの間隔を延ばせる Mod を選びましょう。

Git Mod と Claude 自身の git 操作はどう違うのですか?

Claude はすでに Bash ツールを通じて git を実行してくれます。Git Mod はそれを置き換えるものではありません。尋ねなくても結果を見せてくれ、Claude が実行してよい内容に制限をかけるものです。ブランチ表示のバンドと強制プッシュのガードを組み合わせれば、よくある 2 つの事故、つまり間違ったブランチへのコミットと共有履歴の書き換えを防げます。

よくある質問

Claude Code Git Mod には GitHub CLI が必要ですか?
GitHub と通信する場合だけです。ブランチ表示だけなら git があれば十分です。プルリクエストや CI の状態を読む Mod は、通常 $.process.run で gh を実行するか、$.http.fetch で GitHub API を呼び出します。どちらを使うかは Mod のページに書かれているはずです。
Git Mod がリポジトリを変更することはありますか?
git commit や git checkout のような書き込みを伴うコマンドを実行する場合に限ります。「仕組み」セクションを読んでください。表示専用の Mod なら、git status のような読み取り専用のコマンドだけを実行するはずです。
フォルダーによって Git Mod が何も表示しないのはなぜですか?
git リポジトリの外では、よくできた Git Mod はエラーを出す代わりに自分自身を非表示にします。リポジトリ内で Claude Code を起動するか、起動前にリポジトリへ cd してください。