跳到正文
GitHub·· 10 天前AI 评分36

Reviewer:面向 macOS 的代码审查工具,支持 Claude Code 与 Codex

Darna-Digital/reviewer

AI 导读

Darna-Digital 发布 macOS 代码审查工具 Reviewer,提供并排或上下布局的 diff 查看器,可在同一界面直接使用 Claude Code 和 Codex,并通过 resolve-reviewer-comments 技能把评论交给任意编码智能体逐条修复。

正文


Reviewer showing a side-by-side diff of uncommitted changes, with the changed files beside it

Contents

Features

A diff viewer that reads the way you do

Lay the diff out side by side or top to bottom, whichever reads better for the change in front of you. Click any file to open it on its own and read it whole.

Horizontal Vertical
A diff laid out side by side, with the old and new lines joined across the gutter The same diff laid out top to bottom, removed lines above the lines that replaced them

Work with Claude Code and Codex from the same interface

Use popular harnesses directly in Reviewer, or use skills to connect to any harness you have on your machine.

Picking the model for an agent chat, with Claude and Codex models side by side

Comment, then hand it off

Leave a comment on any line, then assign it to an agent to pick up and fix.

A comment on a line of code, being assigned to a new Claude chat with its model picker open

Run your services in one click

Set up your local services once from a macOS widget and start them with a single click. If it runs in a terminal, it runs here.

The Run panel, with local services running and the dev server's logs

Intuitive Git integration

Create new branches and let Reviewer write the commit message from what changed.

The branch picker, with recent and local branches

Know what changed, and when

Filter the history by author, date or branch. Click any entry to see what changed and when, or open a single file's history to follow how it got to where it is.

The version control history, with its branch graph and filters

Follow a code symbol to its source

Language server protocol integration for TypeScript, Swift, Ruby and PHP. Hover a symbol for its signature and docs, or find every usage of it across the codebase. In a Laravel app, view(), config(), env(), __(), Blade includes and <x-…> components link to the files they name, and PHPStan's findings show beside the language server's when the app runs it. No PHP server installed? Settings → Languages installs intelephense for you.

Find symbol listing every usage of a class across the codebase

And the rest

  • Terminal — A built-in terminal for ad hoc work, right next to the code.
  • Light and dark — Follows your Mac, or pick the appearance you prefer.
  • Themes — Shiki and Pierre themes to make the environment your own.
  • Native to the Mac — Built for Apple silicon, macOS 26 and later.

Install

  1. Download the latest Reviewer-<version>-arm64.dmg from Releases (or from reviewer.sh).
  2. Open the disk image and drag Reviewer into Applications.

Requirements: an Apple silicon Mac on macOS 26 or later.

Every release is signed with a Developer ID and notarized by Apple. Reviewer keeps itself up to date: new versions are offered in-app as they ship.

Resolve review comments with any agent

Comments you leave in Reviewer can be handed to any coding agent (Claude Code, Codex, Cursor, OpenCode, …) through the resolve-reviewer-comments skill. It reads the repository's comments from Reviewer's local API server, implements them and resolves them one by one.

npx skills add Darna-Digital/reviewer --skill resolve-reviewer-comments

Then, with Reviewer running, ask the agent to "resolve my reviewer comments".

Development

Reviewer is a pnpm monorepo: a native SwiftUI/AppKit shell that hosts parts of a React web app as views inside its own layout, beside a local API server that does the git and filesystem work.

Package What it is
packages/mac-os The macOS app — a Swift package (SwiftUI + AppKit), bundled into Reviewer.app
packages/spa The React web app whose surfaces the shell hosts
packages/embedded-server The local API server the app runs beside it (Effect, git/filesystem-backed)
packages/core Feature schemas and services shared by the server and the SPA
packages/tui Reviewer in a terminal — diffs, branches, history and comments (OpenTUI, Bun)
packages/www reviewer.sh, on Cloudflare Workers
packages/brand The brand studio that draws and exports the logo and icons
packages/lint Shared ESLint and Prettier config

Prerequisites

  • macOS 26 on Apple silicon, with Xcode 26
  • Xcode's Metal toolchain: xcodebuild -downloadComponent MetalToolchain
  • Node.js (current LTS) and pnpm 11 (corepack enable)
  • Bun 1.3+, for the terminal UI only

Run it locally

pnpm install
pnpm dev      # API server + SPA, in one terminal
pnpm dev:mac  # build and open the debug app, in another
Command Does
pnpm dev API server + SPA in watch mode
pnpm dev:mac Build and open the debug Reviewer.app
pnpm dev:www The reviewer.sh site
pnpm tui The terminal UI, on the repository you are in
pnpm install:tui Build the terminal UI and install reviewer
pnpm build:mac A release build of Reviewer.app, as CI builds it
pnpm lint ESLint across the workspace
pnpm format:check Prettier across the workspace
pnpm typecheck TypeScript across the workspace

Releasing

Releases are built, signed, notarized and published by GitHub Actions when a version bump lands on main — see RELEASING.md.

Contributing

Bug reports, ideas and pull requests are all welcome. Read CONTRIBUTING.md to get started, and please follow the Code of Conduct. Security issues go through SECURITY.md, not public issues.

License

Reviewer is released under the MIT License.

来源:GitHub · github.com