🛶
新しいAIコードレビューツール aica の紹介
こちらが作成している自動PRレビューツールです。
自動PRレビューのOSSとしてはおそらく pr-agentがもっとも使われていると思います。
pr-agent は優れたツールですが、下記のようなところで使いづらさを感じることがありました。
- Python製でローカルでの起動が面倒
- GitHub Actionsへの依存が強く他のツールに組み込みづらい
- プルリクエストが作成されてからでないとレビューできない
- 素朴な機能も有料版に含まれており、無償の範囲では機能不足を感じることがある
そこで新たに作成しているのが aica です。
aicaの概要
aica は自動PRレビューツール以上の機能を持っており、ややごった煮的なツールになっていますが、私が開発時に欲しいAI機能が諸々含まれています。pr-agentのような自動PRレビューツールとしての側面と、ローカルCLIで使える便利AIコマンドという2つの側面があります。
aicaは現状下記のような機能を持っています。
- AIコードレビュー
- AIコードレビューを改善するためのナレッジ検索(ベクトルDB)
- AIコーディングエージェントによるコード編集
- MCP(Model Context Protocol) のクライアント機能とサーバー機能
- PRの要約作成
- コミットメッセージの作成
- PRの作成(タイトルと内容の自動生成)
- プロンプト編集
- Slack通知
- GitHub Actions 連携
実行ファイルはシングルバイナリとなるため、高速に起動し依存ファイルがありません。
使用方法
aicaのインストール
バイナリインストール
# macOS(Apple sillicon)
curl -L -o aica "https://github.com/dotneet/aica/releases/download/v0.2.3/aica-v0.2.3-darwin-arm64"
# macOS(Intel)
curl -L -o aica "https://github.com/dotneet/aica/releases/download/v0.2.3/aica-v0.2.3-darwin-x64"
chmod +x aica
mv aica path-to-your-bin-directory
ビルド
# ビルドのためにbunが必要です。
#
# Official Install Document:
# https://bun.sh/docs/installation#installing
git clone https://github.com/dotneet/aica.git
cd aica
bun install
bun run build
cp ./dist/aica path-to-your-bin-directory
環境変数の設定
# GitHubのトークンを指定します。ghでログイン状態ならば不要です。
export GITHUB_TOKEN=your_github_token
# Anthropicのモデルを使う場合
export AICA_LLM_PROVIDER=anthropic
export ANTHROPIC_API_KEY=your_api_key
export ANTHROPIC_MODEL=claude-3-5-sonnet-20241022
# OpenAIのモデルを使う場合
export AICA_LLM_PROVIDER=openai
export OPENAI_API_KEY=your_api_key
export OPENAI_MODEL=o3-mini
# Googleのモデルを使う場合
export AICA_LLM_PROVIDER=google
export GOOGLE_API_KEY=your_api_key
export GOOGLE_MODEL=gemini-2.0-flash
各種コマンド
チートシート的にコマンドを紹介します。
詳細は README.md を参照してください。
# 現在のリポジトリの変更差分についてコードレビューを行う
aica review
# ファイルを指定してコードレビューを行う
aica review "src/**/*.ts"
# 現在のリポジトリの変更差分について要約を出力する
aica summary
# エージェントにタスクを依頼する
aica agent "your prompt here"
# エージェントにタスクを依頼する。プロンプトはファイルから指定する。
aica agent -f instruction.txt
# PRを作成する。自動的にブランチ作成・PRタイトル作成・PR本文作成を行います。
aica create-pr
# コミットメッセージを作成します
aica commit-message
# コミットメッセージの作成とコミットを同時に行います
aica commit
GitHub Actions連携
設定方法はこちらに記載しています。
PRが作成されると、変更の要約とバグレポートがPRに記載されます。
pr-agent のように下記のようなコマンドでPRのコメントからaicaを起動することができます。
# edit the code with AI
/aica edit "your prompt here"
# update summary in the pull request body
/aica summary
# review the latest diff
/aica review
Discussion