Plannotator
Interactive Plan & Code Review for AI Coding Agents
Plannotator は、AI コーディングエージェントが作ったプラン、現在の git diff、Markdown や URL 由来の資料をブラウザで選択・注釈し、そのフィードバックをエージェントの次アクションへ戻すツール群。
ターミナル上の「承認する / しない」だけでは粗い。Plannotator は「この行は削る」「ここに条件を足す」「この実装順を変える」を視覚的に残し、Plan Diff やコードレビュー UI で人間の判断を細かく渡せる。
Visual Plan Review
Claude Code、Copilot CLI、Gemini CLI、OpenCode、Pi のプラン提出をフックし、ブラウザで承認・却下・注釈できる。再提出時は Plan Diff で変更点を確認。
Code Review
/plannotator-review や !plannotator review で git diff や PR を開く。行単位コメント、差分ビュー切替、AI への質問をレビュー中に扱える。
Annotate Anything
/plannotator-annotate は Markdown、HTML、URL、フォルダを対象にできる。/plannotator-last は直近のエージェント応答を注釈して戻す。
Plannotator の芯は「エージェントの計画・差分・成果物を、人間が読める粒度に分解し、構造化フィードバックとして戻す」こと。プランモードでは次の流れになる。
| ホスト | プランレビュー | コード / 注釈 | 連携方式 |
|---|---|---|---|
| Claude Code | ExitPlanMode hook | /plannotator-review, /plannotator-annotate, /plannotator-last | Plugin marketplace or manual hook |
| Copilot CLI | preToolUse hook | review / annotate / last slash commands | Plugin install + session state parsing |
| Gemini CLI | BeforeTool hook for exit_plan_mode | review / annotate slash commands | Installer writes policy, hook, commands |
| OpenCode | submit_plan tool | review / annotate / last commands | @plannotator/opencode plugin |
| Pi | plannotator_submit_plan | review / annotate / last / archive | @plannotator/pi-extension |
| Codex | 未対応 | !plannotator review, annotate, last | CLI stdout feedback loop |
多くの連携では、まず plannotator コマンドを PATH に入れる。
# macOS / Linux / WSL
curl -fsSL https://plannotator.ai/install.sh | bash
# Windows PowerShell
irm https://plannotator.ai/install.ps1 | iex
リリースバイナリは SHA256 sidecar を持ち、v0.17.2 以降は SLSA provenance 検証にも対応。
/plugin marketplace add backnotprop/plannotator/plugin install plannotator@plannotator/plugin install plannotator-copilot@plannotator"plugin": ["@plannotator/opencode@latest"]pi install npm:@plannotator/pi-extension!plannotator review から利用Plannotator はチームレビューも想定している。小さいプランは URL ハッシュだけに詰めるため、サーバ不要。大きいプランはブラウザ側で暗号化してから短縮リンクサービスへ送る。
Small plan
圧縮済みデータを URL ハッシュへ格納。ブラウザ外へ保存しない。
Large plan
AES-256-GCM で暗号化。サーバは暗号文のみ保持し、復号鍵は共有URL側に残る。
PLANNOTATOR_SHARE_URL や paste service URL でセルフホスト先へ差し替え可能。
- apps/hook
Claude Code hook server と slash command 群。 - apps/opencode-plugin
OpenCode plugin。workflow はplan-agent、manual、all-agents。 - apps/pi-extension
Pi の plan / execution phase と共有イベント API。 - packages/server
レビュー、annotation、PR、VCS、storage などのバックエンド処理。 - packages/ui
Markdown parser、Plan Diff、annotation highlighter、sharing utils。
Pi extension では plannotator:request event channel を公開し、他 extension も同じブラウザレビュー体験を再利用できる。
plan-review -> { planContent, planFilePath? }
code-review -> { cwd?, defaultBranch?, diffType? }
annotate -> { filePath, markdown?, mode?, folderPath? }
annotate-last -> { markdown? }
archive -> { customPlanPath? }
プランレビューは非同期。開始時に reviewId を返し、承認・却下後に plannotator:review-result を emit する。
- GitHub: backnotprop/plannotator — 本体リポジトリ
- plannotator.ai — 公式サイト・インストール入口
- Installation Docs — バイナリ検証と各ホスト導入
- Sharing and Collaboration — 共有とセルフホスト
- Claude Code Demo / OpenCode Demo