本文へスキップ
LGTM オープンソース · MIT

プルリクエストに直接届く AI レビュー

open-pr はリポジトリごとの規約を読み取り、PR 上にレビューを 1 件だけ投稿します。概要、深刻度付きの行コメント、そして修正が push された後の返信まで。PR を開いた全員が同じ内容を見られます。

コマンド 1 行でインストール

最新 v2.0.4
curl -fsSL https://raw.githubusercontent.com/TOMOSIA-VIETNAM/open-pr/main/install.sh | bash
レビュー対象
  • GitHub
  • GitLab
  • Bitbucket

仕組み

PR 上のレビューまで 3 ステップ

  1. 01

    プラグインを入れる

    普段使っているエージェント CLI でコマンド 1 行。open-pr のサービスもボットアカウントもありません。レビューはあなた自身のベンダーアカウントで投稿されます。

  2. 02

    プルリクエストで実行する

    PR は専用の git worktree にチェックアウトされるため、作業中のブランチには一切触れません。レビュー中もコーディングを続けられます。

  3. 03

    PR 上でレビューを読む

    概要、深刻度付きの行コメント、そしてそのまま適用できる修正提案。PR を開いた全員が同じ内容を見られます。

最初から最後まで、コマンドは 2 つ

プルリクエストをレビューする

/open-pr:review <PR_URL>

レビューの指摘を修正する

/open-pr:fix <PR_URL>
open-pr が投稿したレビュー: 概要、修正提案付きの行コメント、修正を push した後の返信

レビュー → 修正

プルリクエストがきれいになるまでラウンドを重ねる

修正後にもう一度レビューを走らせると、前回の続きから再開します。同じ指摘の繰り返しも、最初からのやり直しもありません。

TOMOSIA-VIETNAM/open-pr #123 open-pr

レビュー実行 /open-pr:review <PR_URL> ラウンド 1 · レビュー

[AI REVIEW] Overview

ラウンド 1 · レビュー

コミット d61a577 時点の変更全体をレビューしました。確認したい指摘が 2 件あります。

src/auth/session.ts:42

ラウンド 1 · レビュー

トークンの有効期限を `<` で比較しているため、ちょうど今失効するトークンが通ってしまいます。

修正しました — 比較を `<=` に変え、境界値のテストを追加しました。 修正

このスレッドで確認済み · resolved ラウンド 2 · 再レビュー

src/api/client.ts:88

ラウンド 1 · レビュー

リトライのループに上限がなく、失敗し続けるエンドポイントで回り続けます。

修正しました — リトライは 3 回で止まります。 修正

このスレッドで確認済み · resolved ラウンド 2 · 再レビュー

修正を push /open-pr:fix <PR_URL> 1 コミットを push · amend も force-push もなし 修正

再レビュー実行 /open-pr:review <PR_URL> ラウンド 2 · 再レビュー

src/api/client.ts:95

ラウンド 2 · 再レビュー

このラウンドで新たに: バックオフに jitter がなく、リトライが同じタイミングに重なります。

LGTM 🌟

最終ラウンド

すべてのスレッドが解決済み。この差分に新しい指摘はありません。

できること

チームが付き合えるレビューのために

  • リポジトリを学習する

    README・CLAUDE.md・AGENTS.md・docs・wiki を先に読みます。チームのルールは一般論より優先され、ある PR での指摘は次回の実行にも引き継がれます。

  • 3 つのベンダー、1 つの流れ

    GitHub・GitLab・Bitbucket は同じように動きます。ベンダーの違いはランタイムのスクリプト側にあり、レビュー本文には現れません。

  • 深刻度に一貫性がある

    1 回の実行につきレビューは 1 件だけ。ボットのコメントの羅列ではなく、概要と深刻度付きの行コメントが返ります。

  • 修正コマンドが輪を閉じる

    自分が残した指摘を読み、実際のコードを直し、ちょうど 1 コミットだけ作ります。amend も force-push もせず、各スレッドに返信します。

  • 対象違いを止める

    ブランチや PR が違えば、ファイルに触れる前に止まります。スレッドを解決するかどうかは常にあなたの判断です。

  • 普段のエージェント CLI で動く

    Claude Code・Cursor・Codex・Gemini CLI・Antigravity が 1 つのソースから同じ手順を実行します。shim は受け渡すだけです。

トークンコスト

リリースごとに計測している

リリースごとのコンテキストコストをコマンド別に 1 本の線で示したものです。プラグインのリポジトリ自身が生成し、このページのビルド時に取り込んでいます。

リリースごとのコンテキストコストを示す折れ線グラフ。コマンドごとに 1 本

v2 以降、1 回あたり約 26% 安くなりました。

インストール

普段動かしているエージェントを選ぶ

1 行でどの環境にも入ります。プラットフォーム別のコマンドも中身は同じで、各ツールの書き方に合わせてあるだけです。

どのプラットフォームでも同じコマンド

curl -fsSL https://raw.githubusercontent.com/TOMOSIA-VIETNAM/open-pr/main/install.sh | bash

Claude Code

インストール

/plugin marketplace add TOMOSIA-VIETNAM/open-pr
/plugin install open-pr@open-pr

使う

/open-pr:review <PR_URL>

アップデート

/plugin marketplace update open-pr

Codex

インストール

codex plugin marketplace add TOMOSIA-VIETNAM/open-pr
codex plugin add open-pr@open-pr

使う

$open-pr-review <PR_URL>

Gemini CLI

インストール

gemini extensions install https://github.com/TOMOSIA-VIETNAM/open-pr --auto-update

使う

/open-pr-review <PR_URL>

Cursor

インストール

curl -fsSL https://raw.githubusercontent.com/TOMOSIA-VIETNAM/open-pr/main/install.sh | bash -s -- --platform cursor

使う

/open-pr-review <PR_URL>

Antigravity

インストール

curl -fsSL https://raw.githubusercontent.com/TOMOSIA-VIETNAM/open-pr/main/install.sh | bash -s -- --platform antigravity

使う

/open-pr-review <PR_URL>

git と jq、そしてログイン済みのベンダー CLI が必要です。GitHub なら gh、GitLab なら glab。Bitbucket は環境変数の API トークンを読みます。