【実務・中級編】Cursor × Gitフック連携:コミットメッセージ自動生成からコード品質チェックまでのAI自動化ワークフロー – 軽量・高機能テキストエディタ生産性向上バイブル

Cursor × Gitフック:AIを「専属のレビュアー」に変える究極の自動化ワークフロー

Cursorを単なる「チャットができるエディタ」として使っているなら、それはフェラーリで近所のコンビニに行くようなものです。真のポテンシャルは、「コンテキストの注入」と「Gitフックの自動化」を掛け合わせ、人間にしかできない意思決定以外をすべてAIに委ねることにあります。

本稿では、HuskyとCursorのCLI(`cursor`コマンド)を連携させ、コードの品質ゲートを突破し、コミットメッセージまでをAIが自律的に生成する「守りの開発」の構築手順を伝授します。

—

1. なぜ「Gitフック×AI」なのか:理論的背景

開発のボトルネックは往々にして「文脈のスイッチング」にあります。コードを書く、テストを走らせる、 diffを読み解く、コミットメッセージを捻り出す。この思考の断絶をAIで埋めることで、フロー状態を維持したまま、品質担保を自動化できます。

重要なのは、「AIに何を渡すか」です。単なるコードではなく、`git diff`の結果を適切に整形し、プロジェクトの規約に沿った「意味のあるコンテキスト」をAIに与えることが成功の鍵です。

—

2. 実装:HuskyによるAI品質ゲートの構築

まずは、Huskyを導入し、`pre-commit`フックでAIによる「自己レビュー」を強制します。

Huskyの設定とスクリプト

プロジェクトルートで以下を実行し、フックを準備します。

Huskyのインストール
npm install husky –save-dev
npx husky install

pre-commitフックの作成
npx husky add .husky/pre-commit “node scripts/ai-review.js”

AIレビュー用スクリプト (`scripts/ai-review.js`)

このスクリプトは、ステージングされた差分をAIに投げ、品質チェックを行うゲートキーパーです。

const { execSync } = require(‘child_process’);

// 1. ステージングされた差分を取得
const diff = execSync(‘git diff –cached’).toString();

if (!diff) process.exit(0);

// 2. Cursor CLIを介してAIにレビューを依頼
// 注意: CursorのCLIからプロンプトを投げるラッパーを想定
const review = execSync(`cursor-cli-chat “以下のdiffをレビューし、バグの可能性や可読性の問題を箇条書きで指摘してください。修正が不要ならOKとだけ出力してください。 ${diff}”`).toString();

if (review.includes(‘修正が必要’) || review.includes(‘バグ’)) {
console.error(‘❌ AIレビューにより品質ゲートを停止しました:’, review);
process.exit(1); // コミットを阻止
}
console.log(‘✅ AIレビュー通過:’, review);

—

3. 開発体験を劇的に変える「隠れたキーボードショートカット」

Cursorの真価は、インデックスされたプロジェクトの文脈を活用するショートカットにあります。

  • `Cmd + K` (インライン生成): ただコードを書く場所ではありません。`git diff`の結果をクリップボードにコピーし、`Cmd + K`で「この差分を簡潔なコミットメッセージとして要約して」と指示する。これでメッセージ作成の悩みから解放されます。
  • `Cmd + L` (Chat + コンテキスト): `@Files` や `@Git` を活用しましょう。特に、特定の機能がどのコミットで変更されたかを `@Git` で呼び出し、今の変更と衝突していないかをAIに比較させることが可能です。
  • `Cmd + Shift + L` (選択範囲のAI修正): 脳内のロジックを言語化するより、汚いコードを選択して「DRY原則に従ってリファクタリングして」と投げたほうが10倍速い。

—

4. チーム開発における「設定の共有化」ルール

個人の生産性はチームの足並みがあって初めて輝きます。以下の設定をリポジトリの `.cursor` フォルダに含めて共有しましょう。

`.cursor/rules/rules.md` (プロジェクト固有のAI指針)

このファイルを作成するだけで、Cursorはチームの「コーディング規約」を自動学習します。

プロジェクト規約

  • コンポーネント設計はAtomic Designに従うこと
  • エラーハンドリングは必ずResult型でラップすること
  • コミットメッセージはConventional Commits形式を厳守すること
  • AIへの依頼時は、必ず影響範囲(依存ファイル)を特定してから回答すること

—

5. 伝説的エンジニアが選ぶ「神プラグイン」構成

CursorはVS Codeの拡張機能と互換性がありますが、入れすぎはIDEの重みになります。以下の3つだけで十分です。

1. Conventional Commits: Gitフックと連携してコミットメッセージのフォーマットを強制します。
2. Error Lens: エラー箇所をエディタ上に直表示。AIに「このエラーを解決して」と投げる際のトリガーとして機能します。
3. GitLens: コードの変更履歴を追跡。`Cmd + L`で特定の行をAIに投げる際、どのコミットが原因かを知るために不可欠です。

—

結論:AIを「ツール」から「チームメイト」へ

このワークフローを導入すると、コミットするたびにAIが背中を守ってくれる安心感を得られます。

「AIに書かせる」のではなく、「AIに検閲させ、人間が責任を持つ」。

このスタンスこそが、最も高速で、かつ品質を担保できる現代の開発スタイルです。まずは `.husky` の設定から、チームの生産性を底上げしてみてください。あなたが寝ている間に、AIがコードの負債を整理し、朝起きたときには完璧なテスト結果が待っている。そんな未来は、すぐそこにあります。

タイトルとURLをコピーしました