◉ANTIGRAVITY LABEN
記事一覧/連携・プラグイン
⬡ 連携・プラグイン/2026-06-18中級

エージェントのコミットを pre-commit で止める — 壊れた変更を本番リポジトリに入れない仕組み

Antigravity のエージェントが書いたコードを、コミットの瞬間に lint・型チェック・高速テスト・秘密情報スキャンで自動検査する pre-commit ゲートの組み方を、実測の所感とともにまとめました。

Antigravity411pre-commitGit13品質ゲート7エージェント77

✦ プレミアム記事

エージェントに「このバグを直して」と頼んだ翌朝、コミット履歴を見たら緑のテストが赤く変わっていたことがあります。個人開発で運用しているアプリのリポジトリでした。

直した箇所は確かに直っていました。ただ、その過程で別のファイルの import を一つ消していて、関係のないモジュールが起動時に落ちるようになっていたのです。

エージェントは悪くありません。私自身が、生成された変更を「読まずに」コミットできる状態を放置していたことが原因でした。

人間のレビューを毎回挟めれば理想ですが、1 日に何度もエージェントへ作業を投げる運用では、その都度全 diff を精読するのは続きません。そこで私が頼っているのが pre-commit です。コミットという一点に検査を集約すれば、エージェントの出力でも人間の手作業でも、同じ網に必ずかかります。

なぜ「コミットの瞬間」が最適な検問所なのか

エージェントの作業はファイルを次々に書き換えていきます。途中の状態は壊れていて当然で、そこを検査しても意味がありません。

検査すべきは「これで一区切り」とエージェントが判断し、変更を確定しようとする瞬間です。それがまさに git commit のタイミングです。

CI で検査する手もありますが、CI はプッシュの後に回ります。壊れたコミットはすでにローカル履歴に残り、エージェントは次の作業へ進んでしまっています。pre-commit なら、壊れた変更はコミットとして成立すらしません。エージェントの作業ループの内側で完結するのが利点です。

私はブログ運営でも同じ考え方を使っています。4 つの技術ブログを自動更新するパイプラインでは、記事を push する直前に Python 製の品質ゲートを必ず通し、違反が出たら記事そのものを捨てて書き直す運用にしています。検査を「最終地点の手前」に置くという発想は、コードでも文章でも変わりません。

最小構成から始める

最初から重いフックを並べると、エージェントの待ち時間が伸びて運用が嫌になります。まずは速くて効果の大きいものだけを置きます。

.pre-commit-config.yaml をリポジトリ直下に作ります。

# .pre-commit-config.yaml
repos:
  - repo: https://github.com/pre-commit/pre-commit-hooks
    rev: v5.0.0
    hooks:
      - id: trailing-whitespace
      - id: end-of-file-fixer
      - id: check-merge-conflict
      - id: check-added-large-files
        args: ["--maxkb=500"]
  - repo: https://github.com/astral-sh/ruff-pre-commit
    rev: v0.12.1
    hooks:
      - id: ruff
        args: ["--fix"]
      - id: ruff-format

導入は 2 コマンドです。

pip install pre-commit
pre-commit install

pre-commit install を一度実行すると、.git/hooks/pre-commit が差し替わり、以降の git commit すべてに検査が挟まります。エージェントが内部で git commit を呼んでも、この網は同じように作動します。エージェント側に特別な設定は要りません。

ここまでで、構文エラーを含むコミットやマージ衝突マーカーの残骸、巨大ファイルの混入はコミット段階で止まります。実測では、この最小構成のフック群はステージ済みファイルが数個なら 1 秒未満で終わります。待ち時間として体感されない範囲です。

✦

ここまでお読みいただきありがとうございます。

この記事の続きを読む

この先には、実装コードやベンチマーク結果など、実務でお役に立てる内容をご用意しています。このサイトは広告を掲載しておらず、サーバーや開発にかかる費用はメンバーの皆様のご支援で成り立っています。もしお役に立てていましたら、ご支援いただけますと大変ありがたいです。

この記事で得られること
✦エージェントが直したつもりで壊した変更を、コミット前に 1 〜 3 秒で弾く .pre-commit-config.yaml の実例
✦フックが落ちたときにエージェント自身へ失敗ログを返し、人間を介さず自己修正させる回し方
✦秘密情報スキャン・型チェック・高速テストの 3 段を、待ち時間を増やさず並べる順序の設計
Stripe による安全な決済 · いつでもキャンセル可能
✦

この記事を購入する

この先の内容をすべてお読みいただけます。一度のご購入で、いつでも何度でもアクセスできます。このサイトは広告を掲載しておらず、皆さまのご支援がサーバー費用などの運営を支えています。

または
メンバーシップなら全記事が読み放題 →
シェア

お読みいただきありがとうございます

Antigravity Lab は広告なしで運営しており、サーバー費用などの運営コストはメンバーシップのご支援で賄っています。実装コード・ベンチマーク・本番設計パターンなど、実務でお役立ていただける記事を毎日更新しています。もし読んでよかったと感じていただけましたら、ぜひご覧ください。

  • ✦コピー&ペーストで使える実装コード付き
  • ✦毎日新しい上級ガイドを追加
  • ✦¥580/月 または ¥1,480 の永久アクセス
メンバーシップを見る →

関連記事

⬡ 連携・プラグイン2026-10-26
トークンを remote URL に埋め込む運用をやめました。古いクローンの .git/config に、誰でも読める権限で残っていました
無人で git を動かすとき、トークンを remote URL に入れていないかを棚卸しし、http.extraheader に移す手順です。点検スクリプト 3 本の全文と、移行前後に実際に出た出力を載せました。
◉ Antigravity 基本2026-10-31
最初の一日は「読むだけ」を頼む。Antigravity に任せる範囲を、壊せない順に広げる 5 段
Antigravity を初めて開いた日に、何を頼み、何をまだ頼まないか。壊せない順に任せる範囲を広げる 5 段の梯子と、作業の前後で「どこが動いたか」を数える小さなシェルスクリプトをお伝えします。
⬡ 連携・プラグイン2026-11-02
Marketplace のパートナープラグインを入れる前に、導入ページで確かめる三つのこと
Antigravity 2.28.2 で Marketplace にパートナープラグインが並びました。入れる前に導入ページの開発元とリポジトリを見て、入れたあとは Accounts タブで接続を管理する——その線引きと、リポジトリの状態を確かめる短いコマンドをまとめます。