はじめに
またまた、開発効率が上がるものを探していると、formula
で下記を見つけた。
https://formulae.brew.sh/formula/aicommits
そういえば、見聞きしたことあるなと思ったので、これを使ってみる。
環境
Mac OS Sonoma 14.5
Homebrew 4.3.9
準備
- Open AI API Key
https://platform.openai.com/api-keys
aicommitsのインストール
brew install aicommits
ログ
brew install aicommits
==> Downloading https://formulae.brew.sh/api/formula.jws.json
########################################################################################################################## 100.0%
==> Downloading https://formulae.brew.sh/api/cask.jws.json
########################################################################################################################## 100.0%
==> Downloading https://ghcr.io/v2/homebrew/core/aicommits/manifests/1.11.0
########################################################################################################################## 100.0%
==> Fetching dependencies for aicommits: c-ares, libuv and node
==> Downloading https://ghcr.io/v2/homebrew/core/c-ares/manifests/1.32.1
########################################################################################################################## 100.0%
==> Fetching c-ares
==> Downloading https://ghcr.io/v2/homebrew/core/c-ares/blobs/sha256:131bb254c554fb589fe2c9ac194674e6a68b37a6f978825f037acf8cde33
########################################################################################################################## 100.0%
==> Downloading https://ghcr.io/v2/homebrew/core/libuv/manifests/1.48.0
########################################################################################################################## 100.0%
==> Fetching libuv
==> Downloading https://ghcr.io/v2/homebrew/core/libuv/blobs/sha256:06b2dfb049b8962aab284b4e79f6c930a511a6d91e70055e3ee2ac8c53a36
########################################################################################################################## 100.0%
==> Downloading https://ghcr.io/v2/homebrew/core/node/manifests/22.4.1
########################################################################################################################## 100.0%
==> Fetching node
==> Downloading https://ghcr.io/v2/homebrew/core/node/blobs/sha256:d20bc9e22395c5b7b0c9886598b24f9ded801fe089c3bbcb7bc54b7f9c150a
########################################################################################################################## 100.0%
==> Fetching aicommits
==> Downloading https://ghcr.io/v2/homebrew/core/aicommits/blobs/sha256:a500d7ca5f6978eb4e3bb96677f8f332267c5b3070aafb8f8c7b4af85
########################################################################################################################## 100.0%
==> Installing dependencies for aicommits: c-ares, libuv and node
==> Installing aicommits dependency: c-ares
==> Downloading https://ghcr.io/v2/homebrew/core/c-ares/manifests/1.32.1
Already downloaded: /Users/horibahiroto/Library/Caches/Homebrew/downloads/491895419a01e439ca3fb9b547b24f89d25d10b1e354356ee22ac60
554d0c78c--c-ares-1.32.1.bottle_manifest.json ==> Pouring c-ares--1.32.1.sonoma.bottle.tar.gz
🍺 /usr/local/Cellar/c-ares/1.32.1: 169 files, 821.5KB
==> Installing aicommits dependency: libuv
==> Downloading https://ghcr.io/v2/homebrew/core/libuv/manifests/1.48.0
Already downloaded: /Users/horibahiroto/Library/Caches/Homebrew/downloads/8ee1d27fb604f55e3c4415b96e34dc9c7f557996832c372d984c816
2b29a4ad2--libuv-1.48.0.bottle_manifest.json ==> Pouring libuv--1.48.0.sonoma.bottle.tar.gz
🍺 /usr/local/Cellar/libuv/1.48.0: 20 files, 1.1MB
==> Installing aicommits dependency: node
==> Downloading https://ghcr.io/v2/homebrew/core/node/manifests/22.4.1
Already downloaded: /Users/horibahiroto/Library/Caches/Homebrew/downloads/e00f84273691fe507828d303d91ed1b2cbcd60bc6f8abc3da77b0e5
aa22313ec--node-22.4.1.bottle_manifest.json ==> Pouring node--22.4.1.sonoma.bottle.tar.gz
🍺 /usr/local/Cellar/node/22.4.1: 2,068 files, 79MB
==> Installing aicommits
==> Pouring aicommits--1.11.0.all.bottle.tar.gz
🍺 /usr/local/Cellar/aicommits/1.11.0: 51 files, 7.0MB
==> Running `brew cleanup aicommits`...
Disable this behaviour by setting HOMEBREW_NO_INSTALL_CLEANUP.
Hide these hints with HOMEBREW_NO_ENV_HINTS (see `man brew`).
使ってみる
- Nodeのバージョンを最小バージョンであるv14以上に設定する。
nodebrew
をインストールしているため、下記のように変更した。
nodebrew install stable
nodebrew ls
nodebrew use v22.4.1
- API keyの設定
aicommits config set OPENAI_KEY=<your token>
- gitリポジトリ直下で、
aicommits
の実行
aicommits
失敗ログ
aicommits
┌ aicommits
│
◇ Detected 1 staged file:
content/post/tech/ai/use-aicommits.md
│
◇ Changes analyzed
│
└ ✖ OpenAI API Error: 429 - Too Many Requests
{
"error": {
"message": "You exceeded your current quota, please check your plan and billing details. For more information on this err
or, read the docs: https://platform.openai.com/docs/guides/error-codes/api-errors.", "type": "insufficient_quota",
"param": null,
"code": "insufficient_quota"
}
}
429のエラーが出た。
無料プランで使っており、APIの無料分を使い果たしていたようなのでエラーになっていたようだ。
$5チャージしてみて再度実行する。
aicommits
下記のような感じになる。ログ
aicommits
┌ aicommits
│
◇ Detected 1 staged file:
content/post/tech/ai/use-aicommits.md
│
◇ Changes analyzed
│
◇ Use this commit message?
Add aicommits installation guide
│ Yes
│
└ ✔ Successfully committed!
aicommits
┌ aicommits
│
◇ Detected 1 staged file:
content/post/tech/ai/use-aicommits.md
│
◇ Changes analyzed
│
◇ Use this commit message?
Add preparation steps and resolve API key issue
│ No
│
└ Commit cancelled
aicommits
┌ aicommits
│
◇ Detected 1 staged file:
content/post/tech/ai/use-aicommits.md
│
◇ Changes analyzed
│
◇ Use this commit message?
Add Open AI API key setup instructions
│ Yes
│
└ ✔ Successfully committed!
結構良いのだが、コミットのためだけにとなると微妙・・・?
GitHubCopilotで良いような気もした。
参考
https://github.com/Nutlope/aicommits
おわりに
今回は、aicommits
を使ってコミットメッセージをAIに作成してもらったりした。
楽ではあるが、コストパフォーマンス的にはどうだろうといった感じ。