mcpField

Pre-Commit Guard

おすすめイベント駆動

Pre-Commit Guard について

イベントで起動するループで、Cursor 上でコミット前に npm test を実行します。テストが終了コード 0 で終わった場合のみコミットを進め、それ以外はブロックしたままにします。

主な機能

  1. 01イベントトリガーで手動の起動が不要
  2. 02npm test の終了コードを許可の基準にする
  3. 03テスト失敗中はコミットをブロック
  4. 04Cursor に対応

活用シーン

  1. 01失敗するテストがコミット履歴に入るのを防ぐ
  2. 02エージェントがコミットのたびに変更を自動検証
  3. 03繰り返しの変更の中でメインブランチのテスト通過を維持
目標
git コミットの前に、毎回 npm test が終了コード 0 で終わる状態にします。
終了条件
コミット前に npm test が終了コード 0 で終わった時点でコミットを許可します。
各ラウンドの間に実行
npm test

起動プロンプト

Cursor に貼り付けて実行すると、終了条件を満たすまでエージェントが以下の手順を繰り返します。

prompt.md
「Pre-Commit Guard」ループを開始します。
目標:git コミットの前に、毎回 npm test が終了コード 0 で終わる状態にします。
ステップ 1:テストを実行 — コミットの前に npm test を実行し、終了コードと出力を確認します。 `npm test`
ステップ 2:許可を判断 — 終了コードが 0 ならコミットを進めます。それ以外はブロックしたままにし、失敗を修正して再度検証します。
各ラウンドの間に実行:`npm test`
終了条件:コミット前に npm test が終了コード 0 で終わった時点でコミットを許可します。

手順

各ラウンドは順番に実行され、終了条件を満たさなければ次のラウンドへ進みます(最大 1 ラウンド)。

01
テストを実行

コミットの前に npm test を実行し、終了コードと出力を確認します。

$npm test
02
許可を判断

終了コードが 0 ならコミットを進めます。それ以外はブロックしたままにし、失敗を修正して再度検証します。

未達 → 次のラウンド条件を満たせば終了

対応エージェント

この Loop をそのまま実行できるコーディングエージェントです。

Cursor
Claude Code

コメント