<div align="center">
<picture>
<source media="(prefers-color-scheme: dark)" srcset="docs/icon-dark.svg">
<img alt="Reviewer" src="https://raw.githubusercontent.com/Darna-Digital/reviewer/HEAD/docs/icon-light.svg" width="96" height="96">
</picture>
Reviewer
AI가 생성한 코드를 이해합니다.
우리가 더 이상 직접 코드를 작성하지 않는 세상에서, 우리는 그 코드를 검토하는 데 훨씬 많은 시간을 할애합니다.<br>Reviewer는 바로 그러한 상황을 위해 정밀하게 제작된 매력적이고 부드러운 macOS 앱입니다.
Latest release
Downloads
Release build
License: MIT
<br>
macOS 26+
Apple silicon
Swift 6.2
TypeScript
PRs welcome
macOS용 다운로드 · 웹사이트 · 릴리스 · 버그 신고 · 기능 요청
</div>
<br>
<picture>
<source media="(prefers-color-scheme: dark)" srcset="docs/screenshots/split-diff-dark.webp">
<img alt="Reviewer showing a side-by-side diff of uncommitted changes, with the changed files beside it" src="https://raw.githubusercontent.com/Darna-Digital/reviewer/HEAD/docs/screenshots/split-diff-light.webp">
</picture>
목차
기능 (Features)
사용자가 읽는 방식의 diff 뷰어
차이점(diff)을 옆으로 나란히 배치하거나, 위에서 아래로 배치하여 현재 변경 사항에 더 읽기 좋은 방식으로 보여줍니다. 파일을 클릭하면 해당 파일 전체를 열어 볼 수 있습니다.
<table>
<tr>
<th>가로 (Horizontal)</th>
<th>세로 (Vertical)</th>
</tr>
<tr>
<td width="50%">
<picture>
<source media="(prefers-color-scheme: dark)" srcset="docs/screenshots/diff-split-dark.webp">
<img alt="이전 코드와 새 코드가 간격(gutter)을 가로질러 연결된, 나란히 배치된 diff" src="https://raw.githubusercontent.com/Darna-Digital/reviewer/HEAD/docs/screenshots/diff-split-light.webp">
</picture>
</td>
<td width="50%">
<picture>
<source media="(prefers-color-scheme: dark)" srcset="docs/screenshots/diff-stacked-dark.webp">
<img alt="제거된 라인이 대체한 라인들 위에 위치하는, 위에서 아래로 배치된 동일한 diff" src="https://raw.githubusercontent.com/Darna-Digital/reviewer/HEAD/docs/screenshots/diff-stacked-light.webp">
</picture>
</td>
</tr>
</table>
Claude Code 및 Codex와 같은 인터페이스에서 작업하기
Reviewer 내에서 인기 있는 하네스(harnesses)를 직접 사용하거나, skills를 사용하여 자신의 장치에 있는 모든 하네스에 연결할 수 있습니다.
<picture>
<source media="(prefers-color-scheme: dark)" srcset="docs/screenshots/agent-models-dark.webp">
<img alt="에이전트 채팅을 위한 모델 선택, Claude와 Codex 모델이 나란히 표시됨" src="https://raw.githubusercontent.com/Darna-Digital/reviewer/HEAD/docs/screenshots/agent-models-light.webp">
</picture>
댓글 작성 후 위임하기
어떤 라인에든 댓글을 남긴 다음, 해당 작업을 에이전트에게 할당하여 수정하도록 맡길 수 있습니다.
<picture>
<source media="(prefers-color-scheme: dark)" srcset="docs/screenshots/comment-assign-dark.webp">
<img alt="코드 라인에 남겨진 댓글이 모델 선택기가 열린 새로운 Claude 채팅으로 할당되는 모습" src="https://raw.githubusercontent.com/Darna-Digital/reviewer/HEAD/docs/screenshots/comment-assign-light.webp">
</picture>
원클릭으로 서비스 실행
macOS 위젯에서 로컬 서비스를 한 번 설정하고 단일 클릭으로 시작할 수 있습니다. 터미널에서 실행되는 경우, 여기에서도 실행됩니다.
<picture>
<source media="(prefers-color-scheme: dark)" srcset="docs/screenshots/run-services-dark.webp">
<img alt="로컬 서비스가 실행되고 개발 서버의 로그가 표시된 Run 패널" src="https://raw.githubusercontent.com/Darna-Digital/reviewer/HEAD/docs/screenshots/run-services-light.webp">
</picture>
직관적인 Git 통합
새 브랜치를 생성하고 Reviewer가 변경 사항을 바탕으로 커밋 메시지를 작성하도록 할 수 있습니다.
<picture>
<source media="(prefers-color-scheme: dark)" srcset="docs/screenshots/branch-picker-dark.webp">
<img alt="최근 브랜치 및 로컬 브랜치가 표시된 브랜치 선택기" src="https://raw.githubusercontent.com/Darna-Digital/reviewer/HEAD/docs/screenshots/branch-picker-light.webp" width="560">
</picture>
무엇이, 언제 변경되었는지 파악하기
작성자, 날짜 또는 브랜치별로 히스토리를 필터링할 수 있습니다. 항목을 클릭하여 무엇이 그리고 언제 변경되었는지 확인하거나, 단일 파일의 히스토리를 열어 해당 파일이 현재 위치에 도달한 과정을 추적할 수 있습니다.
<picture>
<source media="(prefers-color-scheme: dark)" srcset="docs/screenshots/history-dark.webp">
<img alt="브랜치 그래프와 필터가 있는 버전 관리 히스토리" src="https://raw.githubusercontent.com/Darna-Digital/reviewer/HEAD/docs/screenshots/history-light.webp">
</picture>
코드 심볼을 소스로 추적하기
TypeScript, Swift, Ruby 및 PHP를 위한 언어 서버 프로토콜(Language Server Protocol) 통합 기능을 제공합니다. 심볼에 마우스를 가져가면 해당 시그니처와 문서를 볼 수 있고, 전체 코드베이스에서 사용된 모든 곳을 찾을 수 있습니다. Laravel 앱의 경우, view(), config(), env(), __(), Blade includes 및 <x-…> 컴포넌트는 이름이 지정된 파일로 연결되며, PHPStan의 분석 결과는 언어 서버가 앱을 실행할 때 그 옆에 표시됩니다. PHP 서버를 설치하지 않았나요? 설정(Settings) → 언어(Languages)에서 intelephense를 자동으로 설치해 드립니다.
⚠️ [IMG:N] 형식 토큰은 이미지 placeholder 입니다. 번역하지 말고 원래 위치에 그대로 유지하세요.
<picture>
<source media="(prefers-color-scheme: dark)" srcset="docs/screenshots/find-symbol-dark.webp">
<img alt="Find symbol listing every usage of a class across the codebase" src="https://raw.githubusercontent.com/Darna-Digital/reviewer/HEAD/docs/screenshots/find-symbol-light.webp">
</picture>
그리고 나머지 기능
- 터미널 (Terminal) — 코드 바로 옆에 위치한 임시 작업용 내장 터미널.
- 라이트 및 다크 모드 (Light and dark) — 사용자의 Mac 설정을 따르거나 선호하는 모양을 선택할 수 있습니다.
- 테마 (Themes) — Shiki와 Pierre 테마를 통해 환경을 자신만의 스타일로 꾸밀 수 있습니다.
- Mac 네이티브 지원 (Native to the Mac) — Apple silicon, macOS 26 이상에서 작동하도록 구축되었습니다.
설치하기
- 릴리스 (Releases)에서 최신
Reviewer-<version>-arm64.dmg를 다운로드하거나 reviewer.sh를 통해 다운로드합니다.
- 디스크 이미지를 열고 Reviewer를 응용 프로그램 (Applications) 폴더로 드래그합니다.
필수 조건: macOS 26 이상을 실행하는 Apple silicon Mac.
모든 릴리스는 Developer ID로 서명되었으며 Apple의 공증(notarized)을 거쳤습니다. Reviewer는 자체적으로 업데이트를 유지하며, 새로운 버전은 배포됨에 따라 앱 내에서 제공됩니다.
모든 에이전트로 리뷰 코멘트 해결하기
Reviewer에 남긴 코멘트는 어떤 코딩 에이전트(Claude Code, Codex, Cursor, OpenCode 등)에게도 전달될 수 있습니다. 이는 resolve-reviewer-comments 스킬을 통해 가능합니다.
이 스킬은 Reviewer의 로컬 API 서버에서 저장소의 코멘트를 읽어와 이를 구현하고 하나씩 해결해 줍니다.
npx skills add Darna-Digital/reviewer --skill resolve-reviewer-comments
그 후, Reviewer를 실행한 상태에서 에이전트에게
| 패키지 | 설명 |
|---|
packages/mac-os | macOS 앱 — Swift 패키지 (SwiftUI + AppKit)이며, Reviewer.app에 번들링됩니다. |
| ... | |
사전 요구 사항
- Apple silicon 기반의 macOS 26 및 Xcode 26
- Xcode의 Metal 툴체인:
xcodebuild -downloadComponent MetalToolchain
- Node.js (최신 LTS) 및 pnpm 11 (
corepack enable)
- 터미널 UI 전용으로 Bun 1.3 이상
로컬에서 실행하기
pnpm install
pnpm dev
pnpm dev:mac
| 명령어 | 기능 |
|---|
pnpm dev | 감시 모드의 API 서버 + SPA |
| ... | |
릴리스
버전 번호가 main 브랜치에 올라올 때 GitHub Actions을 통해 빌드, 서명, 노타라이즈 및 게시됩니다. RELEASING.md를 참조하세요.
기여하기
버그 보고, 아이디어, 풀 리퀘스트 모두 환영합니다. 시작하려면 CONTRIBUTING.md를 읽고, Code of Conduct를 따라주세요. 보안 문제는 공개 이슈가 아닌 SECURITY.md을 통해 접수해 주세요.
라이선스
Reviewer는 MIT License에 따라 배포됩니다.
<div align="center">
<br>
<sub style="font-size: smaller;">Made by <a href="https://darnadigital.com">Darna Digital</a>.</sub>
</div>