🛶

新しいAIコードレビューツール aica の紹介

に公開

こちらが作成している自動PRレビューツールです。
https://github.com/dotneet/aica

自動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連携

設定方法はこちらに記載しています。
https://github.com/dotneet/aica/wiki/GitHub-Actions-Settings

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