🤖

aicommitsでコミットメッセージを自動生成する

に公開

コミットメッセージを書くのが面倒、どう書けばいいか迷う...そんな悩みを解決するaicommitsを紹介します。AIが変更内容を解析して、適切なコミットメッセージを自動生成してくれるCLIツールです。

aicommitsとは

変更内容をAIが解析して、コミットメッセージを自動生成するCLIツールです。

  • 使用モデル: GPT-3.5-turbo
  • 特徴: 高精度なメッセージ生成

公式リポジトリ: https://github.com/Nutlope/aicommits

セットアップ

1. インストール

npm install -g aicommits

2. OpenAI APIキー取得

https://platform.openai.com/api-keys

アカウント登録後、APIキーを取得します。

3. APIキー設定

aicommits config set OPENAI_KEY=<your token>

4. 使用方法

# 変更をステージング
git add -A

# aicommitsを実行
aicommits

使用例

2つの引数を受け取り、その合計を返す関数を追加した場合:

// src/utils/sum.ts
export const sum = (a: number, b: number): number => a + b;

実行:

git add -A
aicommits

出力:

Use this commit message?

Add sum function to utils

yes / no

内容に問題なければyesを選択してコミット完了です。

便利な機能

複数の候補を表示

デフォルトでは1つの候補のみですが、複数表示できます。

aicommits --generate 3

Conventional Commits形式

Conventional Commits形式でメッセージを生成できます。

aicommits --type conventional

出力例:

feat(utils): add sum function

エイリアス設定

毎回aicommitsと入力するのは面倒なので、エイリアスを設定します。

# .zshrc または .bashrc
alias aic='aicommits'

設定後:

aic

トラブルシューティング

API使用量エラー

You exceeded your current quota, please check your plan and billing details.

原因: OpenAIの支払い設定が未完了

解決方法:

  1. OpenAI管理画面にログイン
  2. Billing > Overviewを確認
  3. Credit balanceが$0の場合、"Add to credit balance"で入金

コミットメッセージが不正確

原因: 一度に多くのファイルを変更しているため、AIが解析しきれない

解決方法:

  • 小さい単位でコミットする
  • 1機能実装 = 1コミットの原則を守る

セキュリティ注意事項

重要: コミットメッセージに秘匿情報(APIキーなど)が含まれないよう注意してください。

  • 変更内容はGPT-3.5-turboに送信されます
  • 機密情報の漏洩リスクがあります
  • 企業での使用時は特に注意が必要

まとめ

aicommitsを使うことで、コミットメッセージ作成の手間が大幅に削減されます。

利点:

  • 適切なメッセージを自動生成
  • 一貫性のあるコミット履歴
  • 開発効率の向上

注意点:

  • OpenAI APIの使用料が発生
  • セキュリティリスクの考慮
  • 大量の変更は小分けにする

個人開発での活用をおすすめします。企業での使用時はセキュリティポリシーを確認してください。

参考

https://github.com/Nutlope/aicommits

Discussion