> ## Documentation Index
> Fetch the complete documentation index at: https://code.claude.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# /code-review로 로컬에서 리뷰하기

> Claude Code 세션에서 `/code-review`를 실행하여 브랜치 변경 사항의 버그를 찾고, 리뷰 대상을 풀 리퀘스트나 경로로 지정하며, Claude가 수정 사항을 적용하도록 합니다.

`/code-review`는 작업 중인 세션의 Claude Code 프롬프트에 입력하는 명령입니다. Claude는 브랜치의 변경 사항을 리뷰하고, 정확성 버그를 찾아, 발견한 내용을 대화에 보고합니다. 모델과 effort 수준에 따라 리뷰는 재사용, 단순화, 효율성 정리 항목도 다룹니다.

이 명령은 모든 플랜에서 작동합니다. 리뷰는 사용자 자신의 세션에서 실행되므로, 세션의 나머지 작업과 동일한 방식으로 플랜 사용량 또는 API 청구에 포함됩니다.

<Note>
  GitHub에서 저장소의 모든 풀 리퀘스트를 자동으로 리뷰하려면 Owner가 조직에 대해 켜는 관리형 서비스인 [Code Review](/docs/ko/code-review)를 참조하세요.
</Note>

`/review`는 `/code-review`의 별칭입니다. v2.1.223 이전에는 `/review`가 GitHub 풀 리퀘스트에 대해 단일 패스, 읽기 전용 리뷰를 실행하는 별도의 명령이었습니다.

<Steps>
  <Step title="/code-review 실행">
    다음 명령을 실행합니다.

    ```text theme={null}
    /code-review
    ```

    대상을 지정하지 않으면 리뷰는 현재 브랜치의 변경 사항을 다룹니다. 대신 풀 리퀘스트, 다른 브랜치, 경로 또는 커밋 범위를 리뷰 대상으로 지정하려면 [리뷰 대상 선택](#choose-what-to-review)을 참조하세요.

    플래그를 추가할 수도 있습니다.

    * `--fix`: 리뷰 후 발견 사항을 작업 트리에 적용하도록 Claude에 추가로 요청합니다. 수정 내용은 [권한 모드](/docs/ko/permission-modes)를 거칩니다.
    * `--comment`: 발견 사항을 GitHub 풀 리퀘스트에는 인라인 댓글로, [GitLab 병합 요청](#post-findings-to-a-gitlab-merge-request)에는 단일 노트로 게시합니다
  </Step>

  <Step title="작업 계속하기">
    리뷰는 자체 컨텍스트 윈도우를 가진 백그라운드 [서브에이전트](/docs/ko/sub-agents)로 실행되므로 대화를 채우지 않습니다. 리뷰가 완료되면 발견 사항이 대화에 도착합니다.
  </Step>

  <Step title="발견 사항에 대응하기">
    리뷰에서 발견한 내용을 수정하도록 Claude에 요청합니다. `--fix` 또는 `--comment`를 사용하면 Claude가 리뷰의 일부로 발견 사항을 적용하거나 게시하며, 수정 내용에 대한 승인을 요청받을 수 있습니다.
  </Step>
</Steps>

<h2 id="choose-what-to-review">
  리뷰 대상 선택
</h2>

현재 브랜치가 아닌 다른 대상을 리뷰하려면 effort 수준과 플래그 뒤에 대상을 입력합니다. Claude는 해당 텍스트를 리뷰 대상으로 받습니다. 대상은 풀 리퀘스트 번호, 브랜치 이름, 파일 경로 또는 Git 리비전 범위일 수 있습니다. 첫 번째 열에서 리뷰하려는 항목을 찾아 두 번째 열에 표시된 내용을 입력하세요.

| 리뷰 대상 | 입력 |
| :- | :- |
| 현재 브랜치와 커밋되지 않은 변경 사항 | `/code-review` |
| 최근 15개 커밋 | `/code-review HEAD~15..HEAD` |
| 한 브랜치와 다른 브랜치 비교 | `/code-review main...my-feature` |
| 단일 커밋(`abc1234`는 커밋 해시) | `/code-review abc1234^..abc1234` |
| 번호로 지정한 풀 리퀘스트 | `/code-review 1234` |
| 파일 또는 디렉터리 경로 | `/code-review src/auth` |

대상을 지정하지 않으면 `/code-review`는 업스트림 브랜치보다 앞선 브랜치의 커밋과 커밋되지 않은 변경 사항을 리뷰합니다. 브랜치에 업스트림이 없으면 Claude는 `main` 또는 이전 커밋과 비교합니다.

`ultra`를 사용하면 Claude Code는 [effort 수준과 플래그 뒤의 텍스트](#text-after-the-effort-level-and-flags)에서 설명하는 대로 대상을 다르게 해석합니다.

<h2 id="what-the-review-reads-and-edits">
  리뷰가 읽고 수정하는 항목
</h2>

리뷰를 실행하기 전에, 특히 `--fix`를 사용할 때는 다음 사항을 확인하세요.

* **수정**: `--fix` 없이 실행하면 리뷰 지침은 Claude에 보고서만 요청합니다. `--fix`를 사용하면 발견 사항을 작업 트리에 적용하도록 추가로 요청합니다. 어느 경우든 모든 수정은 권한 모드를 거칩니다.
* **되감기**: 백그라운드 리뷰는 `--fix` 수정 내용을 세션의 [체크포인트](/docs/ko/checkpointing#subagent-edits-not-restored) 밖에서 적용합니다. 이후 `/rewind`는 Claude가 대화에서 이미 수정한 파일만 복원합니다. 다른 파일에 대한 리뷰의 수정 내용은 그대로 남으므로 git을 사용해 되돌리세요. 리뷰가 [포그라운드에서 실행](#run-in-the-foreground)되면 사용자 자신의 턴 동안 작업 트리를 수정하므로 `/rewind`가 평소처럼 해당 수정 내용을 복원합니다.
* **지침**: 리뷰는 비대화형 `-p` 실행을 포함하여 `CLAUDE.md`를 따릅니다. `REVIEW.md`는 읽지 않습니다. 이 파일은 GitHub 풀 리퀘스트에 대한 관리형 [Code Review 서비스](/docs/ko/code-review-customize#use-review-md-for-review-only-rules)를 구성합니다.

<h2 id="how-findings-are-reported">
  발견 사항 보고 방식
</h2>

다음 두 가지 실행에서는 Claude가 발견 사항을 응답의 텍스트로 보고합니다.

* `/code-review`가 리뷰를 [분기된 서브에이전트](/docs/ko/skills#run-skills-in-a-subagent)로 실행하는 터미널 세션
* 텍스트 또는 JSON 출력을 사용하는 `-p` 실행

[데스크톱 앱](/docs/ko/desktop#review-your-code)처럼 발견 사항 목록을 요청하는 호스트 애플리케이션에서는 Claude가 대신 [`ReportFindings` 도구](/docs/ko/tools-reference)를 통해 리뷰의 발견 사항을 보고합니다. 보고서는 발견 사항 목록으로 표시되며, 각 항목에는 파일 위치, 한 문장 요약, 그리고 발견 사항에 카테고리 태그가 있는 경우 `correctness` 같은 카테고리 태그가 표시됩니다. 호스트 요청은 모든 effort 수준에 적용되며 Claude Code v2.1.218 이상이 필요합니다.

Claude가 이후 세션에서 보고된 발견 사항을 수정하면 이를 다시 보고합니다. 그러면 Claude Code는 업데이트된 발견 사항 목록에서 각 발견 사항을 수정됨, 건너뜀 또는 변경 불필요로 표시합니다.

<h2 id="tune-effort-and-arguments">
  effort 및 인수 조정
</h2>

`--fix` 및 `--comment` 외에도 이 명령은 다음 플래그를 받습니다.

* `--post`: `github.com` 풀 리퀘스트에 대한 `ultra` 클라우드 리뷰에서, 실행 대화 상자에 완료된 발견 사항을 PR에 게시하는 옵션을 미리 선택합니다. [풀 리퀘스트에 발견 사항 게시](/docs/ko/ultrareview#post-findings-to-the-pull-request)를 참조하세요. Claude Code v2.1.227 이상이 필요합니다.
* `--max-findings <n>`, `--max-findings all` 또는 `--max-findings default`: 리뷰의 일반적인 제한 대신 최대 `n`개의 발견 사항을 보고하거나, `all`을 사용하면 모든 발견 사항을 보고합니다. 리뷰가 발견 사항 도구를 통해 보고하는 경우 제한은 32개입니다. 이후 리뷰는 `--max-findings default`를 전달할 때까지 입력한 값을 재사용하지만, 비대화형 `-p` 실행에서 전달한 값은 기억되지 않습니다. Claude Code v2.1.288 이상이 필요합니다.

[effort 수준](/docs/ko/model-config#adjust-effort-level)을 전달하여 범위와 확신도 사이의 균형을 조정합니다. `low`에서는 리뷰가 가장 확신하는 발견 사항을 보고하므로 오탐이 줄어듭니다. `medium`부터 `max`까지는 리뷰의 범위가 넓어집니다.

수준을 입력하지 않으면 리뷰는 이전 세션에서 입력한 것이라도 마지막으로 입력한 `low`\~`max` 수준을 재사용합니다. Claude Code는 `Reusing high effort, the level you typed last time`과 같은 알림을 표시합니다. 다음 규칙에 따라 실행에 사용할 수준이 결정됩니다.

* **수준 입력**: `/code-review high`처럼 입력한 수준은 이후 실행에서 재사용하는 값을 변경합니다
* **비대화형 실행**: 비대화형 `-p` 실행에서 전달한 수준은 기억된 수준을 업데이트하지 않습니다
* **`ultra`**: 리뷰는 기억된 수준을 사용하지도 업데이트하지도 않습니다
* **수준을 입력한 적 없음**: 리뷰는 세션의 현재 effort를 사용합니다

v2.1.223 이전에는 수준 없이 실행한 `/code-review`가 항상 세션의 현재 effort를 사용했습니다.

<h3 id="post-findings-to-a-gitlab-merge-request">
  GitLab 병합 요청에 발견 사항 게시
</h3>

GitLab 병합 요청에 `--comment`를 전달하면 Claude Code는 GitLab의 `glab` CLI를 통해 발견 사항을 게시합니다. Claude Code v2.1.257 이상이 필요합니다. `glab`이 설치되어 있지 않으면 Claude는 대신 터미널에 발견 사항을 출력합니다.

병합 요청은 URL 또는 `!123` 참조 형식으로 전달합니다. Claude Code는 체크아웃의 origin이 `gitlab.com`에 있을 때만 단순 번호나 브랜치 이름을 병합 요청으로 처리합니다. 자체 관리형 GitLab 인스턴스에서는 URL 또는 `!123` 형식을 전달하세요.

<h3 id="text-after-the-effort-level-and-flags">
  effort 수준과 플래그 뒤의 텍스트
</h3>

effort 수준과 플래그 뒤에서 Claude Code는 줄의 나머지 부분을 리뷰 대상으로 읽습니다. `ultra` 인수는 이 해석 방식을 변경합니다.

* **`ultra` 사용 시**: Claude Code는 단일 단어를 기본 브랜치 또는 PR 번호로 읽습니다. 브랜치나 PR을 지정하지 않는 더 긴 텍스트는 [리뷰에 첨부되는 메모](/docs/ko/ultrareview#pass-a-request-in-plain-words)가 됩니다. `/code-review ultra check my auth changes`는 현재 브랜치를 리뷰하며, Claude는 발견 사항을 메모와 연관 지어 설명합니다.
* **`ultra` 미사용 시**: 남은 모든 내용은 다른 명령 이름으로 시작하더라도 리뷰 대상이 됩니다. `/code-review /fix-issue 123`은 `/fix-issue`를 두 번째 [스택 스킬](/docs/ko/skills#pass-arguments-to-skills)로 로드하는 대신 `/fix-issue 123`을 대상 텍스트로 하여 리뷰합니다. v2.1.218 이전에는 `/code-review` 뒤에 스택된 명령이 자체 스킬로 확장되었습니다.

<h2 id="run-in-the-foreground">
  포그라운드에서 실행
</h2>

리뷰를 포그라운드에서 실행하려면 다음 중 하나를 수행합니다.

* `-p` 플래그 또는 Agent SDK를 사용하여 비대화형 모드로 실행합니다. Claude Code는 리뷰를 기다린 후 응답에 발견 사항을 포함합니다. 단, `ultra`는 [클라우드 리뷰를 기다리지 않습니다](/docs/ko/ultrareview#run-ultrareview-non-interactively).
* [`CLAUDE_CODE_DISABLE_BACKGROUND_TASKS`](/docs/ko/env-vars)를 `1`로 설정합니다. 이 설정은 다른 모든 백그라운드 작업 기능도 끕니다
* 이전 리뷰가 아직 진행 중일 때 `/code-review`를 다시 실행합니다

v2.1.218 이전에는 리뷰가 대화 내부에서 실행되었습니다.

<h2 id="let-claude-start-the-review">
  Claude가 리뷰를 시작하도록 하기
</h2>

Claude는 사용자가 명령을 입력하지 않아도 스스로 `/code-review`를 시작할 수 있습니다.

* **일반 언어로 요청할 때**: Claude에 변경 사항을 리뷰해 달라고 요청하면 Claude가 스킬을 실행할 수 있습니다
* **예약 작업에서**: `/code-review`를 프롬프트로 사용하는 [예약 작업](/docs/ko/scheduled-tasks)이 리뷰를 실행합니다

예약 작업은 [클라우드 리뷰](#escalate-to-ultrareview)를 시작하지 않으므로 `ultra` 인수 없이 `/code-review`를 예약하세요.

`/code-review`를 직접 입력할 수 있도록 유지하면서 Claude와 예약 작업 모두 리뷰를 시작하지 못하게 하려면 `~/.claude/settings.json` 같은 [설정 파일](/docs/ko/settings#where-settings-live)에 [`skillOverrides`](/docs/ko/skills#override-skill-visibility-from-settings) 항목을 추가합니다.

```json theme={null}
{
  "skillOverrides": {
    "code-review": "user-invocable-only"
  }
}
```

v2.1.246 이전에는 Anthropic에서 가져온 기능 플래그가 켜져 있는 경우에만 Claude가 스스로 `/code-review`를 시작했습니다. [기능 플래그를 가져오지 않는 세션](/docs/ko/env-vars#features-that-need-feature-flag-fetching)에서는 `/code-review`가 사용자가 입력한 경우에만 실행되었으며, 예약된 `/code-review`는 일반 텍스트로 Claude에 전달되었습니다.

<h2 id="escalate-to-ultrareview">
  ultrareview로 확장
</h2>

`/code-review ultra --fix`는 클라우드에서 더 심층적인 [ultrareview](/docs/ko/ultrareview)를 실행한 다음, 발견 사항이 세션에 도착하면 이를 작업 트리에 적용하도록 Claude에 요청합니다.

Ultrareview는 자체 범위를 사용합니다.

* **비교 대상**: 현재 브랜치와 저장소의 기본 브랜치를 비교하며, 작업 트리의 커밋되지 않은 변경 사항과 스테이징된 변경 사항도 포함합니다
* **민감한 파일**: `.env` 및 `*.tfvars` 파일처럼 자격 증명이나 키와 같은 이름을 가진 파일의 커밋되지 않은 변경 사항에 대해서는 Claude Code가 [로컬 저장소를 클라우드 세션에 업로드](/docs/ko/claude-code-on-the-web#send-local-repositories-without-github)하는 규칙을 따릅니다
* **다른 기준**: `/code-review ultra develop`처럼 브랜치 이름을 전달하여 다른 기준과 비교합니다

대상이 `github.com` 풀 리퀘스트인 경우, Claude가 사용자의 GitHub 계정으로 [완료된 발견 사항을 PR에 댓글로 게시](/docs/ko/ultrareview#post-findings-to-the-pull-request)하도록 할 수 있습니다. Claude Code v2.1.227 이상이 필요합니다.

<Note>
  Ultrareview는 claude.ai 계정을 통한 인증이 필요합니다. Amazon Bedrock, Google Cloud의 Agent Platform 또는 Microsoft Foundry에서는 사용할 수 없으며, Zero Data Retention이 활성화되어 있거나 [HIPAA 구성](/docs/ko/hipaa-setup)이 적용된 조직에서도 사용할 수 없습니다. 이러한 경우 `/code-review ultra`는 대신 세션에서 로컬 리뷰를 실행합니다. [고객 관리형 암호화 키](https://platform.claude.com/docs/en/manage-claude/cmek)(CMEK)를 사용하는 조직은 ultrareview를 실행할 수 없습니다. 변경 사항을 로컬에서 리뷰하려면 `/code-review`를 실행하세요.
</Note>

스크립트나 CI 작업에서 클라우드 리뷰를 실행하려면 발견 사항을 기다린 후 stdout에 출력하는 [`claude ultrareview` 하위 명령](/docs/ko/ultrareview#run-ultrareview-non-interactively)을 사용하세요.

<h2 id="change-or-build-on-the-review">
  리뷰 변경 또는 확장
</h2>

`/code-review`는 [번들 스킬](/docs/ko/skills#bundled-skills)입니다. 지침이 Claude Code에 내장되어 있으므로 디스크에 열거나 편집할 `SKILL.md` 파일이 없습니다. 모든 리뷰에 프로젝트 규칙을 적용하려면 `CLAUDE.md`에 규칙을 추가하세요. 더 나아가려면 다음 페이지 중 하나에서 시작하세요.

* **명령 대체**: `code-review`라는 이름의 프로젝트 또는 개인 스킬이 번들 스킬 대신 실행되며, `/review` 별칭은 계속 번들 리뷰를 실행합니다. [같은 이름을 공유하는 스킬 해결](/docs/ko/skills#resolve-skills-that-share-a-name)을 참조하세요.
* **자체 리뷰어 만들기**: 리뷰어 [서브에이전트](/docs/ko/sub-agents) 또는 리뷰 [스킬](/docs/ko/skills)을 작성합니다
* **인접 명령 사용**: [`/simplify`](/docs/ko/commands)는 정리 목적으로만 리뷰하고 수정 사항을 적용하며, [`/verify`](/docs/ko/commands)는 앱을 실행하여 변경 사항이 작동하는지 확인합니다

이 명령은 v2.1.147 이전에는 `/simplify`라는 이름이었으며, 당시에는 기본적으로 수정 사항을 적용했습니다. 버그 찾기를 위해 `/simplify`를 스크립트로 사용했다면 `/code-review --fix`로 전환하세요.

<h2 id="related-resources">
  관련 리소스
</h2>

* [Code Review](/docs/ko/code-review): 조직의 GitHub 모든 풀 리퀘스트를 리뷰하는 관리형 서비스
* [Ultrareview](/docs/ko/ultrareview): 더 심층적인 클라우드 리뷰의 설정, 제한 및 비용
* [명령](/docs/ko/commands): `/code-review`, `/review`, `/simplify`, `/verify`에 대한 한 줄 참조
* [스킬](/docs/ko/skills): 번들 스킬의 작동 방식과 직접 스킬을 작성하는 방법
