AI時代のGitワークフロー:コミットメッセージとPR作成をAIに任せる方法
開発者の皆さん、コミットメッセージに「fix bug」や「update」とだけ書いて怒られた経験はありませんか?あるいは、Pull Request (PR) の説明文を書くのが億劫で、コードを書き終わった後にため息をついていませんか?
AIの進化により、これらの「コードを書く以外の付帯作業」は劇的に効率化されました。本記事では、コミットメッセージとPR作成をAIに任せ、開発者がコーディングのみに集中できるGitワークフローを紹介します。
1. コミットメッセージの自動生成
変更内容(差分)を解析し、Conventional Commitsなどの規約に従ったメッセージを生成するツールが数多く登場しています。
おすすめツール:aicommits
Node.js製のCLIツールです。シンプルで使いやすく、OpenAI APIキーがあればすぐに導入できます。
npm install -g aicommits
使い方は簡単。git add した後に aicommits と打つだけです。
git add .
aicommits
すると、以下のようなメッセージが提案されます。
feat(auth): add login validation logic
- check email format using regex
- implement output error message for empty password
気に入ればそのままコミット完了。修正も可能です。
自作Git Hookでの実装
特定のフォーマットを強制したい場合は、Pythonスクリプトで自作し、.git/hooks/prepare-commit-msg に仕込むのも有効です。
# pre-commit-hook example (concept)
diff = subprocess.check_output(["git", "diff", "--cached"]).decode("utf-8")
prompt = f"以下の差分に基づいて、Conventional Commits形式のコミットメッセージを作成してください:\n\n{diff}"
message = call_llm(prompt)
# メッセージファイルに書き込み
2. Pull Request (PR) の自動作成
PRのタイトルと概要(Description)を自動生成するには、GitHub CLI (gh) とAIを組み合わせるのが最強です。
gh-copilot 拡張機能
GitHub公式のCLI拡張機能です。
gh extension install github/gh-copilot
これを使えば、ブランチ間の差分を要約し、PRの説明文を生成できます。
gh copilot explain
GitHub Actionsによる自動化
PRが作成されたタイミングで、AIボットが差分を読み取り、概要欄を更新するアクションを組むことも可能です。coderabbitai などのSaaSを使えば、設定不要で高品質な要約とレビューが手に入ります。
3. 注意点:AIは「Why」を知らない
AIは「何が変わったか(What)」や「どのように変わったか(How)」を差分から完璧に読み取れます。しかし、「なぜ変えたのか(Why)」という背景情報は、コードだけからは読み取れません。
- チケット番号の紐付け: JiraやGitHub Issuesの番号を含める。
- 文脈の補足: AIが生成したメッセージに対して、人間が「なぜなら〜だからだ」と一言書き加える。
この一手間を加えるだけで、履歴の価値は何倍にもなります。
まとめ
これからの開発者は、コミットメッセージを書く時間を「ロジックを考える時間」に充てるべきです。AIを使いこなし、Gitログさえも美しく管理する。それもまた、現代のエンジニアリングスキルの一つと言えるでしょう。