Crit:エージェントの出力を人間がレビューするためのローカルツール
エージェントとのフィードバック ループ。エージェント Claude Code との統合: Crit は、Cursor、GitHub Copilot、OpenCode、Codex、Gemini、Qwen、Hermes、Windsurf、Cline、Grok、Aider、Pi など、ファイルを読み取ってコマンドを実行できるエージェントとも連携します。
ひと目でわかる
- これは何?
- 単一のローカルバイナリで、Markdown プラン、Git 差分、実行中の Web アプリ、静的 HTML をレビュー・コメント可能なドキュメントに変える。
- 誰に向いている?
- README には性能ベンチマーク、ユーザー数、セキュリティ監査の記載はない。明記されているのは、Crit は明示的に共有しない限りファイルをローカルに保ち、起動時に一度だけ更新確認のリクエストを行い、MIT ライセンスで公開されていることだ。
- 商用利用できる?
- できます。MIT は寛容なライセンスで、著作権表示とライセンス表示を残せば、使用・改変・販売が可能です。
- 今もメンテナンスされている?
- されています。最後のコミットは 4 日前です。
- 何の言語で書かれている?
- 主に Go です(GitHub の言語統計による)。
回答はプロジェクトの GitHub データ(最終同期:2026年9月14日)と当サイトの分析に基づくもので、法的助言ではありません。
オープンソース詳細解説
Critで1つのツール、4つのレビュー画面
Crit は Go 製の単一バイナリで、指定した対象に応じてインターフェースを切り替える。Markdown プランなら整形とレビュー UI を表示する。引数なしで起動すると、リポジトリの変更ファイルを検出し、シンタックスハイライト付きの差分を表示する。実行中の localhost URL を指定すると、アプリをレビュー用オーバーレイ内でプロキシする。静的 HTML ファイルを指定すると、そのファイルをレビュー用にレンダリングする。README は、エージェントにとってプランもコードも単なるテキストだが、人間のレビューアには出力タイプごとに適切なインターフェースが必要だと述べている。
Critでターミナルからレビューを始める
クイックスタートには4つの起動形式がある。`crit` は変更ファイルを自動検出し、`crit plan.md` は特定ファイルをレビューし、`crit http://localhost:3000` は実行中の開発サーバーをプロキシし、`crit landing.html` は静的アーティファクトをレビューする。複数ファイルも指定できる。例として `crit plan.md api-spec.md`。大きなブランチや PR のレビューには、`crit story` が差分を章立てした概要を生成し、詳細は `docs/story-mode.md` にある。レビュー管理コマンドには `crit status`、`crit stats`、`crit cleanup` がある。README が推奨するのはエージェント統合の `/crit` スラッシュコマンドだが、同じコマンドを手動で実行し、結果をエージェントに貼り付けることもできる。
Critでコメント、差分、レビュー状態
Crit は単一行またはドラッグで選択した範囲へのインラインコメントに対応し、参照行の後に GitHub の PR レビューのように表示する。エージェントがファイルを編集すると、ラウンドごとの差分が表示され、分割表示と統一表示を切り替えられる。コメントは `~/.crit/reviews/` のレビューファイルに追記され、ブランチごとに独立したファイルが作られるため、ブランチを切り替えてもコメントは失われない。ドラフトは自動保存され、コードブロックはシンタックスハイライトされ、行単位でコメント可能。ソースファイルが変更されるとブラウザが自動でリロードする。Vim キーバインドもあり、`j`/`k` で移動、`c` でコメント、`Shift+F` で終了する。レビューデータはデフォルトではリポジトリの外に置かれる。
Critでエージェント向けのプログラム的コメント
CLI は `crit comment` を提供しており、エージェントはブラウザ UI を開かずにレビューコメントを追加できる。README の例には `crit comment src/auth.go:42 'Missing null check'` や範囲指定の `crit comment src/handler.go:15-28 'Error handling issue'` がある。`--session` でレビューを指定、`--json` で構造化入力を渡し、`--output` でレビューファイルの保存先を変更できる。`crit comment --clear` はレビューファイルを削除する。同じディレクトリとブランチに複数のセッションが一致する場合、限定しないコマンドは推測せず失敗し、README は `--session <id>` で選択するよう指示している。
Critで共有、認証、GitHub PR 同期
レビューはブラウザ UI または `crit share` で直接共有できる。`crit share` はレビューをアップロードして公開 URL を表示する。`crit unpublish` で共有を削除する。共有はデフォルトで crit.md を使う。セルフホストするには `crit-web` をデプロイし、`CRIT_SHARE_URL` または `share_url` を設定する。`share_url` を空文字列にすると共有を無効化できる。crit.md の認証は GitHub OAuth を使用し、`crit auth login` は OAuth デバイスフローでトークンを取得し、`~/.crit.config.json` に保存する。GitHub PR 同期には GitHub CLI (`gh`) が必要。`crit pull` は PR からコメントを取得し、`crit push` はコメントを投稿する。`--dry-run` でプレビュー、`--message` でトップレベルのレビューコメントを追加する。
Critでコメントをエージェントに送ってリアルタイムでやり取りする
実験的な「Send to agent」機能は、グローバル設定に `agent_cmd` が設定されている場合にコメントに表示される。クリックすると、コメントの文脈、引用テキスト、ファイルパス、行範囲が stdin でエージェントに渡され、stdout が返信として投稿され、ファイル編集はファイル監視で検出されて UI が更新される。最初のやり取りの後、コメントはライブスレッドになり、以降の返信は自動的にエージェントへ送られ、エージェントは会話履歴全体を参照できる。README は権限モードを文書化している。`claude --dangerously-skip-permissions -p` で完全アクセス、`--allowedTools Edit,Read,Bash,Write,Glob,Grep` で選択的アクセス、`claude -p` で権限なし。セキュリティ上の注意として、`agent_cmd` はグローバルの `~/.crit.config.json` からのみ読み取られるため、悪意のあるリポジトリが設定できない。
Critで設定、ローカル既定値、インストール
設定はグローバルの `~/.crit.config.json` とプロジェクトの `.crit.config.json` に置かれ、プロジェクトがグローバルを上書きし、CLI フラグや環境変数が両方を上書きする。サーバーはデフォルトで `127.0.0.1` にバインドされる。非ループバックホストや `public_url` を使うには `--allow-unauthenticated-network` または `CRIT_ALLOW_UNAUTHENTICATED_NETWORK=1` が必要。Crit にはネットワーク認証がないため。README はアナリティクスやトラッキングがないと述べており、起動時に新バージョンの確認のため一度だけネットワークリクエストを行う。`CRIT_NO_UPDATE_CHECK=1` で無効化できる。インストール方法は Homebrew、`go install`、Nix、Windows PowerShell でのダウンロード、Go 1.26+ からのソースビルドがある。MIT ライセンスは使用、複製、変更、統合、公開、配布、再ライセンス、販売を許可し、ソフトウェアは「現状のまま」提供され保証がないと明記している。
編集部の結論
README には性能ベンチマーク、ユーザー数、セキュリティ監査の記載はない。明記されているのは、Crit は明示的に共有しない限りファイルをローカルに保ち、起動時に一度だけ更新確認のリクエストを行い、MIT ライセンスで公開されていることだ。
コミュニティノート