CodeRabbitはAIコードレビューサービスです。ローカルにあるアンコミットなファイルも含めてレビューできるCodeRabbit CLIを提供しているのですが、実行する際にはWSL2必須となっています。
WSL2がなくとも実行できないものかと思い、Coderabbit CLI on a Docker containerを参考にDockerを使って実行する形にしてみました。
注意点
Dockerデスクトップをインストールする際にWSL2もインストールされたりします…。なので、あくまでもCodeRabbit CLIをインストール・利用する上でWSL2が不要といった程度のものになります。
Dockerfileについて
Dockerfileの内容は以下になります。参考にしたGistではFedoraを使っていますが、バージョンアップが激しいと思われるのと、個人的にDebian/Ubuntu系が好きなので変更しています。
FROM debian:bookworm-slim
ARG USER_UID=1001
RUN apt-get update \
&& apt-get install -y --no-install-recommends \
ca-certificates \
curl \
git \
unzip \
&& curl -fsSL https://cli.coderabbit.ai/install.sh -o /tmp/coderabbit.sh \
&& sh /tmp/coderabbit.sh \
&& mv /root/.local/bin/coderabbit /usr/local/bin/coderabbit \
&& git config --system --add safe.directory /workdir \
&& useradd -u ${USER_UID} -m -s /usr/sbin/nologin coderabbit \
&& mkdir /workdir \
&& chown -R ${USER_UID}:${USER_UID} /workdir \
&& rm -rf /var/lib/apt/lists/* /tmp/coderabbit.sh
USER ${USER_UID}
WORKDIR /workdir
ENTRYPOINT ["coderabbit"]
これをビルドします。
docker build -t coderabbit .
コマンドの作成
終わったら、自分のホーム直下に .coderabbit フォルダを作成します。そのフォルダの中に coderabbit.bat を作成します。
@echo off
if not exist "%USERPROFILE%\.coderabbit" mkdir "%USERPROFILE%\.coderabbit"
docker run --rm -it ^
-v "%USERPROFILE%\.coderabbit:/home/coderabbit/.coderabbit" ^
-v "%cd%:/workdir" ^
-w /workdir ^
coderabbit %*
環境変数を追加します。
setx PATH "%PATH%;%USERPROFILE%\.coderabbit"
コマンドプロンプトを終了して、再度実行します。これでパスが反映されます。
認証
認証を実行します。以下のコマンドで、先ほどの coderabbit.bat を実行する形になっています。
coderabbit auth login
そうすると、URLが表示されるのでアクセスして認証を行います。コマンドはあくまでもDocker内で実行されており、ブラウザを自動で開くことはできないので、注意してください。
認証後に表示されるアクセストークンをコマンドプロンプトに貼り付ければ、認証完了です。
レビューを実行する
レビューを実行する際には、その該当リポジトリに移動して coderabbit review --plain などを実行すればOKです。
この方法ならば、CodeRabbit Plugin for Claude CodeやCodexプラグインなどからも呼び出せるはずです。
他のエージェントを含め npx skills add coderabbitai/skills でもスキルとしてインストールできます。
まとめ
今回はWindows向けに、Dockerコンテナとして coderabbit コマンドを使えるようにするアイデアを試してみました。Dockerの場合はHyper-Vを使おうとするとライセンスが必要なようですが(未検証)、Podman Desktop + Hyper-Vであれば、Windows ProであればWSLなしでも使えるようになりそうです。
環境依存を減らしたい方は試してみてください。


