概要
https://kakehashi-dev.hatenablog.com/entry/2025/11/27/110000
詳細内容
## コーディングエージェントのカスタムコマンドでGit操作を効率化
https://kakehashi-dev.hatenablog.com/entry/2025/11/27/110000
カケハシのVPoTが、Cursorのカスタムコマンドを活用し、Gitのコミットとプルリクエスト作成を効率化する具体的な手法と、AIの限界を克服するための工夫を詳細に解説する。
**Content Type**: Tools
**Language**: ja
**Scores**: Signal:4/5 | Depth:4/5 | Unique:4/5 | Practical:5/5 | Anti-Hype:4/5
**Main Journal**: 86/100 | **Annex Potential**: 84/100 | **Overall**: 84/100
**Topics**: [[コーディングエージェント, Cursor, Gitワークフロー自動化, カスタムコマンド, 開発効率化]]
カケハシのVPoTである椎葉氏は、日々の開発においてCursorを主要なコーディングエージェントとして活用しており、特に頻繁に行うGit操作の効率化に注目した。本記事では、コミットとプルリクエスト作成という二つの作業を自動化するためにCursorのカスタムコマンド(「コマンド」とは再利用可能なプロンプト定義)を導入した経験と、その具体的な実装、そしてAIエージェントと協調する上での工夫が詳細に解説される。
まず、`/commit`コマンドは、`git status`、`git diff`での変更確認、ステージング、`git diff --cached`でのコミット対象確認、コミットメッセージ作成、そしてコミット実行までの一連のプロセスを自動化する。著者は、Cursorが変更内容を記憶や推測に頼りがちなため、明示的に`git diff`コマンドを実行して実際の差分を確認させるようコマンドに組み込んでいる点を強調する。これにより、AIが自己の変更だけでなく、人間による追加の修正も正確に把握した上でコミットメッセージを作成し、意図しないコミットを防ぐ。また、複数行にわたるコミットメッセージの失敗を防ぐため、`/tmp`ディレクトリに一時ファイルを生成し、`git commit -F`でそのファイルを利用する堅牢な手法を採用している。コミットメッセージのフォーマット(`feat:`や`fix:`などのプレフィックスを含む)は、Cursorが提案したものをそのまま採用し、チームの規約に沿ったコミットを容易にしている。
次に、`/create-pr`コマンドは、現在のブランチからデフォルトブランチ(`origin/main`)へのプルリクエスト作成を自動化する。このコマンドは、`git fetch`でリモートの最新状態を取得し、変更ファイル一覧(`git diff --name-only`)と変更統計情報(`git diff --stat`)を確認。さらに、全ての変更ファイルについて`git diff`で実際の差分を網羅的に確認した上で、プルリクエスト本文の作成とドラフトPRの生成を`gh pr create --draft`で行う。ここでも著者は、AIがコミットログだけでなく、実際の差分を正確に理解し、誤った概要を作成しないように「全ての変更ファイルについて差分をチェックする」という指示を組み込むことの重要性を指摘する。PR本文も`/tmp`に一時ファイルとして書き出し、GitHub CLIに渡すことで確実な実行を保証している。ドラフトPRとして作成することで、人間が最終確認・調整を行うワークフローを確立している。
これらのカスタムコマンドは、日々の定型的なGit操作を効率化し、AIエージェントの利便性を飛躍的に高める。特に、AIの特性(記憶や推測に頼りがち)を理解し、`git diff`や一時ファイルの活用といった具体的な技術的工夫を通じて、その弱点を補い、より信頼性の高い自動化を実現している点が、開発者にとって大きな示唆を与える。著者は、頻繁に利用するプロンプトはコマンド化することで、開発効率が向上すると結論付けている。