open-code-review

spencermarxApache-2.0活跃维护

用多个 AI 智能体模拟一支可定制的工程师团队,对代码进行评审并自动展开讨论,帮你在合并前发现更多问题。

AI-powered multi-agent code review. Simulates a customizable team of Engineers performing code review with built-in discourse.

v2.5.1发布于 2026-11-01 11:50 UTC383star +1 / 7 天36fork同步于 2026-11-10 12:00 UTC

怎么上手

由 README 提炼,执行前请确认
npm install -g @open-code-review/cli
cd your-project
ocr init
ocr dashboard
硬件要求按 README 说明

README 未说明

下载:源码 zip·GitHub Releases(安装包)本站不镜像安装包

项目说明

由 README 自动翻译提炼

多智能体 AI 代码审查工具,模拟可定制工程师团队独立审查并互相辩论

用多个 AI 智能体模拟一支可定制的工程师团队,对代码进行评审并自动展开讨论,帮你在合并前发现更多问题。

核心能力

  • 多个审查者实例独立审查代码,再经辩论与综合输出统一优先级反馈
  • 内置 28 个审查者人格,支持自定义持久审查者和临时一次性审查者
  • 支持为不同审查者分配不同模型,组成多模型团队
  • 可传入 spec 或验收标准,让审查对照需求而非通用最佳实践
  • 从 CLAUDE.md、.cursorrules 等文件自动发现项目规范并应用

容易踩的坑

需要 Node.js >= 22.5 和 Git,并已安装受支持的 AI 编码助手;需先在项目内执行 ocr init 完成配置;Ask the Team 聊天功能要求 Claude Code 2.1.295+ 或 OpenCode 1.3.4+

内容由模型根据 README 生成,可能不完整或不准确,以官方文档为准。看原文 README

最近发版

5 个版本v2.5.1
  1. v2.5.1最新正式版2026-11-01 · 2026-11-01 11:50 UTC

    2.5.1 (2026-11-01)

    🩹 Fixes

    • dashboard: enforce the chat's read-only tool set (5262716)
    • dashboard: check the CLI version on every chat turn (c786984)
    • dashboard: finish a stopped chat turn without waiting on its pipes (5b277e2)
    • dashboard: keep a late close from touching the newer chat turn (cae9e2b)
    • dashboard: keep a newer turn from re-storing a stopped session (5379fd9)
    • platform: register the OpenCode chat restriction env injections (a67d6cd)
    • platform: add killTreeNow for an immediate process-tree kill (5d67314)
    • platform: stop the root before killTreeNow walks the tree (2aeab03)

    ❤️ Thank You

    • claude-flow @agentic-org
    • Spencer Marx
  2. v2.5.02026-07-28 · 2026-07-28 12:16 UTC
    查看更新说明

    2.5.0 (2026-07-28)

    🚀 Features

    • cli: capture the pre-mutation env snapshot for dashboard children (0e41df6)
    • config: add dashboard settings parsing layer (#56)
    • dashboard: inherit the launch shell environment in child processes (#57, #56)
    • platform: add child-env builder with criteria-governed denylist (7490f06)

    🩹 Fixes

    • dashboard: close spawn-convergence gaps from OCR round-1 review (ddd02bc)

    ❤️ Thank You

    • claude-flow @agentic-org
    • Spencer Marx
    • Special thanks to @thunderock for reporting and reproducing the dashboard environment-variable gap with OpenCode + Amazon Bedrock (#57) and for the groundwork in #56 — the shared-config YAML parsing for dashboard.ai_cli and the null-prototype env hardening in this release are built on that contribution. Dashboard-launched reviews now inherit your shell environment automatically (no configuration needed), so Bedrock, proxies, and custom-CA setups work out of the box.
  3. v2.4.02026-06-28 · 2026-06-28 13:20 UTC
    查看更新说明

    2.4.0 (2026-06-28)

    🚀 Features

    • cli: honor a session --team override in team resolve (9271257)
    • config: add strict --team shorthand parser (parseTeamSpec) (f0b58e4)
    • skills: add the OCR Review-to-Approval Loop project skill (d8146fb)

    🩹 Fixes

    • config: bound team instance count to prevent a heap-OOM / DoS (c32ef3e)

    ❤️ Thank You

    • claude-flow @agentic-org
    • Spencer Marx
  4. v2.3.02026-06-15 · 2026-06-15 14:20 UTC
    查看更新说明

    2.3.0 (2026-06-15)

    🚀 Features

    • brand: integrate new OCR logo/cover assets in READMEs + dashboard (52b8483)
    • cli: argv-safety syntax classes for model ids and vendor session ids (#43)
    • cli: forward-only, lease-guarded review --resume + status forward-resume (6fb6541)
    • dashboard: process supervision and database integrity hardening (4481077)
    • dashboard: auto-forward-resume sweep + exhausted-state recovery UI (d85333f)
    • state: enforce directional verdict↔blocker-count consistency (a2c829a)
    • state: forward-resume core for stranded mid-pipeline runs (#146)
    • verdict: canonical 3-state verdict contract enforced end to end (278b308)

    🩹 Fixes

    • migrate raw child_process call sites to the platform wrappers (#43)
    • cli: share one vendor-session-id syntax class across bind and capture (#43)
    • cli: externalize ./index.js from the test-support bundle so the DB cache stays a singleton (#41)
    • dashboard: deliver prompts over stdin for both adapters (#43)
    • dashboard: refuse to spawn an agent CLI with an empty prompt (#43)
    • dashboard: run 'ocr team set' from the project root on every platform (#41)
    • platform: spawn via cross-spawn — argv is data on every platform (#43)

    ❤️ Thank You

    • claude-flow @agentic-org
    • Spencer Marx
  5. v2.2.12026-06-11 · 2026-06-11 13:04 UTC
    查看更新说明

    2.2.1 (2026-06-11)

    🩹 Fixes

    • dashboard: disclose bundled model-list fallback and keep free-text entry reachable (#39)
    • models: rebuild vendor model enumeration as a single-source strategy table (#39)
    • models: address review round 1 — route hardening, guards, cache split, picker defaults (6cb4d88)

    ❤️ Thank You

    • claude-flow @agentic-org
    • Spencer Marx

用户点评

登录用户的真实使用记录,可按版本和硬件筛选
共 0 条

    还没有人点评。第一个说出真实体验的人最有价值。

    README 原文

    未翻译

    Quick Start

    Prerequisites: Node.js >= 22.5, Git, and an AI coding assistant.

    # 1. Install the CLI globally
    npm install -g @open-code-review/cli
    
    # 2. Initialize OCR in your project
    cd your-project
    ocr init
    
    # 3. Launch the dashboard and run your first review
    ocr dashboard
    

    Your browser will open the OCR dashboard — you're ready to run your first review.

    Any package manager works. From v2.1 OCR uses Node's built-in SQLite (node:sqlite) — there's no native module to compile, so npm i -g, pnpm add -g, and yarn global add all install cleanly (including under pnpm 10+, which blocks dependency build scripts). It just needs Node >= 22.5.

    ocr init detects your installed AI tools (Claude Code, Cursor, Windsurf, and 11 more) and configures each one automatically. Then open the dashboard to run a review, browse results, and manage your workflow from the browser.

    Or run reviews directly from your AI coding assistant:

    /ocr:review                                    # Claude Code / Cursor
    /ocr-review                                    # Windsurf / other tools
    /ocr-review Review against openspec/spec.md    # With requirements
    

    Why Open Code Review?

    When you ask an AI to "review my code," you get a single perspective — one pass, one set of priorities. OCR changes that fundamentally:

    • Multi-agent redundancy — Multiple reviewer instances examine your code independently. Different attention patterns catch different issues. What one reviewer misses, another finds.
    • Discourse before synthesis — Reviewers don't just produce findings — they debate them. They challenge assumptions, validate concerns, and surface questions no single reviewer would ask.
    • Fully customizable teams — Pick from 28 reviewer personas (including famous engineers like Martin Fowler, Kent Beck, and Sandi Metz), create your own persistent reviewers, or describe ephemeral one-off reviewers inline.
    • Requirements-aware — Pass in a spec, proposal, or acceptance criteria. Every reviewer evaluates the code against your stated requirements, not just general best practices.
    • Project context — OCR discovers your standards from CLAUDE.md, .cursorrules, OpenSpec configs, and other common patterns. Reviewers apply your conventions.
                        ┌─────────────┐
                        │  Tech Lead  │  ← Orchestrates the review
                        └──────┬──────┘
                               │
             ┌─────────────────┼─────────────────┐
             │                 │                 │
             ▼                 ▼                 ▼
    ┌─────────────────┐ ┌─────────────┐ ┌─────────────────┐
    │   Your Team     │ │  Your Team  │ │   Your Team     │
    │   Composition   │ │  Composition│ │   Composition   │
    └─────────────────┘ └─────────────┘ └─────────────────┘
             │                 │                 │
             └─────────────────┼─────────────────┘
                               │
                        ┌──────▼──────┐
                        │  Discourse  │  ← Reviewers debate findings
                        └──────┬──────┘
                               │
                        ┌──────▼──────┐
                        │  Synthesis  │  ← Unified, prioritized feedback
                        └─────────────┘
    

    Note: OCR does not replace human code review. The goal is to reduce the burden on human reviewers by catching issues earlier — so human review is faster and more focused on things machines can't catch.


    Table of Contents


    The Dashboard

    The dashboard is the recommended way to run reviews, browse results, and manage your workflow. Launch it with ocr dashboard.

    Run reviews and maps

    The Command Center lets you launch multi-agent code reviews and Code Review Maps directly from the dashboard. Specify targets, add requirements, toggle fresh starts — then watch live terminal output as agents work.

    Browse and triage reviews

    View verdict banners, individual reviewer cards, findings tables, and cross-reviewer discourse for every review round. Set triage status on findings (needs review, in progress, changes made, acknowledged, dismissed) with filtering and sorting.

    Explore Code Review Maps

    Navigate large changesets with section-based breakdowns, rendered Mermaid dependency graphs, and file-level progress tracking.

    Post to GitHub

    Two posting modes from the review round page:

    • Post Team Review — Posts the multi-reviewer synthesis as-is
    • Generate Human Review — AI-rewrites all findings into a single, natural human voice following Google's code review guidelines. Preview, edit, and save drafts before posting.

    Manage your review team

    The Team page lets you browse all 28 reviewer personas grouped by tier (Generalists, Specialists, Famous Engineers, Custom). View full prompts, focus areas, and persona details. Create new reviewers or sync metadata — all from the dashboard.

    Set your default team composition

    Pick which personas show up on every review and how many instances of each — your default lineup, persisted to .ocr/config.yaml.

    Assign models per reviewer

    Different reviewers, different models. Pair a fast model on a generalist with a deeper model on a specialist, mix vendors across a single team, or set a workspace-wide default. The dashboard discovers your installed vendor (Claude Code or OpenCode) and lists every model it offers.

    Override the team for a single review

    Need a heavier-hitting model for one risky changeset? The Command Center lets you swap personas and models per-review without touching your saved defaults.

    Address Feedback

    After reviewing findings, address them directly. Copy a portable AI prompt into any coding tool, or — with Claude Code or OpenCode detected — run an agent directly from the dashboard to corroborate, validate, and implement changes.

    Ask the Team

    AI-powered chat on every review round and map run page. Ask follow-up questions about specific findings, request clarification on reviewer reasoning, or explore alternative approaches.

    The chat is read-only: the AI can only read and search files in your repository. It requires Claude Code 2.1.295 or later, or OpenCode 1.3.4 or later (1.x).

    The dashboard reads from the same .ocr/ directory and SQLite database used by the review workflow. No separate configuration is needed.


    IDE & CLI Workflows

    Run all OCR commands directly from your AI coding assistant using slash commands.

    Start a review

    git add .
    

    Then in your AI assistant:

    /ocr-review                                     # Windsurf / flat-prefix tools
    /ocr:review                                     # Claude Code / Cursor
    /ocr-review Review against openspec/spec.md     # With requirements context
    

    Watch progress in real-time

    In a separate terminal:

    ocr progress
    
      Open Code Review
    
      2026-01-26-main  ·  Round 2  ·  1m 23s
    
      ━━━━━━━━━━━━━━━━────────  60%  ·  Parallel Reviews
    
      ✓ Context Discovery
      ✓ Change Context
      ✓ Tech Lead Analysis
      ▸ Parallel Reviews
        Round 2
        ✓ Principal #1 2  │  ✓ Principal #2 1  │  ○ Quality #1 0  │  ○ Quality #2 0
        Round 1 ✓ 4 reviewers
      · Aggregate Findings
      · Reviewer Discourse
      · Final Synthesis
    
      Ctrl+C to exit
    

    More AI assistant commands

    /ocr-map                   # Generate a Code Review Map for large changesets
    /ocr-post                  # Post review to GitHub PR
    /ocr-doctor                # Verify installation
    /ocr-reviewers             # List available reviewer personas
    /ocr-history               # List past review sessions
    /ocr-show [session]        # Display a specific past review
    

    For Claude Code / Cursor, use /ocr:review, /ocr:map, /ocr:post, etc.


    Features

    Multi-Agent Review

    OCR follows an 8-phase workflow orchestrated by a Tech Lead agent:

    PhaseWhat happens
    1. Context DiscoveryLoad config, discover project standards, read OpenSpec context
    2. Change AnalysisAnalyze git diff, understand what changed and why
    3. Tech Lead AssessmentSummarize changes, identify risks, select reviewer team
    4. Parallel ReviewsEach reviewer examines code independently based on your team config
    5. AggregationMerge findings from redundant reviewers
    6. DiscourseReviewers challenge, validate, and connect findings
    7. SynthesisProduce prioritized, deduplicated final review
    8. PresentationDisplay results; optionally post to GitHub

    Multi-Model Teams

    Different reviewers can run on different models. Pair a fast generalist on Sonnet with a deep specialist on Opus, share a single model across a redundancy pair, or define personal aliases like workhorse/big-brain so config reads naturally.

    # .ocr/config.yaml
    models:
      aliases:
        workhorse: claude-sonnet-4-6
        big-brain: claude-opus-4-7
      default: claude-sonnet-4-6   # used when an instance has no explicit model
    
    default_team:
      # Form 1 — shorthand: N instances, default model
      quality: 2
    
      # Form 2 — object: N instances, all sharing one model
      security: { count: 1, model: big-brain }
    
      # Form 3 — list: per-instance model and optional name
      principal:
        - { model: big-brain }
        - { model: workhorse, name: principal-balanced }
    

    Override per-review from the Command Center, or via --team on the command line. The dashboard auto-discovers every model your installed vendor (Claude Code or OpenCode) offers — no need to memorize identifiers.

    Code Review Maps

    For large changesets (20+ files), Code Review Maps provide a structured navigation document — grouping related changes into sections, identifying key files, and surfacing dependencies with Mermaid diagrams.

    /ocr-map                           # Map staged changes
    /ocr-map HEAD~10                   # Map last 10 commits
    /ocr-map feature/big-refactor      # Map branch vs main
    /ocr-map --requirements spec.md    # Map with requirements context
    

    Three specialized agents (Map Architect, Flow Analyst, Requirements Mapper) run with configurable redundancy. Browse maps in the dashboard with dependency graphs and file-level progress tracking.

    When to use a map: Large changesets where you'd spend time figuring out where to start, or to orient a teammate before they dive into the code. For most changesets, /ocr-review alone is sufficient.

    Requirements-Aware Review

    OCR is most powerful when reviewing code against explicit requirements:

    /ocr-review Review against openspec/specs/cli/spec.md        # Spec file
    /ocr-review Check against openspec/changes/add-auth/proposal.md  # Proposal
    /ocr-review Requirements:                                     # Inline
    - Max 100 requests per minute per user
    - Return 429 with Retry-After header
    /ocr-review This fixes BUG-1234 where users bypassed rate limiting  # Ticket
    

    Requirements propagate to all reviewers. The final synthesis includes a Requirements Verification table showing which requirements are met, which have gaps, and any ambiguities.

    Reviewer Discourse

    Before producing the final review, reviewers examine each other's findings in a structured debate:

    • AGREE — Validate findings with supporting evidence
    • CHALLENGE — Question assumptions or reasoning
    • CONNECT — Relate findings across reviewers
    • SURFACE — Raise new concerns from the debate

    This catches false positives, strengthens valid findings, and surfaces issues that no single reviewer would find alone.

    GitHub PR Posting

    Post reviews directly to your PR from the dashboard or your AI assistant:

    /ocr-post
    

    Two modes:

    • Team Review — Posts the multi-reviewer synthesis as-is
    • Human Review Translation — AI-rewrites findings into a natural, first-person voice following Google's code review guidelines. Preview, edit, and save drafts before posting.

    Prerequisites: GitHub CLI (gh) installed and authenticated, open PR on current branch.

    Multi-Round Reviews

    OCR supports iterative review cycles:

    RoundTriggerUse case
    round-1/First /ocr-reviewInitial code review
    round-2/Second /ocr-review after round-1 completesRe-review after addressing feedback
    round-3+Subsequent runsFurther iteration

    Running /ocr-review on an existing session checks if the current round is complete. If complete, it starts a new round. Previous rounds are preserved — shared context (discovered-standards.md, context.md) is reused across rounds.

    Custom Reviewers

    OCR ships with 28 reviewer personas across four tiers — generalists, specialists, famous engineers, and custom. Browse and manage them from the dashboard's Team page, or create your own.

    Three ways to build your review team:

    ModeHowPersists?
    Library reviewersSelect from the Team page or --team flagYes
    Custom persistentCreate via /ocr:create-reviewerYes
    EphemeralDescribe inline via --reviewer at review timeNo

    Create a custom reviewer from your AI assistant:

    /ocr:create-reviewer api-design --focus "REST API design, backwards compatibility, versioning, error response consistency"
    

    This generates a reviewer file following the standard template, syncs metadata, and makes it available in the dashboard immediately.

    Override your team per-review with the --team flag:

    /ocr:review --team principal:2,security:1,martin-fowler:1
    

    Famous Engineer Personas

    Review your code through the lens of industry legends. OCR includes personas for Martin Fowler, Kent Beck, Sandi Metz, Rich Hickey, Kent Dodds, Anders Hejlsberg, John Ousterhout, Kamil Mysliwiec, Tanner Linsley, and Vladimir Khorikov — each with review styles, philosophies, and focus areas reflecting their published work.

    Add them to your team like any other reviewer:

    # .ocr/config.yaml
    default_team:
      principal: 2
      martin-fowler: 1
      sandi-metz: 1
    

    Ephemeral Reviewers

    Need a one-off review perspective without creating a persistent reviewer? Describe it inline with --reviewer:

    /ocr:review --reviewer "Focus on error handling in the auth flow"
    /ocr:review --team principal:2 --reviewer "Review as a junior developer would" --reviewer "Check accessibility compliance"
    

    Ephemeral reviewers participate in all review phases (parallel reviews, discourse, synthesis) just like library reviewers. They don't persist to the reviewer library — they exist only for that review session.

    Real-Time Progress

    The ocr progress command shows a live terminal UI with phase tracking, elapsed time, reviewer status, finding counts, and completion percentage. It auto-detects the latest active session or accepts a --session flag.

    Address Feedback

    After a review, use the /ocr-address command or the dashboard's "Address Feedback" button to spawn an AI agent that corroborates each finding against actual code, validates the suggestions, and implements the changes — with human approval at each step.

    Session Notes & Chat

    The dashboard supports session-level notes for tracking follow-up items and AI-powered chat on review rounds and map runs for asking follow-up questions about findings.


    Configuration

    After running ocr init, edit .ocr/config.yaml:

    # Project context injected into all reviews
    context: |
      Tech stack: TypeScript, React, Node.js
      Critical: All public APIs must be backwards compatible
    
    # Customize your reviewer team composition
    # Three forms — see "Multi-Model Teams" above for the full variants.
    default_team:
      principal: 2       # Architecture, design patterns
      quality: 2         # Code style, best practices
      # security: 1      # Auto-added for auth/data changes
      # testing: 1       # Auto-added for logic changes
      # martin-fowler: 1 # Famous engineer persona
    
    # Optional: model aliases + workspace default
    # models:
    #   aliases:
    #     workhorse: claude-sonnet-4-6
    #     big-brain: claude-opus-4-7
    #   default: claude-sonnet-4-6
    
    # Context discovery
    context_discovery:
      openspec:
        enabled: true
      references:
        - "CLAUDE.md"
        - ".cursorrules"
        - "CONTRIBUTING.md"
    
    # Code Review Map tuning
    code-review-map:
      agents:
        flow_analysts: 2
        requirements_mappers: 2
    
    # Discourse
    discourse:
      enabled: true
    
    # GitHub posting
    github:
      auto_prompt_post: false
      comment_format: "single"
    
    # Dashboard integration
    dashboard:
      ai_cli: auto  # auto | claude | opencode | off
      ide: auto  # vscode | cursor | windsurf | jetbrains | sublime
    

    Team composition can also be changed per-review via --team (explicit roster) or --reviewer (ephemeral reviewers), or via natural language: "use 3 principal reviewers and add security."

    Dashboard child-process environment

    Reviews launched from the dashboard see the same environment as the shell where you ran ocr dashboard — if it works in your shell, it works in the dashboard. OCR removes only its own OCR_* internals, npm's script-lifecycle plumbing your shell never had (npm_* and INIT_CWD), and NODE_OPTIONS (the one intentional difference from your shell — an inherited --inspect or --require breaks concurrent review children), and every run's log records exactly what was removed. The snapshot is taken at launch: variables exported afterwards are invisible to children until you run ocr dashboard again. To withhold a variable from dashboard children: env -u VAR ocr dashboard.


    Commands Reference

    AI Assistant Commands

    CommandDescription
    /ocr-review [target]Review staged changes, commits, or branches
    /ocr-review --team id:n,...Review with a custom team composition
    /ocr-review --reviewer "..."Add an ephemeral reviewer by description
    /ocr-review --freshClear session and start fresh
    /ocr-map [target]Generate a Code Review Map for large changesets
    /ocr-postPost review as a GitHub PR comment
    /ocr-create-reviewer name --focus "..."Create a custom persistent reviewer
    /ocr-sync-reviewersSync reviewer metadata for the dashboard
    /ocr-doctorVerify installation and dependencies
    /ocr-reviewersList available reviewer personas
    /ocr-historyList past review sessions
    /ocr-show [session]Display a specific past review
    /ocr-address [final.md]Address review feedback with AI agent

    For Claude Code / Cursor, use /ocr:review, /ocr:map, etc.

    CLI Commands

    CommandDescription
    ocr initInitialize OCR for your AI tools
    ocr dashboardStart the web dashboard interface
    ocr progressWatch review progress live
    ocr doctorCheck installation and verify dependencies
    ocr updateUpdate skills and commands after package upgrade
    ocr stateManage session state (internal, used by review workflow)

    Updating OCR

    After upgrading the package, run ocr update to sync your project:

    npm i -g @open-code-review/cli@latest
    ocr update
    
    AssetUpdated?Notes
    .ocr/skills/SKILL.mdYesTech Lead orchestration
    .ocr/skills/references/YesWorkflow, discourse rules
    Tool commands (.windsurf/, .claude/, etc.)YesSlash command definitions
    AGENTS.md / CLAUDE.mdYesOCR managed blocks only
    .ocr/config.yamlNoYour customizations preserved
    .ocr/skills/references/reviewers/NoAll reviewer personas preserved
    .ocr/sessions/NoReview history untouched
    ocr update --dry-run     # Preview changes
    ocr update --commands    # Commands only
    ocr update --skills      # Skills and references only
    ocr update --inject      # AGENTS.md/CLAUDE.md only
    

    Supported AI Tools

    ocr init detects and configures all of these automatically:

    ToolConfig Directory
    Amazon Q Developer.aws/amazonq/
    Augment (Auggie).augment/
    Claude Code.claude/
    Cline.cline/
    Codex.codex/
    Continue.continue/
    Cursor.cursor/
    Gemini CLI.gemini/
    GitHub Copilot.github/
    Kilo Code.kilocode/
    OpenCode.opencode/
    Qoder.qoder/
    RooCode.roo/
    Windsurf.windsurf/

    Requirements

    • Node.js >= 22.5.0
    • Git — For diff analysis
    • An AI coding assistant — Claude Code, Cursor, Windsurf, or any supported tool
    • GitHub CLI (gh) — Optional, for posting reviews to PRs

    v2.1 — built-in SQLite engine: OCR stores state with Node's built-in SQLite (node:sqlite, on-disk + WAL) for durable, concurrent-safe writes — no native module, no prebuilt binary, no install script. It installs cleanly under any package manager (npm, pnpm 10+, yarn) on every platform. This requires Node >= 22.5 (when node:sqlite landed); on an older Node the CLI prints a clear upgrade message. Run ocr doctor to verify the engine.

    Upgrading from v1.x or v2.0? Make sure you're on Node >= 22.5, quit any running ocr dashboard, then npm i -g @open-code-review/cli@latest (or pnpm add -g …). Your existing database upgrades automatically on the next ocr command: a backup is written to ocr.db.bak.v<n>, legacy sessions are reconciled, and a one-time notice summarizes what happened. No manual steps.

    Run ocr doctor to verify your setup.

    Important: The CLI (npm install -g @open-code-review/cli) is required for all OCR workflows. Both review and map commands use ocr state for progress tracking at every phase transition.


    Session Storage

    Reviews are persisted to .ocr/sessions/{date}-{branch}/:

    .ocr/sessions/2026-01-26-feature-auth/
    ├── discovered-standards.md  # Merged project context (shared)
    ├── context.md               # Change summary + Tech Lead guidance (shared)
    ├── requirements.md          # User-provided requirements (shared, if any)
    ├── rounds/
    │   ├── round-1/
    │   │   ├── reviews/         # Individual reviewer outputs
    │   │   │   ├── principal-1.md
    │   │   │   ├── quality-1.md
    │   │   │   └── ephemeral-1.md  # From --reviewer (if used)
    │   │   ├── discourse.md     # Cross-reviewer discussion
    │   │   └── final.md         # Synthesized final review
    │   └── round-2/             # Created on re-review
    └── maps/
        └── run-1/
            ├── map.md           # Code Review Map
            └── flow-analysis.md # Dependency graph (Mermaid)
    

    Sessions are gitignored by default.


    Contributing

    Contributions are welcome! We use OCR on OCR: before a maintainer reviews a PR, contributors run the repo's OCR review loop (/ocr-review-loop in Claude Code, or /ocr:review + /ocr:address round by round in other tools, /ocr-review + /ocr-address where commands are flat) until it comes back APPROVE, with each round posted to the PR. Non-trivial changes start with an issue, so we can agree on the approach before you build. See CONTRIBUTING.md for the why, the how, and what to do if you don't have AI tooling.


    License

    Apache-2.0


    Links