AI Commits を試してみた
stackshare のメールで見かけたので試してみる。
設定(OpenAI の API Key)
ツールのインストール自体は npm でできるが、OpenAI の API Key が必要。
Retrieve your API key from OpenAI
Note: If you haven't already, you'll have to create an account and set up billing.
Set the key so aicommits can use it:
aicommits config set OPENAI_KEY=<your token>
これは下記を参考に作成した。
設定すると ~/.aicommits
が作成される。API Key はこの中にべた書きされるので取り扱いに注意。
(XDG の設定はてきとうにやっている環境で試しているので、もしかたしたら ~/.config
などに作成されるかも)
試してみる
とりあえず npx
で試す。
下記で試したのと同じリポジトリで同じ diff (になるファイルを add
してある)の状況で試してみた。
このときは、下記のように生成された。
chore: add debug script
Add `debug` script to `package.json` to start node with inspect option and `build:debug` script to compile with source map.
aicommits
の場合は下記のようになる。
$ npx aicommits --dry-run
┌ aicommits
│
◇ Detected 1 staged file:
package.json
│
◇ Changes analyzed
│
◇ Use this commit message?
Add debug script for easier development
│ No
│
└ Commit cancelled
conventional commits の prefix(type) などは付与されない。この辺はいつも使っているコミットテンプレートなども生成の材料にしている場合との違いといった感じなのかな?
なお、 conventional commits 関連は対応が予定されているようだけど、人間が判断することになるもよう。
• Add support for conventional commits as a flag that users can enable
また、コミットをちょっと見た感じではメッセージ生成の材料として type を渡すことはなさそうかな。
diff をコピペしないでも使えるのは便利なので、とりあえず Dev Container のいつものイメージに入れておいて少し試してみる予定。
Dev Containers の Feature にしてみた
Dev Containers の Feature を作ってみたかったので、どうせならと aicommits で試してみた。
とりあえず試すなら Dev Containers 拡張機能でデフォルトの Feature に指定するとインストールされる。が、npm が必要なのでイメージによっては ghcr.io/devcontainers/features/node
も必要になるかもしれない。
"dev.containers.defaultFeatures": {
"ghcr.io/devcontainers/features/node:1":{},
"ghcr.io/hankei6km/test-feature-starter/aicommits:1": {},
},
個人用 Featrures のリポジトリをつくったらテスト用リポジトリから移すかも。