4 4
5# Code Review5# Code Review
6 6
7> ๋ค์ค ์์ด์ ํธ ๋ถ์์ ํตํด ์ ์ฒด ์ฝ๋๋ฒ ์ด์ค๋ฅผ ๊ฒํ ํ์ฌ ๋
ผ๋ฆฌ ์ค๋ฅ, ๋ณด์ ์ทจ์ฝ์ ๋ฐ ํ๊ท๋ฅผ ๊ฐ์งํ๋ ์๋ํ๋ PR ๊ฒํ ๋ฅผ ์ค์ ํฉ๋๋ค7> Code Review๋ก GitHub ํ ๋ฆฌํ์คํธ์ ๋ฒ๊ทธ๋ฅผ ์ฐพ์๋
๋๋ค. Claude๊ฐ ๊ฐ ๋ณ๊ฒฝ ์ฌํญ์ ๋ฆฌ๋ทฐํ๊ณ , ๊ฒฐ๊ณผ๋ฅผ ๊ฒ์ฆํ๋ฉฐ, ์ธ๋ผ์ธ ๋๊ธ์ ๋จ๊น๋๋ค. Team ๋ฐ Enterprise ํ๋์ฉ
8 8
9<Note>9Code Review๋ฅผ ์ฌ์ฉํ๋ฉด Claude๊ฐ GitHub ์ ์ฅ์์ ํ ๋ฆฌํ์คํธ๋ฅผ ๋ฆฌ๋ทฐํฉ๋๋ค. ์ฌ๋ฌ ์์ด์ ํธ๊ฐ ๊ฐ ๋ณ๊ฒฝ ์ฌํญ์ ์ฃผ๋ณ ์ฝ๋์ ํจ๊ป ์ฝ์ผ๋ฉฐ ๋
ผ๋ฆฌ ์ค๋ฅ, ๋ณด์ ์ทจ์ฝ์ , ์์๋ ์ฃ์ง ์ผ์ด์ค์ ๊ฐ์ ๋ฌธ์ ๋ฅผ ์ฐพ์ต๋๋ค. ๊ฒ์ฆ ๋จ๊ณ์์๋ ๊ฒฐ๊ณผ๋ฅผ ๋ณด๊ณ ํ๊ธฐ ์ ์ ์ฝ๋์ ๋์กฐํ์ฌ ํ์ธํฉ๋๋ค.
10 Code Review๋ ๋ฆฌ์์น ํ๋ฆฌ๋ทฐ ์ํ์ด๋ฉฐ [Team ๋ฐ Enterprise](https://claude.ai/admin-settings/claude-code) ๊ตฌ๋
์์ ์ฌ์ฉ ๊ฐ๋ฅํฉ๋๋ค. [Zero Data Retention](/docs/ko/zero-data-retention)์ด ํ์ฑํ๋์๊ฑฐ๋ [HIPAA ๊ตฌ์ฑ](/docs/ko/hipaa-setup)์ด ์ ์ฉ๋ ์กฐ์ง์์๋ ์ฌ์ฉํ ์ ์์ผ๋ฉฐ, Anthropic์ BAA ์ ์ฉ ๋์์ด ์๋๋๋ค. ๋ค๋ฅธ ํ๋์์๋ `/code-review` ๋ช
๋ น์ผ๋ก [๋ก์ปฌ์์ diff ๊ฒํ ](#review-a-diff-locally)ํ ์ ์์ต๋๋ค.
11</Note>
12
13Code Review๋ GitHub ํ ์์ฒญ์ ๋ถ์ํ๊ณ ๋ฌธ์ ๋ฅผ ๋ฐ๊ฒฌํ ์ฝ๋ ๋ผ์ธ์ ์ธ๋ผ์ธ ๋๊ธ๋ก ๊ฒฐ๊ณผ๋ฅผ ๊ฒ์ํฉ๋๋ค. ์ ๋ฌธํ๋ ์์ด์ ํธ ์งํฉ์ด ์ ์ฒด ์ฝ๋๋ฒ ์ด์ค์ ๋งฅ๋ฝ์์ ์ฝ๋ ๋ณ๊ฒฝ ์ฌํญ์ ๊ฒํ ํ์ฌ ๋
ผ๋ฆฌ ์ค๋ฅ, ๋ณด์ ์ทจ์ฝ์ , ์์๋ ์ฃ์ง ์ผ์ด์ค ๋ฐ ๋ฏธ๋ฌํ ํ๊ท๋ฅผ ์ฐพ์ต๋๋ค.
14
15๊ฒฐ๊ณผ๋ ์ฌ๊ฐ๋๋ณ๋ก ํ๊ทธ๊ฐ ์ง์ ๋๋ฉฐ PR์ ์น์ธํ๊ฑฐ๋ ์ฐจ๋จํ์ง ์์ผ๋ฏ๋ก ๊ธฐ์กด ๊ฒํ ์ํฌํ๋ก์ฐ๋ ๊ทธ๋๋ก ์ ์ง๋ฉ๋๋ค. ๋ฆฌํฌ์งํ ๋ฆฌ์ `CLAUDE.md` ๋๋ `REVIEW.md` ํ์ผ์ ์ถ๊ฐํ์ฌ Claude๊ฐ ํ๋๊ทธํ๋ ํญ๋ชฉ์ ์กฐ์ ํ ์ ์์ต๋๋ค.
16
17๊ด๋ฆฌ๋๋ ์๋น์ค ๋์ ์์ ์ CI ์ธํ๋ผ์์ Claude๋ฅผ ์คํํ๋ ค๋ฉด [GitHub Actions](/docs/ko/github-actions) ๋๋ [GitLab CI/CD](/docs/ko/gitlab-ci-cd)๋ฅผ ์ฐธ์กฐํ์ญ์์ค. ์์ฒด ํธ์คํ
GitHub ์ธ์คํด์ค์ ๋ฆฌํฌ์งํ ๋ฆฌ์ ๊ฒฝ์ฐ [GitHub Enterprise Server](/docs/ko/github-enterprise-server)๋ฅผ ์ฐธ์กฐํ์ญ์์ค.
18
19์ด ํ์ด์ง์์ ๋ค๋ฃจ๋ ๋ด์ฉ:
20
21* [๊ฒํ ์๋ ๋ฐฉ์](#how-reviews-work)
22* [์ค์ ](#set-up-code-review)
23* [`@claude review` ๋ฐ `@claude review always`๋ฅผ ์ฌ์ฉํ ์๋ ๊ฒํ ํธ๋ฆฌ๊ฑฐ](#manually-trigger-reviews)
24* [`CLAUDE.md` ๋ฐ `REVIEW.md`๋ฅผ ์ฌ์ฉํ ๊ฒํ ์ฌ์ฉ์ ์ ์](#customize-reviews)
25* [๊ฐ๊ฒฉ](#pricing)
26* [์คํจํ ์คํ ๋ฐ ๋๋ฝ๋ ๋๊ธ ๋ฌธ์ ํด๊ฒฐ](#troubleshooting)
27* [๋ก์ปฌ์์ diff ๊ฒํ ](#review-a-diff-locally) - `/code-review` ๋ช
๋ น ์ฌ์ฉ
28
29<h2 id="how-reviews-work">
30 ๊ฒํ ์๋ ๋ฐฉ์
31</h2>
32
33๊ด๋ฆฌ์๊ฐ ์กฐ์ง์ ๋ํด Code Review๋ฅผ [ํ์ฑํ](#set-up-code-review)ํ๋ฉด ๋ฆฌํฌ์งํ ๋ฆฌ์ ๊ตฌ์ฑ๋ ๋์์ ๋ฐ๋ผ PR์ด ์ด๋ฆด ๋, ๋ชจ๋ ํธ์ ์ ๋๋ ์๋์ผ๋ก ์์ฒญํ ๋ ๊ฒํ ๊ฐ ํธ๋ฆฌ๊ฑฐ๋ฉ๋๋ค. PR์์ `@claude review`๋ฅผ [๋๊ธ๋ก ์์ฑ](#manually-trigger-reviews)ํ๋ฉด ๋ชจ๋ ๋ชจ๋์์ ๊ฒํ ๊ฐ ์์๋ฉ๋๋ค.
34
35๊ฒํ ๊ฐ ์คํ๋๋ฉด ์ฌ๋ฌ ์์ด์ ํธ๊ฐ Anthropic ์ธํ๋ผ์์ ๋ณ๋ ฌ๋ก diff ๋ฐ ์ฃผ๋ณ ์ฝ๋๋ฅผ ๋ถ์ํฉ๋๋ค. ๊ฐ ์์ด์ ํธ๋ ๋ค๋ฅธ ํด๋์ค์ ๋ฌธ์ ๋ฅผ ์ฐพ๊ณ , ๊ฒ์ฆ ๋จ๊ณ์์ ํ๋ณด๋ฅผ ์ค์ ์ฝ๋ ๋์๊ณผ ๋น๊ตํ์ฌ ๊ฑฐ์ง ์์ฑ์ ํํฐ๋งํฉ๋๋ค. ๊ฒฐ๊ณผ๋ ์ค๋ณต ์ ๊ฑฐ๋๊ณ ์ฌ๊ฐ๋๋ณ๋ก ์์๊ฐ ์ง์ ๋๋ฉฐ ๋ฌธ์ ๊ฐ ๋ฐ๊ฒฌ๋ ํน์ ๋ผ์ธ์ ์ธ๋ผ์ธ ๋๊ธ๋ก ๊ฒ์๋ฉ๋๋ค. ๋ฌธ์ ๊ฐ ๋ฐ๊ฒฌ๋์ง ์์ผ๋ฉด Code Review๋ GitHub ํ์ธ ์คํ์ ์
๋ฐ์ดํธํ์ฌ ๋ฌธ์ ๊ฐ ๊ฐ์ง๋์ง ์์์์ ํ์ํฉ๋๋ค. Claude๋ ๋ํ PR์ ์งง์ ํ์ธ ๋๊ธ์ ๊ฒ์ํ ์ ์์ต๋๋ค.
36
37๊ฒํ ๋ PR ํฌ๊ธฐ ๋ฐ ๋ณต์ก๋์ ๋ฐ๋ผ ๋น์ฉ์ด ์ฆ๊ฐํ๋ฉฐ ํ๊ท 20๋ถ ๋ด์ ์๋ฃ๋ฉ๋๋ค. ๊ด๋ฆฌ์๋ [๋ถ์ ๋์๋ณด๋](#view-usage)๋ฅผ ํตํด ๊ฒํ ํ๋ ๋ฐ ์ง์ถ์ ๋ชจ๋ํฐ๋งํ ์ ์์ต๋๋ค.
38
39<h3 id="severity-levels">
40 ์ฌ๊ฐ๋ ์์ค
41</h3>
42
43๊ฐ ๊ฒฐ๊ณผ๋ ์ฌ๊ฐ๋ ์์ค์ผ๋ก ํ๊ทธ๊ฐ ์ง์ ๋ฉ๋๋ค:
44
45| ๋ง์ปค | ์ฌ๊ฐ๋ | ์๋ฏธ |
46| :- | :- | :- |
47| ๐ด | Important | ๋ณํฉ ์ ์ ์์ ํด์ผ ํ๋ ๋ฒ๊ทธ |
48| ๐ก | Nit | ๊ฒฝ๋ฏธํ ๋ฌธ์ , ์์ ํ ๊ฐ์น๊ฐ ์์ง๋ง ์ฐจ๋จํ์ง๋ ์์ |
49| ๐ฃ | Pre-existing | ์ฝ๋๋ฒ ์ด์ค์ ์กด์ฌํ์ง๋ง ์ด PR์์ ๋์
๋์ง ์์ ๋ฒ๊ทธ |
50
51๊ฒฐ๊ณผ์๋ ํ์ฅ ๊ฐ๋ฅํ **์ด ํญ๋ชฉ์ด ํ๋๊ทธ๋ ์ด์ ** ์น์
์ด ํฌํจ๋์ด ์์ผ๋ฏ๋ก Claude๊ฐ ๋ฌธ์ ๋ฅผ ํ๋๊ทธํ ์ด์ ์ ๋ฌธ์ ๋ฅผ ๊ฒ์ฆํ ๋ฐฉ๋ฒ์ ์ฝ์ ์ ์์ต๋๋ค.
52
53<h3 id="rate-and-reply-to-findings">
54 ๊ฒฐ๊ณผ์ ๋ํ ํ๊ฐ ๋ฐ ์๋ต
55</h3>
56
57Claude์ ๊ฐ ๊ฒํ ๋๊ธ์ ์ด๋ฏธ ๐ ๋ฐ ๐๊ฐ ์ฒจ๋ถ๋์ด ์์ผ๋ฏ๋ก ๋ ๋ฒํผ ๋ชจ๋ GitHub UI์ ๋ํ๋ ํ ๋ฒ์ ํด๋ฆญ์ผ๋ก ํ๊ฐํ ์ ์์ต๋๋ค. ๊ฒฐ๊ณผ๊ฐ ์ ์ฉํ์ผ๋ฉด ๐์ ํด๋ฆญํ๊ณ ์๋ชป๋์๊ฑฐ๋ ๋
ธ์ด์ฆ๊ฐ ๋ง์ผ๋ฉด ๐๋ฅผ ํด๋ฆญํฉ๋๋ค. Anthropic์ PR์ด ๋ณํฉ๋ ํ ๋ฐ์ ๊ฐ์๋ฅผ ์์งํ๊ณ ์ด๋ฅผ ์ฌ์ฉํ์ฌ ๊ฒํ ์๋ฅผ ์กฐ์ ํฉ๋๋ค. ๋ฐ์์ ์ฌ๊ฒํ ๋ฅผ ํธ๋ฆฌ๊ฑฐํ๊ฑฐ๋ PR์ ์ด๋ค ๊ฒ๋ ๋ณ๊ฒฝํ์ง ์์ต๋๋ค.
58
59์ธ๋ผ์ธ ๋๊ธ์ ์๋ตํด๋ Claude๊ฐ ์๋ตํ๊ฑฐ๋ PR์ ์
๋ฐ์ดํธํ๋๋ก ํ๋กฌํํธํ์ง ์์ต๋๋ค. ๊ฒฐ๊ณผ์ ๋ํด ์กฐ์นํ๋ ค๋ฉด ์ฝ๋๋ฅผ ์์ ํ๊ณ ํธ์ํฉ๋๋ค. PR์ด ํธ์ ํธ๋ฆฌ๊ฑฐ ๊ฒํ ์ ๊ตฌ๋
๋์ด ์์ผ๋ฉด ๋ค์ ์คํ์ด ๋ฌธ์ ๊ฐ ์์ ๋์์ ๋ ์ค๋ ๋๋ฅผ ํด๊ฒฐํฉ๋๋ค. ํธ์ํ์ง ์๊ณ ์๋ก์ด ๊ฒํ ๋ฅผ ์์ฒญํ๋ ค๋ฉด [์ต์์ PR ๋๊ธ](#manually-trigger-reviews)๋ก `@claude review`๋ฅผ ๋๊ธ๋ก ์์ฑํฉ๋๋ค.
60
61๊ฒฐ๊ณผ๋ฅผ ์ฝ๋ ๋ณ๊ฒฝ ์์ด ํด์ ํ๋ ค๋ฉด ํด๋น ์ค๋ ๋๋ฅผ ํด๊ฒฐํฉ๋๋ค. ์๋ตํ๋ ๊ฒ์ ํด์ ํ์ง ์์ต๋๋ค.
62
63<h3 id="check-run-output">
64 ํ์ธ ์คํ ์ถ๋ ฅ
65</h3>
66
67์ธ๋ผ์ธ ๊ฒํ ๋๊ธ ์ธ์๋ ๊ฐ ๊ฒํ ๋ CI ํ์ธ๊ณผ ํจ๊ป ๋ํ๋๋ **Claude Code Review** ํ์ธ ์คํ์ ์ฑ์๋๋ค. **Details** ๋งํฌ๋ฅผ ํ์ฅํ์ฌ ์ฌ๊ฐ๋๋ณ๋ก ์ ๋ ฌ๋ ๋ชจ๋ ๊ฒฐ๊ณผ์ ์์ฝ์ ํ ๊ณณ์์ ํ์ธํฉ๋๋ค:
68
69| ์ฌ๊ฐ๋ | ํ์ผ:๋ผ์ธ | ๋ฌธ์ |
70| - | - | - |
71| ๐ด Important | `src/auth/session.ts:142` | ํ ํฐ ์๋ก๊ณ ์นจ์ด ๋ก๊ทธ์์๊ณผ ๊ฒฝ์ํ์ฌ ์ค๋๋ ์ธ์
์ด ํ์ฑ ์ํ๋ก ์ ์ง๋จ |
72| ๐ก Nit | `src/auth/session.ts:88` | `parseExpiry`๊ฐ ์๋ชป๋ ์
๋ ฅ์์ ์๋์ผ๋ก 0์ ๋ฐํํจ |
73
74๊ฐ ๊ฒฐ๊ณผ๋ **Files changed** ํญ์ ์ฃผ์์ผ๋ก๋ ๋ํ๋๋ฉฐ ๊ด๋ จ diff ๋ผ์ธ์ ์ง์ ํ์๋ฉ๋๋ค. Important ๊ฒฐ๊ณผ๋ ๋นจ๊ฐ์ ๋ง์ปค๋ก ๋ ๋๋ง๋๊ณ , nit์ ๋
ธ๋์ ๊ฒฝ๊ณ ๋ก, ๊ธฐ์กด ๋ฒ๊ทธ๋ ํ์ ๊ณต์ง๋ก ๋ ๋๋ง๋ฉ๋๋ค. ์ฃผ์๊ณผ ์ฌ๊ฐ๋ ํ
์ด๋ธ์ ์ธ๋ผ์ธ ๊ฒํ ๋๊ธ๊ณผ ๋
๋ฆฝ์ ์ผ๋ก ํ์ธ ์คํ์ ๊ธฐ๋ก๋๋ฏ๋ก GitHub๊ฐ ์ด๋ํ ๋ผ์ธ์ ์ธ๋ผ์ธ ๋๊ธ์ ๊ฑฐ๋ถํ๋๋ผ๋ ์ฌ์ฉ ๊ฐ๋ฅํ ์ํ๋ก ์ ์ง๋ฉ๋๋ค.
75
76ํ์ธ ์คํ์ ํญ์ ์ค๋ฆฝ์ ์ธ ๊ฒฐ๋ก ์ผ๋ก ์๋ฃ๋๋ฏ๋ก ๋ถ๊ธฐ ๋ณดํธ ๊ท์น์ ํตํด ๋ณํฉ์ ์ฐจ๋จํ์ง ์์ต๋๋ค. Code Review ๊ฒฐ๊ณผ์ ๋ฐ๋ผ ๋ณํฉ์ ์ ์ดํ๋ ค๋ฉด ์์ ์ CI์์ ํ์ธ ์คํ ์ถ๋ ฅ์์ ์ฌ๊ฐ๋ ๋ถ์์ ์ฝ์ผ์ญ์์ค. Details ํ
์คํธ์ ๋ง์ง๋ง ๋ผ์ธ์ ์ํฌํ๋ก์ฐ๊ฐ `gh` ๋ฐ jq๋ก ๊ตฌ๋ฌธ ๋ถ์ํ ์ ์๋ ๊ธฐ๊ณ ํ๋
๊ฐ๋ฅํ ๋๊ธ์
๋๋ค. ํ์ธ ์คํ ID๋ฅผ ์ฐพ์ผ๋ ค๋ฉด ์ปค๋ฐ์ ํ์ธ ์คํ์ `gh api repos/OWNER/REPO/commits/<commit-sha>/check-runs --jq '.check_runs[] | {id, name}'`๋ก ๋์ดํ๊ณ `Claude Code Review` ์คํ์ `id`๋ฅผ ๊ฐ์ ธ์ต๋๋ค. `OWNER`, `REPO`, `CHECK_RUN_ID`๋ฅผ ๋ฆฌํฌ์งํ ๋ฆฌ ์์ ์, ๋ฆฌํฌ์งํ ๋ฆฌ ์ด๋ฆ, ํด๋น ID๋ก ๋ฐ๊ฟ๋๋ค:
77
78```bash theme={null}
79gh api repos/OWNER/REPO/check-runs/CHECK_RUN_ID \
80 --jq '.output.text | split("bughunter-severity: ")[1] | split(" -->")[0] | fromjson'
81```
82
83์ด๋ ์ฌ๊ฐ๋๋ณ ๊ฐ์๊ฐ ํฌํจ๋ JSON ๊ฐ์ฒด๋ฅผ ๋ฐํํฉ๋๋ค(์: `{"normal": 2, "nit": 1, "pre_existing": 0}`). `normal` ํค๋ Important ๊ฒฐ๊ณผ์ ๊ฐ์๋ฅผ ๋ณด์ ํฉ๋๋ค. 0์ด ์๋ ๊ฐ์ Claude๊ฐ ๋ณํฉ ์ ์ ์์ ํ ๊ฐ์น๊ฐ ์๋ ๋ฒ๊ทธ๋ฅผ ๋ฐ๊ฒฌํ์์ ์๋ฏธํฉ๋๋ค.
84
85<h3 id="what-code-review-checks">
86 Code Review๊ฐ ํ์ธํ๋ ํญ๋ชฉ
87</h3>
88
89๊ธฐ๋ณธ์ ์ผ๋ก Code Review๋ ์ ํ์ฑ์ ์ค์ ์ ๋๊ณ ์์ต๋๋ค: ํ์ ๊ธฐ๋ณธ ์ค์ ์ด๋ ๋๋ฝ๋ ํ
์คํธ ๋ฒ์๊ฐ ์๋ ํ๋ก๋์
์ ์ค๋จํ ๋ฒ๊ทธ์
๋๋ค. ๋ฆฌํฌ์งํ ๋ฆฌ์ [์ง์นจ ํ์ผ์ ์ถ๊ฐ](#customize-reviews)ํ์ฌ ํ์ธํ๋ ํญ๋ชฉ์ ํ์ฅํ ์ ์์ต๋๋ค.
90
91<h2 id="set-up-code-review">
92 Code Review ์ค์
93</h2>
94
95๊ด๋ฆฌ์๋ ์กฐ์ง์ ๋ํด ํ ๋ฒ Code Review๋ฅผ ํ์ฑํํ๊ณ ํฌํจํ ๋ฆฌํฌ์งํ ๋ฆฌ๋ฅผ ์ ํํฉ๋๋ค.
96
97<Steps>
98 <Step title="Claude Code ๊ด๋ฆฌ์ ์ค์ ์ด๊ธฐ">
99 [claude.ai/admin-settings/claude-code](https://claude.ai/admin-settings/claude-code)๋ก ์ด๋ํ์ฌ Code Review ์น์
์ ์ฐพ์ต๋๋ค. Claude ์กฐ์ง์์ Owner ๋๋ Primary Owner ์ญํ ์ด ํ์ํ๋ฉฐ GitHub ์กฐ์ง์ GitHub ์ฑ์ ์ค์นํ ์ ์๋ ๊ถํ์ด ํ์ํฉ๋๋ค.
100 </Step>
101
102 <Step title="์ค์ ์์">
103 **Setup**์ ํด๋ฆญํฉ๋๋ค. ์ด๋ ๊ฒ ํ๋ฉด GitHub ์ฑ ์ค์น ํ๋ฆ์ด ์์๋ฉ๋๋ค.
104 </Step>
105
106 <Step title="Claude GitHub ์ฑ ์ค์น">
107 ํ๋กฌํํธ๋ฅผ ๋ฐ๋ผ Claude GitHub ์ฑ์ ์ค์นํฉ๋๋ค. GitHub ์กฐ์ง์ ์ ํํ์ฌ ๊ฒํ ํ๋ ค๋ ๋ฆฌํฌ์งํ ๋ฆฌ๋ฅผ ์์ ํ๊ณ , ์ฑ์ด ์ก์ธ์คํ ์ ์๋ ๋ฆฌํฌ์งํ ๋ฆฌ๋ฅผ ์ ํํ๊ณ , ์์ฒญ๋ ๊ถํ์ ์น์ธํฉ๋๋ค.
108
109 PR์ ๊ฒํ ํ๊ธฐ ์ํด Claude๋ ์ฑ์ ์ฝ๊ธฐ ์ก์ธ์ค๋ฅผ ํตํด ๋ฆฌํฌ์งํ ๋ฆฌ ์ฝํ
์ธ ๋ฅผ ์ฝ๊ณ , ์ฐ๊ธฐ ์ก์ธ์ค๋ฅผ ํตํด PR ๋ฐ ํ์ธ์ ๋๊ธ๊ณผ [ํ์ธ ์คํ](#check-run-output)์ ๊ฒ์ํฉ๋๋ค. ์ค์น ์ค์ [GitHub Actions](/docs/ko/github-actions)์ ๊ฐ์ ๋ค๋ฅธ Claude ๊ธฐ๋ฅ์์ ๊ณต์ ํ๋ ๋ ๊ด๋ฒ์ํ ๊ถํ ์งํฉ์ ๋ถ์ฌํฉ๋๋ค. ์ ์ฒด ๋ชฉ๋ก์ [GitHub ์ฑ ๊ถํ](/docs/ko/github-actions#github-app-permissions)์ ์ฐธ์กฐํ์ญ์์ค.
110 </Step>
111
112 <Step title="๋ฆฌํฌ์งํ ๋ฆฌ ์ ํ">
113 Code Review๋ฅผ ํ์ฑํํ ๋ฆฌํฌ์งํ ๋ฆฌ๋ฅผ ์ ํํฉ๋๋ค. ๋ฆฌํฌ์งํ ๋ฆฌ๊ฐ ๋ณด์ด์ง ์์ผ๋ฉด ์ค์น ์ค์ Claude GitHub ์ฑ์ ์ก์ธ์ค ๊ถํ์ ๋ถ์ฌํ๋์ง ํ์ธํ์ญ์์ค. ๋์ค์ ๋ ๋ง์ ๋ฆฌํฌ์งํ ๋ฆฌ๋ฅผ ์ถ๊ฐํ ์ ์์ต๋๋ค.
114 </Step>
115
116 <Step title="๋ฆฌํฌ์งํ ๋ฆฌ๋ณ ๊ฒํ ํธ๋ฆฌ๊ฑฐ ์ค์ ">
117 ์ค์ ์ด ์๋ฃ๋๋ฉด Code Review ์น์
์ ๋ฆฌํฌ์งํ ๋ฆฌ๊ฐ ํ
์ด๋ธ์ ํ์๋ฉ๋๋ค. ๊ฐ ๋ฆฌํฌ์งํ ๋ฆฌ์ ๋ํด **Review Behavior** ๋๋กญ๋ค์ด์ ์ฌ์ฉํ์ฌ ๊ฒํ ๊ฐ ์คํ๋๋ ์๊ธฐ๋ฅผ ์ ํํฉ๋๋ค:
118
119 * **Once after PR creation**: PR์ด ์ด๋ฆฌ๊ฑฐ๋ ๊ฒํ ์ค๋น ์๋ฃ๋ก ํ์๋ ๋ ํ ๋ฒ ๊ฒํ ๊ฐ ์คํ๋ฉ๋๋ค
120 * **After every push**: PR ๋ธ๋์น์ ๋ํ ๋ชจ๋ ํธ์์์ ๊ฒํ ๊ฐ ์คํ๋์ด PR์ด ์งํํจ์ ๋ฐ๋ผ ์๋ก์ด ๋ฌธ์ ๋ฅผ ๊ฐ์งํ๊ณ ํ๋๊ทธ๋ ๋ฌธ์ ๋ฅผ ์์ ํ ๋ ์ค๋ ๋๋ฅผ ์๋์ผ๋ก ํด๊ฒฐํฉ๋๋ค
121 * **Manual**: PR์ ์ด๊ฑฐ๋ ํธ์ํด๋ ๊ฒํ ๊ฐ ์์๋์ง ์์ต๋๋ค. [`@claude review`](#manually-trigger-reviews)๋ฅผ ๋๊ธ๋ก ์์ฑํ์ฌ ๊ฒํ ๋ฅผ ์์ฒญํ๊ฑฐ๋, `@claude review always`๋ฅผ ์์ฑํ์ฌ ์ดํ ํธ์์ ๋ํ ๊ฒํ ์ PR์ ๊ตฌ๋
ํฉ๋๋ค
122
123 ์ด๋ค ์ต์
์ ์ ํํ๋ Claude๋ [ํฌํฌ์์ PR์ ๊ฒํ ](#review-pull-requests-from-forks)ํ ๋๋ง ๋๊ตฐ๊ฐ `@claude review`๋ฅผ ๋๊ธ๋ก ์์ฑํฉ๋๋ค.
124
125 ๋ชจ๋ ํธ์์์ ๊ฒํ ํ๋ฉด ๊ฐ์ฅ ๋ง์ ๊ฒํ ๊ฐ ์คํ๋๊ณ ๋น์ฉ์ด ๊ฐ์ฅ ๋ง์ด ๋ญ๋๋ค. ์๋ ๋ชจ๋๋ ํน์ PR์ ๊ฒํ ์ ์ตํธ์ธํ๋ ค๋ ํธ๋ํฝ์ด ๋ง์ ๋ฆฌํฌ์งํ ๋ฆฌ๋ PR์ด ์ค๋น๋ ๋๊น์ง๋ง ๊ฒํ ๋ฅผ ์์ํ๋ ค๋ ๊ฒฝ์ฐ์ ์ ์ฉํฉ๋๋ค.
126 </Step>
127</Steps>
128
129๋ฆฌํฌ์งํ ๋ฆฌ ํ
์ด๋ธ์ ์ต๊ทผ ํ๋์ ๊ธฐ๋ฐ์ผ๋ก ๊ฐ ๋ฆฌํฌ์งํ ๋ฆฌ์ ํ๊ท ๊ฒํ ๋น์ฉ๋ ํ์ํฉ๋๋ค. ํ ์์
๋ฉ๋ด๋ฅผ ์ฌ์ฉํ์ฌ ๋ฆฌํฌ์งํ ๋ฆฌ๋ณ๋ก Code Review๋ฅผ ์ผ๊ฑฐ๋ ๋๊ฑฐ๋ ๋ฆฌํฌ์งํ ๋ฆฌ๋ฅผ ์์ ํ ์ ๊ฑฐํ ์ ์์ต๋๋ค.
130
131์ค์ ์ ํ์ธํ๋ ค๋ฉด ํ
์คํธ PR์ ์ด์ด๋ณด์ญ์์ค. ์๋ ํธ๋ฆฌ๊ฑฐ๋ฅผ ์ ํํ ๊ฒฝ์ฐ **Claude Code Review**๋ผ๋ ํ์ธ ์คํ์ด ๋ช ๋ถ ๋ด์ ๋ํ๋ฉ๋๋ค. ์๋์ ์ ํํ ๊ฒฝ์ฐ PR์์ `@claude review`๋ฅผ ๋๊ธ๋ก ์์ฑํ์ฌ ์ฒซ ๋ฒ์งธ ๊ฒํ ๋ฅผ ์์ํฉ๋๋ค. ํ์ธ ์คํ์ด ๋ํ๋์ง ์์ผ๋ฉด ๋ฆฌํฌ์งํ ๋ฆฌ๊ฐ ๊ด๋ฆฌ์ ์ค์ ์ ๋์ด๋์ด ์๊ณ Claude GitHub ์ฑ์ด ์ก์ธ์คํ ์ ์๋์ง ํ์ธํ์ญ์์ค.
132 10
133<h2 id="manually-trigger-reviews">11๊ฒฐ๊ณผ๋ [์ฌ๊ฐ๋](/docs/ko/code-review-pull-requests#severity-levels)๋ณ๋ก ์์๊ฐ ๋งค๊ฒจ์ ธ ํด๋น ๋ผ์ธ์ ์ธ๋ผ์ธ ๋๊ธ๋ก ๊ฒ์๋๋ฉฐ, ํ ๋ฆฌํ์คํธ์๋ ์์ฝ๊ณผ ํ์ธ ์คํ(check run)์ด ํจ๊ป ํ์๋ฉ๋๋ค. ๋ฆฌ๋ทฐ๋ ํ ๋ฆฌํ์คํธ๋ฅผ ์น์ธํ๊ฑฐ๋ ์ฐจ๋จํ์ง ์์ผ๋ฏ๋ก ๋ณํฉ ๊ฒฐ์ ์ ํ์ ๊ทธ๋๋ก ๋จ์ต๋๋ค.
134 ์๋์ผ๋ก ๊ฒํ ํธ๋ฆฌ๊ฑฐ
135</h2>
136
137๋๊ธ ๋ช
๋ น์ ์์ฒญ ์ ๊ฒํ ๋ฅผ ์์ํฉ๋๋ค. ์ด๋ค์ ๋ฆฌํฌ์งํ ๋ฆฌ์ ๊ตฌ์ฑ๋ ํธ๋ฆฌ๊ฑฐ์ ๊ด๊ณ์์ด ์๋ํ๋ฏ๋ก ์๋ ๋ชจ๋์์ ํน์ PR์ ๊ฒํ ์ ์ตํธ์ธํ๊ฑฐ๋ ๋ค๋ฅธ ๋ชจ๋์์ ์ฆ์ ์ฌ๊ฒํ ๋ฅผ ๋ฐ์ ์ ์์ต๋๋ค.
138 12
139| ๋ช
๋ น | ์ํ ์์
|13<img src="https://mintcdn.com/claude-code/gLJVaPQEgKC8ZyUD/images/code-review-pipeline.svg?fit=max&auto=format&n=gLJVaPQEgKC8ZyUD&q=85&s=0351c96df9efa3105172eb00a672f130" className="dark:hidden" alt="๋ค ๋จ๊ณ๋ก ์ด๋ฃจ์ด์ง ๋ฆฌ๋ทฐ ๋ค์ด์ด๊ทธ๋จ. GitHub์ ํ ๋ฆฌํ์คํธ๊ฐ Anthropic ์ธํ๋ผ์์ ๋ณ๋ ฌ๋ก ํ์ํ๋ ์ฌ๋ฌ ์์ด์ ํธ์๊ฒ ์ ๋ฌ๋ฉ๋๋ค. ๊ฒ์ฆ ๋จ๊ณ์์ ๊ฑฐ์ง ์์ฑ์ ์ ๊ฑฐํ๊ณ , ๋จ์ ๊ฒฐ๊ณผ๋ ์ค๋ณต ์ ๊ฑฐ ํ ์ฌ๊ฐ๋๋ณ๋ก ์์๊ฐ ๋งค๊ฒจ์ง๋ฉฐ, ๋ฆฌ๋ทฐ๋ ์ธ๋ผ์ธ ๋๊ธ, ์์ฝ ๋ฐ ํ์ธ ์คํ์ GitHub์ ๋ค์ ๊ฒ์ํฉ๋๋ค." width="760" height="300" data-path="images/code-review-pipeline.svg" />
140| :- | :- |
141| `@claude review` | ํฅํ ํธ์์ PR์ ๊ตฌ๋
ํ์ง ์๊ณ ๋จ์ผ ๊ฒํ ๋ฅผ ์์ํฉ๋๋ค |
142| `@claude review always` | ๊ฒํ ๋ฅผ ์์ํ๊ณ ์์ผ๋ก ํธ์ ํธ๋ฆฌ๊ฑฐ ๊ฒํ ์ PR์ ๊ตฌ๋
ํฉ๋๋ค |
143| `@claude review once` | `@claude review`์ ๋์ผํฉ๋๋ค: ๊ตฌ๋
ํ์ง ์๊ณ ๋จ์ผ ๊ฒํ ๋ฅผ ์์ํฉ๋๋ค |
144 14
145์๋ ๋ชจ๋๋ก ์ค์ ๋ ๋ฆฌํฌ์งํ ๋ฆฌ์ ๋์ ์ฐ์ ์์ PR๊ณผ ๊ฐ์ด PR์ ๋ํ ๋ชจ๋ ํ์ ํธ์๊ฐ ์๋ก์ด ๊ฒํ ๋ฅผ ์์ํ๊ธฐ๋ฅผ ์ํ ๋ `@claude review always`๋ฅผ ์ฌ์ฉํฉ๋๋ค. ๊ธฐ๋ณธ ๋ช
๋ น์ด PR์ ๊ตฌ๋
ํ์ง ์์ผ๋ฏ๋ก ์ดํ ํธ์๊ฐ ๊ฒํ ๋ฅผ ํธ๋ฆฌ๊ฑฐํ๋์ง ์ฌ๋ถ๋ฅผ ๋ณ๊ฒฝํ์ง ์๊ณ ์ผํ์ฑ ๋ ๋ฒ์งธ ์๊ฒฌ์ ์์ฒญํ ์ ์์ต๋๋ค.15<img src="https://mintcdn.com/claude-code/gLJVaPQEgKC8ZyUD/images/code-review-pipeline-dark.svg?fit=max&auto=format&n=gLJVaPQEgKC8ZyUD&q=85&s=9cf26bde98f4e999d0d9ff5bf5bdff40" className="hidden dark:block" alt="๋ค ๋จ๊ณ๋ก ์ด๋ฃจ์ด์ง ๋ฆฌ๋ทฐ ๋ค์ด์ด๊ทธ๋จ. GitHub์ ํ ๋ฆฌํ์คํธ๊ฐ Anthropic ์ธํ๋ผ์์ ๋ณ๋ ฌ๋ก ํ์ํ๋ ์ฌ๋ฌ ์์ด์ ํธ์๊ฒ ์ ๋ฌ๋ฉ๋๋ค. ๊ฒ์ฆ ๋จ๊ณ์์ ๊ฑฐ์ง ์์ฑ์ ์ ๊ฑฐํ๊ณ , ๋จ์ ๊ฒฐ๊ณผ๋ ์ค๋ณต ์ ๊ฑฐ ํ ์ฌ๊ฐ๋๋ณ๋ก ์์๊ฐ ๋งค๊ฒจ์ง๋ฉฐ, ๋ฆฌ๋ทฐ๋ ์ธ๋ผ์ธ ๋๊ธ, ์์ฝ ๋ฐ ํ์ธ ์คํ์ GitHub์ ๋ค์ ๊ฒ์ํฉ๋๋ค." width="760" height="300" data-path="images/code-review-pipeline-dark.svg" />
146 16
147<Note>17<Note>
148 2026๋
7์ ์
๋ฐ์ดํธ ์ด์ ์๋ `@claude review`๊ฐ PR์ ํธ์ ํธ๋ฆฌ๊ฑฐ ๊ฒํ ์ ๊ตฌ๋
ํ์ต๋๋ค. ํด๋น ๋์์ ์์กดํ๋ค๋ฉด ๋์ `@claude review always`๋ฅผ ๋๊ธ๋ก ์์ฑํ์ธ์. `@claude review once`๋ ์ฌ์ ํ ์๋ํ๋ฉฐ ๊ธฐ๋ณธ ๋ช
๋ น๊ณผ ๋์ผํ๊ฒ ๋์ํฉ๋๋ค.18 Code Review๋ AI๋ฅผ ์ฌ์ฉํ์ฌ ์ฝ๋๋ฅผ ๋ฆฌ๋ทฐํ๋ฏ๋ก ๋ฒ๊ทธ, ๋ณด์ ์ทจ์ฝ์ ๋๋ ๊ธฐํ ๋ฌธ์ ๋ฅผ ๋์น ์ ์์ต๋๋ค. ๊ฒฐ๊ณผ๊ฐ ์๋ ๋ฆฌ๋ทฐ๊ฐ ์ฝ๋์ ์ค๋ฅ๊ฐ ์๊ฑฐ๋ ์์ ํ๋ค๋ ๊ฒ์ ์๋ฏธํ์ง๋ ์์ต๋๋ค.
149</Note>19</Note>
150 20
151์ด๋ฌํ ๋ช
๋ น ์ค ํ๋๊ฐ ๊ฒํ ๋ฅผ ํธ๋ฆฌ๊ฑฐํ๋ ค๋ฉด:21<span id="review-a-diff-locally" />
152
153* ์ต์์ PR ๋๊ธ๋ก ๊ฒ์ํ๊ณ diff ๋ผ์ธ์ ์ธ๋ผ์ธ ๋๊ธ๋ก๋ ๊ฒ์ํ์ง ์์ต๋๋ค
154* ๋๊ธ์ ์์ ๋ถ๋ถ์ ๋ช
๋ น์ ์
๋ ฅํ๊ณ , `once` ๋๋ `always`๋ฅผ ๋ช
๋ น์ ๋๋จธ์ง ๋ถ๋ถ๊ณผ ๊ฐ์ ๋ผ์ธ์ ์
๋ ฅํฉ๋๋ค
155* ๋ฆฌํฌ์งํ ๋ฆฌ์ ๋ํ ์ฐ๊ธฐ, ์ ์ง ๊ด๋ฆฌ ๋๋ ๊ด๋ฆฌ์ ๊ถํ์ด ์์ด์ผ ํฉ๋๋ค
156* PR์ ์ด๋ ค ์์ด์ผ ํฉ๋๋ค
157
158์๋ ํธ๋ฆฌ๊ฑฐ์ ๋ฌ๋ฆฌ ์๋ ํธ๋ฆฌ๊ฑฐ๋ ๋ช
์์ ์์ฒญ์ด ์ด์ ์ํ์ ๊ด๊ณ์์ด ์ง๊ธ ๊ฒํ ๋ฅผ ์ํ๋ค๋ ์ ํธ์ด๋ฏ๋ก ์ด์ PR์์ ์คํ๋ฉ๋๋ค.
159
160ํด๋น PR์์ ๊ฒํ ๊ฐ ์ด๋ฏธ ์คํ ์ค์ธ ๊ฒฝ์ฐ ์์ฒญ์ ์งํ ์ค์ธ ๊ฒํ ๊ฐ ์๋ฃ๋ ๋๊น์ง ๋๊ธฐ์ด์ ์ถ๊ฐ๋ฉ๋๋ค. PR์ ํ์ธ ์คํ์ ํตํด ์งํ ์ํฉ์ ๋ชจ๋ํฐ๋งํ ์ ์์ต๋๋ค.
161
162<h3 id="review-pull-requests-from-forks">
163 ํฌํฌ์์ ํ ์์ฒญ ๊ฒํ
164</h3>
165
166Claude๋ ๋ฆฌํฌ์งํ ๋ฆฌ์ **๊ฒํ ๋์** ์ค์ ๊ณผ ๊ด๊ณ์์ด ํฌํฌ์ ํ ์์ฒญ์ ์๋์ผ๋ก ๊ฒํ ํ์ง ์์ต๋๋ค. ๊ฒํ ๋ฅผ ์์ํ๋ ค๋ฉด ํ ์์ฒญ์ `@claude review`๋ฅผ ๋๊ธ๋ก ์์ฑํ์ธ์. [๋๊ธ ๋ช
๋ น์ ์๊ตฌ ์ฌํญ](#manually-trigger-reviews)์ ์ฌ์ ํ ์ ์ฉ๋๋ฉฐ ํ์ํ ์ฐ๊ธฐ ์ก์ธ์ค๋ ํฌํฌ๊ฐ ์๋ ๊ธฐ๋ณธ ๋ฆฌํฌ์งํ ๋ฆฌ์ ๋ํ ๊ฒ์
๋๋ค.
167 22
168ํฌํฌ ํ ์์ฒญ์ ๋ค๋ฅธ ๊ฒํ ๋ฅผ ๋ฐ์ผ๋ ค๋ฉด ์๋ก์ด `@claude review` ๋๊ธ์ ๊ฒ์ํ์ธ์. `@claude review always`๋ ์๋ํ์ง๋ง ๋์ค์ ํธ์์ ๋ํ ๊ฒํ ์ ํ ์์ฒญ์ ๊ตฌ๋
ํ์ง ์์ต๋๋ค. ๋๊ธ ๋ช
๋ น ์ธ์๋ ํฌํฌ ํ ์์ฒญ์ ๋ํ ๊ฒํ ๋ฅผ ์์ํ์ง ์์ต๋๋ค:23Code Review๋ฅผ ์ผ๋ ค๋ฉด Claude ์กฐ์ง์ Owner๊ฐ [Code Review ์ค์ ](/docs/ko/code-review-setup)์ ๋ฐ๋ฆ
๋๋ค. Claude๋ ์ด ์๋น์ค ์์ด๋ ์ฝ๋๋ฅผ ๋ฆฌ๋ทฐํ ์ ์์ต๋๋ค. ๋ชจ๋ ํ๋์์ Claude Code ์ธ์
์์ [`/code-review`](/docs/ko/code-review-local)๋ฅผ ์คํํ๊ฑฐ๋, [๋ชจ๋ ์ต์
์ ๋น๊ต](#compare-ways-to-get-a-review)ํด ๋ณด์ญ์์ค.
169 24
170* ํ์ธ ์คํ์์ **๋ค์ ์คํ**์ ํด๋ฆญํด๋ ๊ฒํ ๋ฅผ ์์ํ์ง ์์ต๋๋ค25<h2 id="availability">
171* ์ ์ปค๋ฐ์ ํธ์ํด๋ ๊ฒํ ๋ฅผ ์์ํ์ง ์์ต๋๋ค. **๋ชจ๋ ํธ์ ํ**๋ก ์ค์ ๋ ๋ฆฌํฌ์งํ ๋ฆฌ์์๋ ๋ง์ฐฌ๊ฐ์ง์
๋๋ค26 ์ฌ์ฉ ๊ฐ๋ฅ ์ฌ๋ถ
172
173<h2 id="customize-reviews">
174 ๊ฒํ ์ฌ์ฉ์ ์ ์
175</h2>27</h2>
176 28
177Code Review๋ ๋ฆฌํฌ์งํ ๋ฆฌ์์ ๋ ๊ฐ์ ํ์ผ์ ์ฝ์ด ํ๋๊ทธํ ํญ๋ชฉ์ ์๋ดํฉ๋๋ค. ์ด๋ค์ ๊ฒํ ์ ์ํฅ์ ๋ฏธ์น๋ ๊ฐ๋๊ฐ ๋ค๋ฆ
๋๋ค:29Code Review๋ฅผ ์ค์ ํ๊ธฐ ์ ์ ์กฐ์ง์ด ์๊ฒฉ ์๊ฑด์ ์ถฉ์กฑํ๋์ง ํ์ธํ์ญ์์ค:
178
179* **`CLAUDE.md`**: Claude Code๊ฐ ๊ฒํ ๋ฟ๋ง ์๋๋ผ ๋ชจ๋ ์์
์ ์ฌ์ฉํ๋ ๊ณต์ ํ๋ก์ ํธ ์ง์นจ์
๋๋ค. Code Review๋ ์ด๋ฅผ ํ๋ก์ ํธ ์ปจํ
์คํธ๋ก ์ฝ๊ณ ์๋ก ๋์
๋ ์๋ฐ์ nit์ผ๋ก ํ๋๊ทธํฉ๋๋ค.
180* **`REVIEW.md`**: ๊ฒํ ์ ์ฉ ์ง์นจ์ผ๋ก ๊ฒํ ํ์ดํ๋ผ์ธ์ ์์ด์ ํธ๊ฐ ๊ฒฐ๊ณผ๋ฅผ ์ฐพ๊ณ ๊ฒ์ฆํ๋ฉฐ ์์ด์ ํธ๊ฐ ๊ฒฐ๊ณผ๋ฅผ ์์ ์ง์ ํ๊ณ ๋ณด๊ณ ํ ๋ ์ฐธ์กฐํฉ๋๋ค. ์ด๋ฅผ ์ฌ์ฉํ์ฌ ํ์ด ํ๋๊ทธํ๋ ค๋ ํญ๋ชฉ, ์ฌ๊ฐ๋ ๋ฐ ๊ฒฐ๊ณผ ๋ณด๊ณ ๋ฐฉ์์ ์ง์ ํฉ๋๋ค.
181
182<h3 id="claude-md">
183 CLAUDE.md
184</h3>
185
186Code Review๋ ๋ฆฌํฌ์งํ ๋ฆฌ์ `CLAUDE.md` ํ์ผ์ ์ฝ๊ณ ์๋ก ๋์
๋ ์๋ฐ์ [nit ์์ค](#severity-levels) ๊ฒฐ๊ณผ๋ก ์ฒ๋ฆฌํฉ๋๋ค. ์ด๋ ์๋ฐฉํฅ์ผ๋ก ์๋ํฉ๋๋ค: PR์ด `CLAUDE.md` ๋ฌธ์ ์ค๋๋ ๊ฒ์ผ๋ก ๋ง๋๋ ๋ฐฉ์์ผ๋ก ์ฝ๋๋ฅผ ๋ณ๊ฒฝํ๋ฉด Claude๋ ๋ฌธ์๋ ์
๋ฐ์ดํธํด์ผ ํ๋ค๊ณ ํ๋๊ทธํฉ๋๋ค.
187
188Claude๋ ๋๋ ํ ๋ฆฌ ๊ณ์ธต ๊ตฌ์กฐ์ ๋ชจ๋ ์์ค์์ `CLAUDE.md` ํ์ผ์ ์ฝ์ผ๋ฏ๋ก ํ์ ๋๋ ํ ๋ฆฌ์ `CLAUDE.md`์ ๊ท์น์ ํด๋น ๊ฒฝ๋ก ์๋์ ํ์ผ์๋ง ์ ์ฉ๋ฉ๋๋ค. `CLAUDE.md` ์๋ ๋ฐฉ์์ ๋ํ ์์ธํ ๋ด์ฉ์ [๋ฉ๋ชจ๋ฆฌ ์ค๋ช
์](/docs/ko/memory)๋ฅผ ์ฐธ์กฐํ์ญ์์ค.
189 30
190์ผ๋ฐ Claude Code ์ธ์
์ ์ ์ฉํ์ง ์์ผ๋ ค๋ ๊ฒํ ์ ์ฉ ์ง์นจ์ ๊ฒฝ์ฐ ๋์ [`REVIEW.md`](#review-md)๋ฅผ ์ฌ์ฉํ์ญ์์ค.31* **ํ๋**: [Team ๋ฐ Enterprise](/docs/ko/feature-availability)
191 32* **์ฝ๋ ํธ์คํธ**: [GitHub Enterprise Server](/docs/ko/github-enterprise-server) ๋ฐ ๋ฐ์ดํฐ ๋ ์ง๋์๊ฐ ์ ์ฉ๋ GitHub Enterprise Cloud๋ฅผ ํฌํจํ์ฌ GitHub์ ํธ์คํ
๋ ์ ์ฅ์. ๋ฐ์ดํฐ ๋ ์ง๋์์ ๊ฒฝ์ฐ Owner๊ฐ [GitHub Enterprise Server ๊ด๋ฆฌ์ ์ค์ ](/docs/ko/github-enterprise-server#admin-setup)์ ๋ฐ๋ฅด๊ณ ์ํฐํ๋ผ์ด์ฆ์ `ghe.com` ํธ์คํธ ์ด๋ฆ์ ์
๋ ฅํด์ผ ํฉ๋๋ค.
192<h3 id="review-md">33* **๋ฐ์ดํฐ ๋ณด์กด**: Code Review๋ [Zero Data Retention](/docs/ko/zero-data-retention)์ด ํ์ฑํ๋์๊ฑฐ๋ [HIPAA ๊ตฌ์ฑ](/docs/ko/hipaa-setup)์ด ์ ์ฉ๋ ์กฐ์ง์์๋ ์ฌ์ฉํ ์ ์์ผ๋ฉฐ, Anthropic์ Business Associate Agreement(BAA) ์ ์ฉ ๋์์ด ์๋๋๋ค.
193 REVIEW\.md34* **์ํธํ ํค**: Code Review๋ ์์ง ๊ณ ๊ฐ ๊ด๋ฆฌํ ์ํธํ ํค(CMEK)๋ฅผ ์ฌ์ฉํ๋ ์กฐ์ง์์ ์ฌ์ฉํ ์ ์์ต๋๋ค.
194</h3>35* **ํด๋ผ์ฐ๋ ์ ๊ณต์
์ฒด**: ๊ฐ๋ฐ์๊ฐ Amazon Bedrock, Google Cloud์ Agent Platform ๋๋ Microsoft Foundry๋ฅผ ํตํด Claude Code๋ฅผ ์ฌ์ฉํ๋๋ผ๋ ์ด๋ฌํ ํ๋ ์ค ํ๋์ Claude ์กฐ์ง์ด ํ์ํฉ๋๋ค
195 36
196`REVIEW.md`๋ ๋ฆฌํฌ์งํ ๋ฆฌ ๋ฃจํธ์ ํ์ผ๋ก Code Review๋ฅผ ๋ฆฌํฌ์งํ ๋ฆฌ์ ๋ง๊ฒ ์กฐ์ ํฉ๋๋ค. ๊ฒํ ํ์ดํ๋ผ์ธ์์ ๊ฒฐ๊ณผ๋ฅผ ์ฐพ๊ณ ๊ฒ์ฆํ๋ ์์ด์ ํธ๋ Code Review์ ๊ธฐ๋ณธ ๊ฒํ ์ง์นจ๊ณผ ํจ๊ป ๋ฆฌํฌ์งํ ๋ฆฌ์ ๊ฒํ ์ง์นจ์ผ๋ก ๊ทธ ๋ด์ฉ์ ๋ฐ์ผ๋ฉฐ, ๊ฒฐ๊ณผ๋ฅผ ์์ ์ง์ ํ๊ณ ๋ณด๊ณ ํ๋ ์์ด์ ํธ๋ ์ฌ๊ฐ๋๋ฅผ ๊ฒฐ์ ํ๊ณ ๊ฒํ ๋ฅผ ์์ฑํ๊ธฐ ์ ์ ์ด๋ฅผ ์ฐธ์กฐํฉ๋๋ค.37<h2 id="set-up-and-use-code-review">
197 38 Code Review ์ค์ ๋ฐ ์ฌ์ฉ
198`REVIEW.md`์ ์ ์ฉํ๋ ค๋ ๊ท์น์ ์ง์ ์
๋ ฅํฉ๋๋ค.
199
200<h4 id="what-you-can-tune">
201 ์กฐ์ ํ ์ ์๋ ํญ๋ชฉ
202</h4>
203
204`REVIEW.md`๋ ์์ ํ์ ๋งํฌ๋ค์ด์ด๋ฏ๋ก ๊ฒํ ์ง์นจ์ผ๋ก ํํํ ์ ์๋ ๋ชจ๋ ๊ฒ์ด ๋ฒ์ ๋ด์
๋๋ค. ์๋ ํจํด์ ์ค์ ๋ก ๊ฐ์ฅ ํฐ ์ํฅ์ ๋ฏธ์นฉ๋๋ค.
205
206**์ฌ๊ฐ๋**: ๋ฆฌํฌ์งํ ๋ฆฌ์ ๋ํด ๐ด Important๊ฐ ์๋ฏธํ๋ ๋ฐ๋ฅผ ์ฌ์ ์ํฉ๋๋ค. ๊ธฐ๋ณธ ๋ณด์ ์ ํ๋ก๋์
์ฝ๋๋ฅผ ๋์์ผ๋ก ํฉ๋๋ค. ๋ฌธ์ ๋ฆฌํฌ์งํ ๋ฆฌ, ๊ตฌ์ฑ ๋ฆฌํฌ์งํ ๋ฆฌ ๋๋ ํ๋กํ ํ์
์ ํจ์ฌ ๋ ์ข์ ์ ์๋ฅผ ์ํ ์ ์์ต๋๋ค. Important์ธ ๊ฒฐ๊ณผ ํด๋์ค์ ์ต๋ Nit์ธ ๊ฒฐ๊ณผ ํด๋์ค๋ฅผ ๋ช
์์ ์ผ๋ก ๋ช
์ํฉ๋๋ค. ๋ค๋ฅธ ๋ฐฉํฅ์ผ๋ก๋ ํ๋ํ ์ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด ๊ธฐ๋ณธ nit์ด ์๋ Important๋ก `CLAUDE.md` ์๋ฐ์ ์ฒ๋ฆฌํฉ๋๋ค.
207
208**Nit ๋ณผ๋ฅจ**: ๋จ์ผ ๊ฒํ ๊ฐ ๊ฒ์ํ๋ ๐ก Nit ๋๊ธ์ ์๋ฅผ ์ ํํฉ๋๋ค. ์ฐ๋ฌธ ๋ฐ ๊ตฌ์ฑ ํ์ผ์ ์์ํ ๋ค๋ฌ์ด์ง ์ ์์ต๋๋ค. "์ต๋ 5๊ฐ์ nit์ ๋ณด๊ณ ํ๊ณ ๋๋จธ์ง๋ฅผ ์์ฝ์ ๊ฐ์๋ก ์ธ๊ธ"๊ณผ ๊ฐ์ ์ ํ์ ๊ฒํ ๋ฅผ ์คํ ๊ฐ๋ฅํ๊ฒ ์ ์งํฉ๋๋ค.
209
210**๊ท์น ๊ฑด๋๋ฐ๊ธฐ**: Claude๊ฐ ๊ฒฐ๊ณผ๋ฅผ ๊ฒ์ํ์ง ์์์ผ ํ๋ ๊ฒฝ๋ก, ๋ถ๊ธฐ ํจํด ๋ฐ ๊ฒฐ๊ณผ ์นดํ
๊ณ ๋ฆฌ๋ฅผ ๋์ดํฉ๋๋ค. ์ผ๋ฐ์ ์ธ ํ๋ณด๋ ์์ฑ๋ ์ฝ๋, lockfile, ๊ณต๊ธ๋ ์ข
์์ฑ ๋ฐ ๊ธฐ๊ณ ์์ฑ ๋ถ๊ธฐ์ด๋ฉฐ, linting ๋๋ ๋ง์ถค๋ฒ ๊ฒ์ฌ์ ๊ฐ์ด CI๊ฐ ์ด๋ฏธ ์ ์ฉํ๋ ๋ชจ๋ ๊ฒ์
๋๋ค. ์์ ํ ์ ๋ฐ ๊ฒ์ฌ๋ฅผ ๋ณด์ฅํ์ง ์์ง๋ง ์ผ๋ถ ๊ฒํ ๋ฅผ ๋ณด์ฅํ๋ ๊ฒฝ๋ก์ ๊ฒฝ์ฐ ์์ ํ ๊ฑด๋๋ฐ๋ ๋์ ๋ ๋์ ๊ธฐ์ค์ ์ค์ ํฉ๋๋ค: "`scripts/`์์๋ ๊ฑฐ์ ํ์คํ๊ณ ์ฌ๊ฐํ ๊ฒฝ์ฐ์๋ง ๋ณด๊ณ ํฉ๋๋ค."
211
212**๋ฆฌํฌ์งํ ๋ฆฌ๋ณ ํ์ธ**: ๋ชจ๋ PR์์ ํ๋๊ทธํ๋ ค๋ ๊ท์น์ ์ถ๊ฐํฉ๋๋ค. ์: "์ API ๊ฒฝ๋ก์๋ ํตํฉ ํ
์คํธ๊ฐ ์์ด์ผ ํฉ๋๋ค." `REVIEW.md`๊ฐ ๋ชจ๋ ๊ฒฐ๊ณผ ์ฐพ๊ธฐ ๋ฐ ๊ฒ์ฆ ์์ด์ ํธ์ ์ง์ ๋๋ฌํ๊ธฐ ๋๋ฌธ์ ์ด๋ค์ ๊ธด `CLAUDE.md`์ ๋์ผํ ๊ท์น๋ณด๋ค ๋ ์์ ์ ์ผ๋ก ๋์ฐฉํฉ๋๋ค.
213
214**๊ฒ์ฆ ๊ธฐ์ค**: ๊ฒฐ๊ณผ ํด๋์ค๊ฐ ๊ฒ์๋๊ธฐ ์ ์ ์ฆ๊ฑฐ๋ฅผ ์๊ตฌํฉ๋๋ค. ์๋ฅผ ๋ค์ด "๋์ ์ฃผ์ฅ์ ๋ช
๋ช
์์์ ์ถ๋ก ์ด ์๋ ์์ค์ `file:line` ์ธ์ฉ์ด ํ์ํฉ๋๋ค"๋ ๊ทธ๋ ์ง ์์ผ๋ฉด ์์ฑ์์๊ฒ ์๋ณต์ ๋น์ฉ์ผ๋ก ํ๋ ๊ฑฐ์ง ์์ฑ์ ์ค์
๋๋ค.
215
216**์ฌ๊ฒํ ์๋ ด**: PR์ด ์ด๋ฏธ ๊ฒํ ๋์์ ๋ Claude๊ฐ ์ด๋ป๊ฒ ์๋ํด์ผ ํ๋์ง ์๋ ค์ค๋๋ค. "์ฒซ ๋ฒ์งธ ๊ฒํ ํ ์๋ก์ด nit์ ์ต์ ํ๊ณ Important ๊ฒฐ๊ณผ๋ง ๊ฒ์"์ ๊ฐ์ ๊ท์น์ ํ ์ค ์์ ์ด ์คํ์ผ๋ง์ผ๋ก 7๋ผ์ด๋์ ๋๋ฌํ๋ ๊ฒ์ ๋ฐฉ์งํฉ๋๋ค.
217
218**์์ฝ ํํ**: ๊ฒํ ๋ณธ๋ฌธ์ด `2 factual, 4 style`๊ณผ ๊ฐ์ ํ ์ค ์ง๊ณ๋ก ์์ํ๋๋ก ์์ฒญํ๊ณ ๊ทธ๊ฒ์ด ๊ฒฝ์ฐ์ผ ๋ "factual ๋ฌธ์ ์์"์ผ๋ก ์์ํ๋๋ก ์์ฒญํฉ๋๋ค. ์์ฑ์๋ ์ธ๋ถ ์ฌํญ ์ ์ ์์
์ ํํ๋ฅผ ์๊ณ ์ถ์ดํฉ๋๋ค.
219
220<h4 id="example">
221 ์์
222</h4>
223
224์ด `REVIEW.md`๋ ๋ฐฑ์๋ ์๋น์ค์ ์ฌ๊ฐ๋๋ฅผ ์ฌ๋ณด์ ํ๊ณ , nit์ ์ ํํ๊ณ , ์์ฑ๋ ํ์ผ์ ๊ฑด๋๋ฐ๊ณ , ๋ฆฌํฌ์งํ ๋ฆฌ๋ณ ํ์ธ์ ์ถ๊ฐํฉ๋๋ค.
225
226```markdown theme={null}
227# ๊ฒํ ์ง์นจ
228
229## Important๊ฐ ์ฌ๊ธฐ์ ์๋ฏธํ๋ ๋ฐ
230
231๋์์ ์ค๋จํ๊ฑฐ๋ ๋ฐ์ดํฐ๋ฅผ ์ ์ถํ๊ฑฐ๋ ๋กค๋ฐฑ์ ์ฐจ๋จํ ๊ฒฐ๊ณผ์ ๋ํด Important๋ฅผ ์์ฝํฉ๋๋ค: ์๋ชป๋ ๋
ผ๋ฆฌ, ๋ฒ์๊ฐ ์ง์ ๋์ง ์์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ฟผ๋ฆฌ, ๋ก๊ทธ ๋๋ ์ค๋ฅ ๋ฉ์์ง์ PII, ๊ทธ๋ฆฌ๊ณ ์ญํธํ๋์ง ์๋ ๋ง์ด๊ทธ๋ ์ด์
์
๋๋ค. ์คํ์ผ, ๋ช
๋ช
๋ฐ ๋ฆฌํฉํ ๋ง ์ ์์ ์ต๋ Nit์
๋๋ค.
232
233## Nit ์ ํ
234
235๊ฒํ ๋น ์ต๋ 5๊ฐ์ Nit์ ๋ณด๊ณ ํฉ๋๋ค. ๋ ๋ง์ด ๋ฐ๊ฒฌํ ๊ฒฝ์ฐ ์ธ๋ผ์ธ์ผ๋ก ๊ฒ์ํ๋ ๋์ ์์ฝ์์ "plus N similar items"๋ผ๊ณ ๋งํฉ๋๋ค. ๋ฐ๊ฒฌํ ๋ชจ๋ ๊ฒ์ด Nit์ธ ๊ฒฝ์ฐ "No blocking issues"๋ก ์์ฝ์ ์์ํฉ๋๋ค.
236
237## ๋ณด๊ณ ํ์ง ์์
238
239- CI๊ฐ ์ด๋ฏธ ์ ์ฉํ๋ ๋ชจ๋ ๊ฒ: lint, ํ์, ํ์
์ค๋ฅ
240- `src/gen/` ์๋์ ์์ฑ๋ ํ์ผ ๋ฐ ๋ชจ๋ `*.lock` ํ์ผ
241- ์๋์ ์ผ๋ก ํ๋ก๋์
๊ท์น์ ์๋ฐํ๋ ํ
์คํธ ์ ์ฉ ์ฝ๋
242
243## ํญ์ ํ์ธ
244
245- ์ API ๊ฒฝ๋ก์๋ ํตํฉ ํ
์คํธ๊ฐ ์์ต๋๋ค
246- ๋ก๊ทธ ๋ผ์ธ์ ์ด๋ฉ์ผ ์ฃผ์, ์ฌ์ฉ์ ID ๋๋ ์์ฒญ ๋ณธ๋ฌธ์ด ํฌํจ๋์ง ์์ต๋๋ค
247- ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ฟผ๋ฆฌ๋ ํธ์ถ์์ ํ
๋ํธ๋ก ๋ฒ์๊ฐ ์ง์ ๋ฉ๋๋ค
248```
249
250<h4 id="keep-it-focused">
251 ์ด์ ์ ์ง
252</h4>
253
254๊ธธ์ด๋ ๋น์ฉ์ด ์์ต๋๋ค: ๊ธด `REVIEW.md`๋ ๊ฐ์ฅ ์ค์ํ ๊ท์น์ ํฌ์ํฉ๋๋ค. ๊ฒํ ๋์์ ๋ณ๊ฒฝํ๋ ์ง์นจ์ผ๋ก ์ ์งํ๊ณ ์ผ๋ฐ ํ๋ก์ ํธ ์ปจํ
์คํธ๋ `CLAUDE.md`์ ๋จ๊ฒจ๋ก๋๋ค.
255
256<h2 id="view-usage">
257 ์ฌ์ฉ๋ ๋ณด๊ธฐ
258</h2>39</h2>
259 40
260[claude.ai/analytics/code-review](https://claude.ai/analytics/code-review)๋ก ์ด๋ํ์ฌ ์กฐ์ง ์ ์ฒด์ Code Review ํ๋์ ํ์ธํฉ๋๋ค. ๋์๋ณด๋๋ ๋ค์์ ํ์ํฉ๋๋ค:41<span id="set-up-code-review" />
261 42
262| ์น์
| ํ์ ๋ด์ฉ |43<span id="pricing" />
263| :- | :- |
264| PRs reviewed | ์ ํํ ์๊ฐ ๋ฒ์ ๋์ ๊ฒํ ๋ ํ ์์ฒญ์ ์ผ์ผ ๊ฐ์ |
265| Code Review cost | ์ด๋ฒ ๋ฌ ํ์ฌ๊น์ง์ Code Review ์ง์ถ |
266| Feedback | ๊ฐ๋ฐ์๊ฐ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ์ฌ ์๋์ผ๋ก ํด๊ฒฐ๋ ๊ฒํ ๋๊ธ์ ๊ฐ์ |
267| Repository breakdown | ์ ์ฅ์๋ณ๋ก ๊ฒํ ๋ PR ๊ฐ์, ํด๊ฒฐ๋ ๋๊ธ ๊ฐ์, ๋ฆฌ๋ทฐ ์คํ ํ์์ ํจ๊ป ์ถ์ ๋น์ฉ ๋ฐ PR๋ณ ๋ณด๊ธฐ |
268 44
269Code Review cost ์นด๋๋ ํ์ฌ ์์ด ์ ํ๋ ๊ฒฝ์ฐ์๋ง ๊ธ์ก์ ํ์ํฉ๋๋ค. ๋ถ์์ ๋น์ฉ ์์น๋ ์ฒญ๊ตฌ์์ ๋ค๋ฅผ ์ ์์ต๋๋ค. Repository breakdown ๋น์ฉ์ ํ ์ธ์ด๋ ํฌ๋ ๋ง์ด ์ ์ฉ๋๊ธฐ ์ ์ ์ ๊ฐ ๊ธฐ์ค์ผ๋ก ์ถ์ ๋๋ฉฐ, Claude๊ฐ ํ ๋ฆฌํ์คํธ์ ๊ฒ์ํ ๋ฆฌ๋ทฐ๋ง ํฌํจํฉ๋๋ค. ์ฒญ๊ตฌ์์ ์ ํํ ์ผ์นํ๋ ์ง์ถ์ Anthropic ์ฒญ๊ตฌ์๋ฅผ ์ฐธ์กฐํ์ญ์์ค.45<span id="manually-trigger-reviews" />
270 46
271<h2 id="pricing">47<span id="customize-reviews" />
272 ๊ฐ๊ฒฉ
273</h2>
274
275Code Review๋ ํ ํฐ ์ฌ์ฉ๋์ ๊ธฐ๋ฐ์ผ๋ก ์ฒญ๊ตฌ๋ฉ๋๋ค. ๊ฐ ๊ฒํ ๋ ํ๊ท \$15-25์ ๋น์ฉ์ด ์์๋๋ฉฐ, PR ํฌ๊ธฐ, ์ฝ๋๋ฒ ์ด์ค ๋ณต์ก๋ ๋ฐ ๊ฒ์ฆ์ด ํ์ํ ๋ฌธ์ ์ ์์ ๋ฐ๋ผ ํ์ฅ๋ฉ๋๋ค. Code Review ์ฌ์ฉ๋์ [์ฌ์ฉ๋ ํฌ๋ ๋ง](https://support.claude.com/ko/articles/12429409-extra-usage-for-paid-claude-plans)์ ํตํด ๋ณ๋๋ก ์ฒญ๊ตฌ๋๋ฉฐ ๊ณํ์ ํฌํจ๋ ์ฌ์ฉ๋์ ํฌํจ๋์ง ์์ต๋๋ค.
276
277์ ํํ ๊ฒํ ํธ๋ฆฌ๊ฑฐ๋ ์ด ๋น์ฉ์ ์ํฅ์ ๋ฏธ์นฉ๋๋ค:
278
279* **PR ์์ฑ ํ ํ ๋ฒ**: PR๋น ํ ๋ฒ ์คํ๋ฉ๋๋ค
280* **๋ชจ๋ ํธ์ ํ**: ๊ฐ ํธ์์์ ์คํ๋์ด ํธ์ ์๋งํผ ๋น์ฉ์ด ๊ณฑํด์ง๋๋ค
281* **์๋**: ์ด๋ฆฐ PR์ด๋ ํธ์์์ ์๋์ผ๋ก ๊ฒํ ๊ฐ ์คํ๋์ง ์์ผ๋ฏ๋ก ๋๊ตฐ๊ฐ ์์ฒญํ ๊ฒํ ์์๋ง ๋น์ฉ์ด ๋ฐ์ํฉ๋๋ค
282 48
283PR ์์ฑ ํ ํ ๋ฒ ๋๋ ์๋ ๋ชจ๋์์ `@claude review always` [๋๊ธ์ ์์ฑ](#manually-trigger-reviews)ํ๋ฉด PR์ด ํธ์ ํธ๋ฆฌ๊ฑฐ ๊ฒํ ์ ์ตํธ์ธ๋๋ฏ๋ก ํด๋น ๋๊ธ ์ดํ ํธ์๋น ์ถ๊ฐ ๋น์ฉ์ด ๋ฐ์ํฉ๋๋ค. ๋ชจ๋ ํธ์ ํ ๋ชจ๋์์๋ ํธ์๊ฐ ์ด๋ฏธ ๊ฒํ ๋ฅผ ํธ๋ฆฌ๊ฑฐํ๋ฏ๋ก ๊ตฌ๋
์ด ํธ์๋น ๋น์ฉ์ ๋ณ๊ฒฝํ์ง ์์ต๋๋ค. `@claude review`๋ฅผ ๋๊ธ๋ก ์์ฑํ๋ฉด ํฅํ ํธ์์ ๊ตฌ๋
ํ์ง ์๊ณ ๋จ์ผ ๊ฒํ ๋ฅผ ์คํํฉ๋๋ค. Claude๋ [ํฌํฌ์์ ํ ์์ฒญ](#review-pull-requests-from-forks)์ ๋๊ตฐ๊ฐ `@claude review`๋ฅผ ๋๊ธ๋ก ์์ฑํ ๋๋ง ๊ฒํ ํ๋ฏ๋ก, ํฌํฌ ํ ์์ฒญ์ ์ด๋ค ๋ชจ๋์์๋ ํธ์๋น ๋น์ฉ์ด ๋ฐ์ํ์ง ์์ต๋๋ค.49<span id="troubleshooting" />
284 50
285๋น์ฉ์ ์กฐ์ง์ด ๋ค๋ฅธ Claude Code ๊ธฐ๋ฅ์ Amazon Bedrock ๋๋ Google Cloud์ Agent Platform์ ์ฌ์ฉํ๋์ง ์ฌ๋ถ์ ๊ด๊ณ์์ด Anthropic ์ฒญ๊ตฌ์์ ๋ํ๋ฉ๋๋ค. Code Review์ ์๊ฐ ์ง์ถ ํ๋๋ฅผ ์ค์ ํ๋ ค๋ฉด [claude.ai/admin-settings/usage](https://claude.ai/admin-settings/usage)๋ก ์ด๋ํ์ฌ Claude Code Review ์๋น์ค์ ํ๋๋ฅผ ๊ตฌ์ฑํฉ๋๋ค.51ํ์ํ ์์
์ ๋ง๋ ํ์ด์ง๋ฅผ ์ ํํ์ญ์์ค:
286 52
287์ง์ถ์ ๋ชจ๋ํฐ๋งํ๋ ค๋ฉด [๋ถ์ ๋์๋ณด๋](#view-usage)๋ฅผ ์ฌ์ฉํฉ๋๋ค.53<CardGroup cols={2}>
54 <Card title="Code Review ์ค์ " icon="toggle-on" href="/docs/ko/code-review-setup">
55 ์๊ตฌ ์ฌํญ์ ํ์ธํ๊ณ , Claude GitHub App์ ์ค์นํ๊ณ , ์ ์ฅ์, ๋ฆฌ๋ทฐ ์์ค ๋ฐ ๋ฆฌ๋ทฐ ์คํ ์๊ธฐ๋ฅผ ์ ํํฉ๋๋ค
56 </Card>
288 57
289<h2 id="troubleshooting">58 <Card title="Code Review ์ฌ์ฉ์ ์ ์" icon="sliders" href="/docs/ko/code-review-customize">
290 ๋ฌธ์ ํด๊ฒฐ59 ์ ์ฅ์์ `REVIEW.md` ๋ฐ `CLAUDE.md` ํ์ผ๋ก ํ๋๊ทธ๋๋ ํญ๋ชฉ์ ์กฐ์ ํฉ๋๋ค
291</h2>60 </Card>
292
293๊ฒํ ์คํ์ ์ต์ ์ ๋
ธ๋ ฅ์
๋๋ค. ์คํจํ ์คํ์ PR์ ์ฐจ๋จํ์ง ์์ต๋๋ค. Code Review๋ ์ค๋จ๋ ์ผ๋ถ ๊ฒํ ๋ฅผ ์๋์ผ๋ก ์ฌ์๋ํฉ๋๋ค. ์ด ์น์
์์๋ ๊ฒํ ๋ฅผ ๋ค์ ์คํํ๋ ๋ฐฉ๋ฒ๊ณผ ํ์ธ ์คํ์ด ์ฐพ์ ์ ์๋ ๋ฌธ์ ๋ฅผ ๋ณด๊ณ ํ ๋ ์ด๋๋ฅผ ๋ด์ผ ํ๋์ง ๋ค๋ฃน๋๋ค.
294 61
295<h3 id="retrigger-a-failed-or-timed-out-review">62 <Card title="ํ ๋ฆฌํ์คํธ์์ ๋ฆฌ๋ทฐ ์ฝ๊ธฐ ๋ฐ ์์ฒญ" icon="code-pull-request" href="/docs/ko/code-review-pull-requests">
296 ์คํจํ๊ฑฐ๋ ์๊ฐ ์ด๊ณผ๋ ๊ฒํ ์ฌํธ๋ฆฌ๊ฑฐ63 ๊ฒฐ๊ณผ์ ์ฌ๊ฐ๋๋ฅผ ์ฝ๊ณ , ๋๊ธ๋ก ๋ค๋ฅธ ๋ฆฌ๋ทฐ๋ฅผ ์์ฒญํฉ๋๋ค
297</h3>64 </Card>
298 65
299๊ฒํ ๊ฐ ์คํจํ๊ฑฐ๋ ์๊ฐ ์ ํ์ ์ด๊ณผํ๋ฉด ํ์ธ ์คํ์ด **Code review failed** ๋๋ **Code review timed out** ๊ฐ์ ์ ๋ชฉ์ผ๋ก ์๋ฃ๋ฉ๋๋ค. ๊ฒฐ๋ก ์ ์ฌ์ ํ ์ค๋ฆฝ์ ์ด๋ฏ๋ก ๋ณํฉ์ ์ฐจ๋จํ๋ ๊ฒ์ ์์ต๋๋ค. ํ์ธ ์คํ์ ์์ฝ์์ ์ปค๋ฐ์ ์๋ก์ด ๊ฒํ ๊ฐ ์๋์ผ๋ก ๋๊ธฐ์ด์ ์ถ๊ฐ๋์๋ค๊ณ ๋งํ์ง ์์ผ๋ฉด ๊ฒํ ๋ฅผ ์ง์ ๋ค์ ์คํํ์ญ์์ค.66 <Card title="Code Review ๋ฌธ์ ํด๊ฒฐ" icon="wrench" href="/docs/ko/code-review-troubleshooting">
67 ์์๋์ง ์์๊ฑฐ๋, ์คํจํ๊ฑฐ๋, ์์ฐ ๋๋ฌธ์ ๊ฑด๋๋ด ๋ฆฌ๋ทฐ๋ฅผ ํด๊ฒฐํฉ๋๋ค
68 </Card>
300 69
301๊ฒํ ๋ฅผ ๋ค์ ์คํํ๋ ค๋ฉด PR์์ `@claude review`๋ฅผ ๋๊ธ๋ก ์์ฑํ์ญ์์ค. ์ด๋ ๊ฒ ํ๋ฉด PR์ ํฅํ ํธ์์ ๊ตฌ๋
ํ์ง ์๊ณ ์๋ก์ด ๊ฒํ ๋ฅผ ์์ํฉ๋๋ค. PR์ด [ํฌํฌ์์](#review-pull-requests-from-forks) ๋์จ ๊ฒ์ด ์๋๋ฉด GitHub์ Checks ํญ์์ **Claude Code Review** ํ์ธ ์์ **Re-run**์ ํด๋ฆญํ ์ ์์ต๋๋ค. ์ฌ์คํ๋ PR์ ๊ตฌ๋
ํ์ง ์๊ณ ์๋ก์ด ๊ฒํ ๋ฅผ ์์ํฉ๋๋ค.70 <Card title="Code Review ๋น์ฉ ๋ฐ ์ฌ์ฉ๋" icon="chart-line" href="/docs/ko/code-review-costs">
71 ๋ฆฌ๋ทฐ ์ฒญ๊ตฌ ๋ฐฉ์์ ํ์ธํ๊ณ , ์ง์ถ์ ์ถ์ ํ๊ณ , ์๊ฐ ์ง์ถ ํ๋๋ฅผ ์ค์ ํ๊ณ , ๋ฆฌ๋ทฐ ํ๋์ ์ถ์ ํฉ๋๋ค
72 </Card>
73</CardGroup>
302 74
303<h3 id="review-didnโt-run-and-the-pr-shows-a-budget-message">75<h2 id="how-reviews-work">
304 ๊ฒํ ๊ฐ ์คํ๋์ง ์์๊ณ PR์ด ์์ฐ ๋ฉ์์ง๋ฅผ ํ์ํฉ๋๋ค76 ๋ฆฌ๋ทฐ ์๋ ๋ฐฉ์
305</h3>
306
307์กฐ์ง์ Code Review ์๊ฐ ์ง์ถ ํ๋์ ๋๋ฌํ๊ฑฐ๋ ์ฌ์ฉ๋ ํฌ๋ ๋ง ์์ก์ด ์์ง๋๋ฉด Code Review๋ ๊ฒํ ๋ฅผ ๊ฑด๋๋ฐ๊ณ PR์ ๋จ์ผ ๋๊ธ์ ๊ฒ์ํฉ๋๋ค. ๋๊ธ๊ณผ ํ์ธ ์คํ ์นด๋ ๋ชจ๋ ์์ธ์ ๋ช
์ํ๊ณ , ๊ด๋ฆฌ์๊ฐ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ ์ ์๋ ๊ด๋ฆฌ์ ํ์ด์ง๋ก ์ฐ๊ฒฐ๋ฉ๋๋ค:
308
309* **์ง์ถ ํ๋ ๋๋ฌ**: ๊ฒํ ๋ ๋ค์ ์ฒญ๊ตฌ ๊ธฐ๊ฐ์ ์์ ์ ์ฌ๊ฐ๋๊ฑฐ๋ ๊ด๋ฆฌ์๊ฐ [claude.ai/admin-settings/usage](https://claude.ai/admin-settings/usage)์์ ํ๋๋ฅผ ๋์ด๋ฉด ์ฆ์ ์ฌ๊ฐ๋ฉ๋๋ค
310* **์ฌ์ฉ๋ ํฌ๋ ๋ง ์์ง**: ๊ด๋ฆฌ์๊ฐ [claude.ai/admin-settings/usage](https://claude.ai/admin-settings/usage)์์ [์ฌ์ฉ๋ ํฌ๋ ๋ง](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans)์ ์ถ๊ฐํ๋ฉด ๊ฒํ ๊ฐ ์ฌ๊ฐ๋ฉ๋๋ค
311
312<h3 id="find-issues-that-arenโt-showing-as-inline-comments">
313 ์ธ๋ผ์ธ ๋๊ธ๋ก ํ์๋์ง ์๋ ๋ฌธ์ ์ฐพ๊ธฐ
314</h3>
315
316ํ์ธ ์คํ ์ ๋ชฉ์ด ๋ฌธ์ ๊ฐ ๋ฐ๊ฒฌ๋์๋ค๊ณ ๋งํ์ง๋ง diff์์ ์ธ๋ผ์ธ ๊ฒํ ๋๊ธ์ ๋ณด์ง ๋ชปํ๋ฉด ๊ฒฐ๊ณผ๊ฐ ํ์๋๋ ๋ค๋ฅธ ์์น๋ฅผ ํ์ธํ์ญ์์ค:
317
318* **Check run Details**: Checks ํญ์ Claude Code Review ํ์ธ ์์ ์๋ **Details**๋ฅผ ํด๋ฆญํฉ๋๋ค. ์ฌ๊ฐ๋ ํ
์ด๋ธ์ ์ธ๋ผ์ธ ๋๊ธ์ด ์๋ฝ๋์๋์ง ์ฌ๋ถ์ ๊ด๊ณ์์ด ํ์ผ, ๋ผ์ธ ๋ฐ ์์ฝ๊ณผ ํจ๊ป ๋ชจ๋ ๊ฒฐ๊ณผ๋ฅผ ๋์ดํฉ๋๋ค.
319* **Files changed annotations**: PR์ **Files changed** ํญ์ ์ฝ๋๋ค. ๊ฒฐ๊ณผ๋ ๊ฒํ ๋๊ธ๊ณผ ๋ณ๋๋ก diff ๋ผ์ธ์ ์ง์ ์ฒจ๋ถ๋ ์ฃผ์์ผ๋ก ๋ ๋๋ง๋ฉ๋๋ค.
320* **Review body**: ๊ฒํ ๊ฐ ์คํ ์ค์ธ ๋์ PR์ ํธ์ํ ๊ฒฝ์ฐ ์ผ๋ถ ๊ฒฐ๊ณผ๋ ํ์ฌ diff์ ๋ ์ด์ ์กด์ฌํ์ง ์๋ ๋ผ์ธ์ ์ฐธ์กฐํ ์ ์์ต๋๋ค. ์ด๋ค์ ์ธ๋ผ์ธ ๋๊ธ์ด ์๋ ๊ฒํ ๋ณธ๋ฌธ ํ
์คํธ์ **Additional findings** ์ ๋ชฉ ์๋์ ๋ํ๋ฉ๋๋ค.
321
322<h2 id="review-a-diff-locally">
323 ๋ก์ปฌ์์ diff ๊ฒํ
324</h2>77</h2>
325 78
326[`/code-review` ๋ช
๋ น](/docs/ko/commands)์ GitHub ์ฑ์ ์ค์นํ์ง ์๊ณ ํฐ๋ฏธ๋์์ diff๋ฅผ ๊ฒํ ํฉ๋๋ค. ์ ํ์ฑ ๋ฒ๊ทธ๋ฅผ ๋ณด๊ณ ํฉ๋๋ค. ๋ชจ๋ธ๊ณผ effort ์์ค์ ๋ฐ๋ผ ๊ฒํ ์๋ ์ฌ์ฌ์ฉ, ๋จ์ํ ๋ฐ ํจ์จ์ฑ ์ ๋ฆฌ๋ ํฌํจ๋ฉ๋๋ค.79<span id="what-code-review-checks" />
327 80
328`/review`๋ `/code-review`์ ๋ณ์นญ์
๋๋ค. v2.1.223 ์ด์ ์๋ GitHub pull request์ ๋จ์ผ ํจ์ค, ์ฝ๊ธฐ ์ ์ฉ ๊ฒํ ๋ฅผ ์คํํ๋ ๋ณ๋์ ๋ช
๋ น์ด์์ต๋๋ค.81๊ธฐ๋ณธ์ ์ผ๋ก Code Review๋ ์ ํ์ฑ์ ์ค์ ์ ๋ก๋๋ค. ํ์ ์ ํธ๋ ๋๋ฝ๋ ํ
์คํธ ๋ฒ์๊ฐ ์๋๋ผ ํ๋ก๋์
์ ์ค๋จ์ํฌ ๋ฒ๊ทธ์
๋๋ค. ํ๋๊ทธ๋๋ ํญ๋ชฉ์ ๋ณ๊ฒฝํ๋ ค๋ฉด ์ ์ฅ์์ [์ง์นจ ํ์ผ์ ์ถ๊ฐ](/docs/ko/code-review-customize)ํ์ญ์์ค.
329 82
330<Steps>83๋ฆฌ๋ทฐ๋ Anthropic ์ธํ๋ผ์์ ๋ค ๋จ๊ณ๋ก ์คํ๋ฉ๋๋ค:
331 <Step title="/code-review ์คํ">
332 ์์
์ค์ธ ์ธ์
์์ ๋ค์ ๋ช
๋ น์ ์คํํฉ๋๋ค:
333 84
334 ```text theme={null}851. **์ฐพ๊ธฐ**: ์ฌ๋ฌ ์์ด์ ํธ๊ฐ diff์ ์ฃผ๋ณ ์ฝ๋๋ฅผ ๋ณ๋ ฌ๋ก ๊ฒ์ฌํฉ๋๋ค.
335 /code-review862. **๊ฒ์ฆ**: ๊ฒ์ฆ ๋จ๊ณ์์ ํ๋ณด ๊ฒฐ๊ณผ๋ฅผ ์ฝ๋์ ๋์กฐํ์ฌ ํ์ธํ๊ณ ๊ฑฐ์ง ์์ฑ์ ๊ฑธ๋ฌ๋
๋๋ค.
336 ```873. **์์ ์ง์ **: ๋จ์ ๊ฒฐ๊ณผ๋ ์ค๋ณต ์ ๊ฑฐ๋ ํ ์ฌ๊ฐ๋๋ณ๋ก ์์๊ฐ ๋งค๊ฒจ์ง๋๋ค.
884. **๊ฒ์**: ๋ฆฌ๋ทฐ๊ฐ ํ ๋ฆฌํ์คํธ์ ๊ฒฐ๊ณผ๋ฅผ ๊ฒ์ํฉ๋๋ค.
337 89
338 ์ด ๋ช
๋ น์ ์
์คํธ๋ฆผ๋ณด๋ค ์์ ๋ธ๋์น์ ์ปค๋ฐ๊ณผ ์ปค๋ฐ๋์ง ์์ ๋ณ๊ฒฝ ์ฌํญ์ ๊ฒํ ํ๋ฏ๋ก, ๋ณด๊ณ ํ ๋ด์ฉ์ด ์์ผ๋ ค๋ฉด ๋ธ๋์น์์ ์์
ํ๊ฑฐ๋ ์์
ํธ๋ฆฌ์์ ์์
ํด์ผ ํฉ๋๋ค. ๋ค๋ฅธ ํญ๋ชฉ์ ๊ฒํ ํ๋ ค๋ฉด ๋์์ ์ ๋ฌํฉ๋๋ค: ํ์ผ ๊ฒฝ๋ก, PR ๋ฒํธ, ๋ธ๋์น ์ด๋ฆ ๋๋ `main...my-feature`์ ๊ฐ์ ref ๋ฒ์์
๋๋ค.90๊ฐ ๋ฆฌ๋ทฐ๋ ํ ๋ฆฌํ์คํธ์ ๋ค์์ ๋จ๊น๋๋ค:
339 91
340 ๋ค์ ํ๋๊ทธ๋ฅผ ์ถ๊ฐํ ์๋ ์์ต๋๋ค:92* **๊ฒฐ๊ณผ**: ํด๋น ๋ผ์ธ์ ์ธ๋ผ์ธ ๋๊ธ๊ณผ ๋ฆฌ๋ทฐ ๋ณธ๋ฌธ์ ์์ฝ
93* **ํ์ธ ์คํ**: ์ด๋ฆ์ **Claude Code Review**์ด๋ฉฐ, ๊ฒฐ๊ณผ๊ฐ [์ธ๋ถ ์ ๋ณด](/docs/ko/code-review-pull-requests#check-run-output)์ ๋์ด๋ฉ๋๋ค. ํ์ธ ์คํ์ ์คํจ๋ก ์ข
๋ฃ๋์ง ์์ต๋๋ค.
94* **์๋ฌด๊ฒ๋ ์ฐพ์ง ๋ชปํ ๊ฒฝ์ฐ**: ํ์ธ ์คํ์ ์ ๋ชฉ์ด **Code review found no issues**๋ก ํ์๋๋ฉฐ, Claude๊ฐ ํ ๋ฆฌํ์คํธ์ ๊ฐ์ ๋ด์ฉ์ ์งง์ ๋ฉ๋ชจ๋ฅผ ๊ฒ์ํฉ๋๋ค
341 95
342 * `--fix`: ๊ฒํ ํ ๊ฒฐ๊ณผ๋ฅผ ์์
ํธ๋ฆฌ์ ์ ์ฉํฉ๋๋ค96Code Review๋ ๋ฆฌ๋ทฐ๊ฐ ์คํ๋ Claude ๋ชจ๋ธ์ ์ ํํ๋ฉฐ, ๊ด๋ฆฌ์ ์ค์ ์์๋ ๋ชจ๋ธ ์ ํ์ ์ ๊ณตํ์ง ์์ต๋๋ค. ๋ฆฌ๋ทฐ๋ฅผ ๋ ์ฒ ์ ํ๊ฒ ๋๋ ๋ ์ฒ ์ ํ๊ฒ ํ๋ ค๋ฉด [๋ฆฌ๋ทฐ ์์ค](#review-levels)์ ๋ณ๊ฒฝํ์ญ์์ค.
343 * `--comment`: GitHub ํ ๋ฆฌํ์คํธ์ ์ธ๋ผ์ธ ๋๊ธ๋ก ๊ฒฐ๊ณผ๋ฅผ ๊ฒ์ํ๊ฑฐ๋, GitLab merge request์ ๋จ์ผ ๋
ธํธ๋ก ๊ฒ์ํฉ๋๋ค
344 * `--post`: `github.com` ํ ๋ฆฌํ์คํธ์ `ultra` ํด๋ผ์ฐ๋ ๊ฒํ ์์ ์์ ๋ํ ์์์ ์๋ฃ๋ ๊ฒฐ๊ณผ๋ฅผ PR์ ๊ฒ์ํ๋ ๊ฒ์ ๋ฏธ๋ฆฌ ์ ํํฉ๋๋ค. [ํ ๋ฆฌํ์คํธ์ ๊ฒฐ๊ณผ ๊ฒ์](/docs/ko/ultrareview#post-findings-to-the-pull-request)๋ฅผ ์ฐธ์กฐํ์ญ์์ค. Claude Code v2.1.227 ์ด์์ด ํ์ํฉ๋๋ค
345 * `--max-findings <n>`, `--max-findings all` ๋๋ `--max-findings default`: ๊ฒํ ์ ์ผ๋ฐ์ ์ธ ์ ํ ๋์ ์ต๋ `n`๊ฐ์ ๊ฒฐ๊ณผ๋ฅผ ๋ณด๊ณ ํ๊ฑฐ๋, `all`์ ์ฌ์ฉํ๋ฉด ๋ชจ๋ ๊ฒฐ๊ณผ๋ฅผ ๋ณด๊ณ ํฉ๋๋ค. ์ดํ ๊ฒํ ๋ `--max-findings default`๋ฅผ ์ ๋ฌํ ๋๊น์ง ์
๋ ฅํ ๊ฐ์ ์ฌ์ฌ์ฉํฉ๋๋ค. Claude Code v2.1.288 ์ด์์ด ํ์ํฉ๋๋ค
346 97
347 GitLab merge request์ ๋ํด `--comment`๋ฅผ ์ ๋ฌํ๋ฉด, Claude Code๋ GitLab์ `glab` CLI๋ฅผ ํตํด ๊ฒฐ๊ณผ๋ฅผ ๊ฒ์ํฉ๋๋ค. Claude Code v2.1.257 ์ด์์ด ํ์ํฉ๋๋ค. `glab`์ด ์ค์น๋์ง ์์ ๊ฒฝ์ฐ, Claude๋ ๋์ ํฐ๋ฏธ๋์ ๊ฒฐ๊ณผ๋ฅผ ์ถ๋ ฅํฉ๋๋ค.98Owner๊ฐ Code Review๋ฅผ ์ผ๋ฉด ๊ฐ ์ ์ฅ์์๋ [๋ฆฌ๋ทฐ ์คํ ์๊ธฐ](/docs/ko/code-review-setup#set-when-reviews-run)์ ๋ํ ์ค์ ์ด ์์ต๋๋ค. ํ ๋ฆฌํ์คํธ๊ฐ ์ด๋ฆด ๋ ํ ๋ฒ, ๋ชจ๋ ํธ์ ํ, ๋๋ ์์ฒญ ์์๋ง ์คํ๋ฉ๋๋ค. ์ด๋ค ์ค์ ์ด๋ ์ ์ฅ์์ ๋ํ ์ฐ๊ธฐ ๊ถํ์ด ์๋ ์ฌ์ฉ์๋ ํ ๋ฆฌํ์คํธ์ `@claude review`๋ฅผ ๋๊ธ๋ก ์์ฑํ์ฌ [๋ฆฌ๋ทฐ๋ฅผ ์์](/docs/ko/code-review-pull-requests#comment-commands)ํ ์ ์์ต๋๋ค.
348 99
349 merge request๋ฅผ URL ๋๋ `!123` ์ฐธ์กฐ๋ก ์ ๋ฌํฉ๋๋ค. Claude Code๋ ์ฒดํฌ์์์ origin์ด `gitlab.com`์ ์์ ๋๋ง ์ซ์ ๋๋ ๋ธ๋์น ์ด๋ฆ์ merge request๋ก ์ทจ๊ธํฉ๋๋ค. ์์ฒด ๊ด๋ฆฌ GitLab ์ธ์คํด์ค์์๋ URL ๋๋ `!123` ํ์์ผ๋ก ์ ๋ฌํฉ๋๋ค.100<h3 id="review-levels">
350 </Step>101 ๋ฆฌ๋ทฐ ์์ค
351
352 <Step title="๊ณ์ ์์
">
353 ๊ฒํ ๋ ์์ฒด ์ปจํ
์คํธ ์๋์ฐ๋ฅผ ๊ฐ์ง ๋ฐฑ๊ทธ๋ผ์ด๋ [subagent](/docs/ko/sub-agents)๋ก ์คํ๋๋ฏ๋ก ๋ํ๋ฅผ ์ฑ์ฐ์ง ์์ต๋๋ค. ๊ฒํ ๊ฐ ์๋ฃ๋๋ฉด ๊ฒฐ๊ณผ๊ฐ ๋ํ์ ๋์ฐฉํฉ๋๋ค.
354 </Step>
355
356 <Step title="๊ฒฐ๊ณผ์ ๋ํด ์กฐ์น">
357 Claude์๊ฒ ๊ฒํ ์์ ๋ฐ๊ฒฌํ ๋ด์ฉ์ ์์ ํ๋๋ก ์์ฒญํฉ๋๋ค. `--fix` ๋๋ `--comment`๋ฅผ ์ ๋ฌํ ๊ฒฝ์ฐ, ๊ฒํ ๊ฐ ์ด๋ฏธ ๊ฒฐ๊ณผ๋ฅผ ์ ์ฉํ๊ฑฐ๋ ๊ฒ์ํ์ต๋๋ค.
358 </Step>
359</Steps>
360
361Claude๋ ํธ์คํธ ์ ํ๋ฆฌ์ผ์ด์
์ด ์๋์ ์ค๋ช
๋ ๊ฒฐ๊ณผ ๋ชฉ๋ก์ ์์ฒญํ๋ ๊ฒฝ์ฐ์๋ ๋ ๊ฐ์ง ์คํ ๋ชจ๋์์ ํ์ ์ ํ
์คํธ๋ก ๊ฒฐ๊ณผ๋ฅผ ๋ณด๊ณ ํฉ๋๋ค:
362
363* ํฐ๋ฏธ๋ ์ธ์
์์, `/code-review`๋ [forked subagent](/docs/ko/skills#run-skills-in-a-subagent)๋ก ๊ฒํ ๋ฅผ ์คํํฉ๋๋ค
364* ํ
์คํธ ๋๋ JSON ์ถ๋ ฅ์ด ์๋ `-p` ์คํ์์
365
366๊ฒฐ๊ณผ ๋ชฉ๋ก์ ์์ฒญํ๋ ํธ์คํธ ์ ํ๋ฆฌ์ผ์ด์
(์: [๋ฐ์คํฌํฑ ์ฑ](/docs/ko/desktop#review-your-code))์์๋, Claude๊ฐ ๋์ [`ReportFindings` ๋๊ตฌ](/docs/ko/tools-reference)๋ฅผ ํตํด ๊ฒํ ์ ๊ฒฐ๊ณผ๋ฅผ ๋ณด๊ณ ํฉ๋๋ค. Claude Code๋ ๋ณด๊ณ ์๋ฅผ ๊ฒฐ๊ณผ ๋ชฉ๋ก์ผ๋ก ๋ ๋๋งํ๋ฉฐ, ๊ฐ ํญ๋ชฉ์ ํ์ผ ์์น, ํ ๋ฌธ์ฅ ์์ฝ ๋ฐ ๊ฒฐ๊ณผ์ ์นดํ
๊ณ ๋ฆฌ ํ๊ทธ๊ฐ ์์ ๋ `correctness`์ ๊ฐ์ ์นดํ
๊ณ ๋ฆฌ ํ๊ทธ๋ฅผ ํ์ํฉ๋๋ค. ํธ์คํธ ์์ฒญ์ ๋ชจ๋ effort ์์ค์์ ์ ์ฉ๋๋ฉฐ Claude Code v2.1.218 ์ด์์ด ํ์ํฉ๋๋ค.
367
368Claude๊ฐ ๋์ค์ ์ธ์
์์ ๋ณด๊ณ ๋ ๊ฒฐ๊ณผ๋ฅผ ์์ ํ ๋, ๋ค์ ๋ณด๊ณ ํ๋ฉฐ, Claude Code๋ ์
๋ฐ์ดํธ๋ ๊ฒฐ๊ณผ ๋ชฉ๋ก์ ๊ฐ ๊ฒฐ๊ณผ๋ฅผ ์์ ๋จ, ๊ฑด๋๋ ๋๋ ๋ณ๊ฒฝ ํ์ ์์์ผ๋ก ํ์ํฉ๋๋ค.
369
370<h3 id="what-the-review-reads-and-edits">
371 ๊ฒํ ๊ฐ ์ฝ๊ณ ํธ์งํ๋ ๋ด์ฉ
372</h3>102</h3>
373 103
374๊ฒํ ๋ ๋ชจ๋ Claude Code ์ธ์
์ฒ๋ผ `CLAUDE.md`๋ฅผ ๋ฐ๋ฅด์ง๋ง, [`REVIEW.md`](#review-md)๋ ์ฝ์ง ์์ต๋๋ค. ๋ฐฑ๊ทธ๋ผ์ด๋ ๊ฒํ ๋ `--fix` ํธ์ง์ ์ธ์
์ [checkpoints](/docs/ko/checkpointing#subagent-edits-not-restored) ์ธ๋ถ์ ์ ์ฉํ๋ฏ๋ก, `/rewind`๋ ์ด๋ฅผ ์ทจ์ํ์ง ์์ต๋๋ค. git์ ์ฌ์ฉํ์ฌ ์ด๋ฅผ ๋๋๋ฆฝ๋๋ค. ๊ฒํ ๊ฐ [ํฌ๊ทธ๋ผ์ด๋์์ ์คํ](#run-in-the-foreground)๋ ๋, ์์ ์ ์ฐจ๋ก ๋์ ์์
ํธ๋ฆฌ๋ฅผ ํธ์งํ๋ฏ๋ก, `/rewind`๋ ํ์๋๋ก ํธ์ง์ ๋ณต์ํฉ๋๋ค.104๋ฆฌ๋ทฐ ์์ค์ ๊ฐ ๋ฆฌ๋ทฐ์ ์ฒ ์ ํจ์ ์ค์ ํ๋ฉฐ, ๋ ์ฒ ์ ํ ๋ฆฌ๋ทฐ์ผ์๋ก ๋น์ฉ์ด ๋ ๋ง์ด ๋ญ๋๋ค:
375 105
376<h3 id="tune-effort-and-arguments">106* **Quick**: ๋ ๊ฐ๋ฒผ์ด ๊ฒํ ์
๋๋ค. ๊ฐ์ฅ ๋น ๋ฅธ ์์ค์ด๋ฉฐ ๋น์ฉ์ด ๊ฐ์ฅ ๋ฎ์ต๋๋ค.
377 ๋
ธ๋ ฅ ๋ฐ ์ธ์ ์กฐ์ 107* **Standard**: ๊น์ด, ์๋, ๋น์ฉ์ ๊ท ํ์ ๋ง์ถฅ๋๋ค. ๊ธฐ๋ณธ ์์ค์
๋๋ค.
378</h3>108* **Deep**: ๊ฐ์ฅ ์ฒ ์ ํ ๊ฒํ ์
๋๋ค. ์๊ฐ์ด ๊ฐ์ฅ ์ค๋ ๊ฑธ๋ฆฌ๊ณ ๋น์ฉ์ด ๊ฐ์ฅ ๋ง์ด ๋ญ๋๋ค.
379 109
380[effort ์์ค](/docs/ko/model-config#adjust-effort-level)์ ์ ๋ฌํ์ฌ ๋ฒ์์ ์ ๋ขฐ๋๋ฅผ ๊ตํํฉ๋๋ค. `low`์์ ๊ฒํ ๋ ๊ฐ์ฅ ํ์ ํ๋ ๊ฒฐ๊ณผ๋ฅผ ๋ณด๊ณ ํ๋ฏ๋ก ๊ฑฐ์ง ์์ฑ์ด ์ ์ต๋๋ค. `medium`๋ถํฐ `max`๊น์ง๋ ๊ฒํ ๊ฐ ๋ฒ์๋ฅผ ํ๋ํฉ๋๋ค.110Owner๋ [์กฐ์ง์ ๋ํด ํ๋์ ์์ค์ ์ ํ](/docs/ko/code-review-setup#set-the-default-review-level)ํ๊ณ , ์ผ์์ ์ธ ์ฝ๋๋ฒ ์ด์ค์๋ Quick, ์ค์ํ ์ฝ๋๋ฒ ์ด์ค์๋ Deep์ฒ๋ผ ๊ฐ๋ณ ์ ์ฅ์์ ๋ณ๋์ ์์ค์ ์ง์ ํ ์ ์์ต๋๋ค. ๊ฐ ๋ฆฌ๋ทฐ์ ๋น์ฉ์ ์ํฅ์ ์ฃผ๋ ๋ค๋ฅธ ์์ธ์ [Code Review ๋น์ฉ ๋ฐ ์ฌ์ฉ๋](/docs/ko/code-review-costs)์ ์ฐธ์กฐํ์ญ์์ค.
381 111
382์์ค์ ์
๋ ฅํ์ง ์์ผ๋ฉด, ๊ฒํ ๋ ์ด์ ์ธ์
์์๋ ์
๋ ฅํ `low`๋ถํฐ `max`๊น์ง์ ๋ง์ง๋ง ์์ค์ ์ฌ์ฌ์ฉํ๋ฉฐ, Claude Code๋ `Reusing high effort, the level you typed last time`๊ณผ ๊ฐ์ ์๋ฆผ์ ํ์ํฉ๋๋ค. `/code-review high`์ ๊ฐ์ ์์ค์ ์
๋ ฅํ์ฌ ๋์ค์ ์คํ์ด ์ฌ์ฌ์ฉํ ๋ด์ฉ์ ๋ณ๊ฒฝํฉ๋๋ค. ๋น๋ํํ `-p` ์คํ์์ ์ ๋ฌํ๋ ์์ค์ ์ด๋ฅผ ์
๋ฐ์ดํธํ์ง ์์ต๋๋ค. `ultra`๋ ๊ธฐ์ต๋ ์์ค์ ์
๋ฐ์ดํธํ๊ฑฐ๋ ์ฌ์ฉํ์ง ์์ต๋๋ค. ์์ค์ ์
๋ ฅํ ์ ์ด ์์ผ๋ฉด, ๊ฒํ ๋ ์ธ์
์ ํ์ฌ ๋
ธ๋ ฅ์ ์ฌ์ฉํฉ๋๋ค. v2.1.223 ์ด์ ์๋ ์์ค ์๋ `/code-review`๋ ํญ์ ์ธ์
์ ํ์ฌ ๋
ธ๋ ฅ์ ์ฌ์ฉํ์ต๋๋ค.112<h3 id="what-a-review-can-access">
383 113 ๋ฆฌ๋ทฐ๊ฐ ์ก์ธ์คํ ์ ์๋ ํญ๋ชฉ
384๋
ธ๋ ฅ ์์ค๊ณผ ํ๋๊ทธ ํ, Claude Code๋ ๋ค์ ๋ ๊ฐ์ง ๋ฐฉ๋ฒ ์ค ํ๋๋ก ์ค์ ๋๋จธ์ง๋ฅผ ์ฝ์ต๋๋ค:
385
386* **`ultra` ์์**: ๋จ์ ๋ชจ๋ ๊ฒ์ด ๊ฒํ ๋์์
๋๋ค. ๋ค๋ฅธ ๋ช
๋ น ์ด๋ฆ์ผ๋ก ์์ํ๋๋ผ๋ ๋ง์ฐฌ๊ฐ์ง์
๋๋ค. `/code-review /fix-issue 123`์ `/fix-issue 123`์ ๋์ ํ
์คํธ๋ก ๊ฒํ ํ๋ฉฐ, ๋ ๋ฒ์งธ [stacked skill](/docs/ko/skills#pass-arguments-to-skills)๋ก `/fix-issue`๋ฅผ ๋ก๋ํ์ง ์์ต๋๋ค. v2.1.218 ์ด์ ์๋ `/code-review` ํ์ ์คํ๋ ๋ช
๋ น์ด ์์ฒด ์คํฌ๋ก ํ์ฅ๋์์ต๋๋ค.
387* **`ultra` ํฌํจ**: Claude Code๋ ๋จ์ผ ๋จ์ด๋ฅผ ๊ธฐ๋ณธ ๋ธ๋์น ๋๋ PR ๋ฒํธ๋ก ์ฝ๊ณ , ๋ธ๋์น ๋๋ PR์ ๋ช
๋ช
ํ์ง ์๋ ๋ ๊ธด ํ
์คํธ๋ฅผ [๊ฒํ ์ ์ฒจ๋ถ๋ ๋
ธํธ](/docs/ko/ultrareview#pass-a-request-in-plain-words)๋ก ๋ณํํฉ๋๋ค. `/code-review ultra check my auth changes`๋ ํ์ฌ ๋ธ๋์น๋ฅผ ๊ฒํ ํ๋ฉฐ, Claude๋ ๊ฒฐ๊ณผ๋ฅผ ๋
ธํธ์ ์ฐ๊ด์ํต๋๋ค.
388
389<h3 id="run-in-the-foreground">
390 ํฌ๊ทธ๋ผ์ด๋์์ ์คํ
391</h3>114</h3>
392 115
393๊ฒํ ๋ ๊ธฐ๋ณธ์ ์ผ๋ก ๋ฐฑ๊ทธ๋ผ์ด๋์์ ์คํ๋ฉ๋๋ค. v2.1.218 ์ด์ ์๋ ๋ํ ๋ด์์ ์คํ๋์์ต๋๋ค. ๋ค์๊ณผ ๊ฐ์ ๊ฒฝ์ฐ์๋ ํฌ๊ทธ๋ผ์ด๋์์ ์คํ๋ฉ๋๋ค:116๋ฆฌ๋ทฐ๋ Owner๊ฐ [์ค์ ์ค์ ์ค์น](/docs/ko/code-review-setup#turn-on-code-review)ํ Claude GitHub App์ ํตํด ์ ์ฅ์์ ์ ๊ทผํฉ๋๋ค:
394 117
395* ์ด์ ๊ฒํ ๊ฐ ์์ง ์งํ ์ค์ธ ๋์ `/code-review`๋ฅผ ๋ค์ ์คํํฉ๋๋ค118* **์คํ ์์น**: Anthropic ์ธํ๋ผ์ ๊ด๋ฆฌํ ํ๊ฒฝ์์ ์คํ๋ฉ๋๋ค. ๋ฆฌ๋ทฐ๋ [์์ฒด ํธ์คํ
ํ๊ฒฝ](/docs/ko/self-hosted-environments)์์ ์คํ๋์ง ์์ต๋๋ค.
396* ๋น๋ํํ ๋ชจ๋์์ ์คํํฉ๋๋ค. `-p` ํ๋๊ทธ ๋๋ Agent SDK๋ฅผ ์ฌ์ฉํฉ๋๋ค. Claude Code๋ ๊ฒํ ๋ฅผ ๊ธฐ๋ค๋ฆฌ๊ณ ์๋ต์ ๊ฒฐ๊ณผ๋ฅผ ํฌํจํฉ๋๋ค. ๋จ, `ultra`๋ ์์ธ๋ก, [ํด๋ผ์ฐ๋ ๊ฒํ ๋ฅผ ๊ธฐ๋ค๋ฆฌ์ง ์์ต๋๋ค](/docs/ko/ultrareview#run-ultrareview-non-interactively)119* **์ฝ๊ณ ์ฐ๋ ํญ๋ชฉ**: ๋ฆฌ๋ทฐ ๋ด์์ ์ ์ฅ์์ ๋ํ ์ก์ธ์ค๋ ์ฝ๊ธฐ ์ ์ฉ์ด๋ฉฐ, ๋ฆฌ๋ทฐ๋ ์ปค๋ฐ์ ํธ์ํ์ง ์์ต๋๋ค. ํ ๋ฆฌํ์คํธ์์๋ ๋๊ธ๊ณผ [ํ์ธ ์คํ](/docs/ko/code-review-pull-requests#check-run-output)์ ๊ฒ์ํ๊ณ , ์์ ์ ์ด์ ๋๊ธ ์ค๋ ๋๋ฅผ ํด๊ฒฐํ๋ฉฐ, ๋๊ธ ๋ช
๋ น์ ๐๋ก ๋ฐ์ํ ์ ์์ต๋๋ค. ์ฑ ์์ฒด๋ ๋ค๋ฅธ Claude ๊ธฐ๋ฅ๊ณผ ๊ณต์ ํ๋ [๋ ๊ด๋ฒ์ํ ๊ถํ ์งํฉ](/docs/ko/github-actions#github-app-permissions)์ ๋ณด์ ํฉ๋๋ค.
397* [`CLAUDE_CODE_DISABLE_BACKGROUND_TASKS`](/docs/ko/env-vars)๋ฅผ `1`๋ก ์ค์ ํฉ๋๋ค. ์ด๋ ๋ค๋ฅธ ๋ชจ๋ ๋ฐฑ๊ทธ๋ผ์ด๋ ์์
๊ธฐ๋ฅ๋ ๋๋๋ค120* **์ฝ๋ ๊ฒ์ฌ ๋ฐฉ์**: ๋ฆฌ๋ทฐ๋ ์ฝ๋๋ฅผ ๋น๋ํ๊ฑฐ๋ ์คํํ์ง ์๊ณ diff์ ์ฃผ๋ณ ์ฝ๋๋ฅผ ์ฝ๋ ๋ฐฉ์์ผ๋ก ์๋ํฉ๋๋ค.
398 121
399<h3 id="let-claude-start-the-review">122<h3 id="who-controls-a-review">
400 Claude๊ฐ ๊ฒํ ๋ฅผ ์์ํ๋๋ก ํ์ฉ123 ๋ฆฌ๋ทฐ๋ฅผ ์ ์ดํ๋ ์ฃผ์ฒด
401</h3>124</h3>
402 125
403Claude๋ ์์ฒด์ ์ผ๋ก `/code-review`๋ฅผ ์์ํ ์ ์์ต๋๋ค. ์ผ๋ฐ ์ธ์ด๋ก ๋ณ๊ฒฝ ์ฌํญ์ ๊ฒํ ํ๋๋ก ์์ฒญํ๋ฉด ๋ช
๋ น์ ์
๋ ฅํ์ง ์๊ณ ๋ ์คํฌ์ ์คํํ ์ ์์ผ๋ฉฐ, `/code-review`๋ฅผ ํ๋กฌํํธ๋ก ํ๋ [scheduled task](/docs/ko/scheduled-tasks)๋ ๊ฒํ ๋ฅผ ์คํํฉ๋๋ค.126* **์์ํ ์ ์๋ ์ฌ๋**: ๋ฆฌ๋ทฐ๊ฐ ์๋์ผ๋ก ์คํ๋๋ ๊ฒฝ์ฐ, ํ ๋ฆฌํ์คํธ๋ฅผ ์ด๊ฑฐ๋ ํธ์ํ๋ฉด ๋ฆฌ๋ทฐ๊ฐ ์์๋ฉ๋๋ค. ๋จ, [์ด์๊ณผ ํฌํฌ๋ ์์ธ](/docs/ko/code-review-pull-requests#review-drafts-and-pull-requests-from-forks)์
๋๋ค. [๋๊ธ ๋ช
๋ น](/docs/ko/code-review-pull-requests#comment-commands)์ ์ ์ฅ์์ ๋ํ ์ฐ๊ธฐ ๊ถํ์ด ์๋ ์ฌ๋์ด ์์ฑํ ๊ฒฝ์ฐ์๋ง ๋ฆฌ๋ทฐ๋ฅผ ์์ํฉ๋๋ค.
404 127* **๋ฐ๋ฅด๋ ์ง์นจ**: base ๋๋ ๊ธฐ๋ณธ ๋ธ๋์น์ `REVIEW.md`๋ฅผ ๋ฐ๋ฅด๋ฉฐ, [ํ ๋ฆฌํ์คํธ ์์ฒด์ ๋ณ๊ฒฝ ์ฌํญ์์๋ ์ ๋ ์ฝ์ง ์์ต๋๋ค](/docs/ko/code-review-customize#which-branch-review-md-is-read-from).
405์์ฝ๋ ์์
์ [ํด๋ผ์ฐ๋ ๊ฒํ ](#escalate-to-ultrareview)๋ฅผ ์์ํ์ง ์์ผ๋ฏ๋ก, `ultra` ์ธ์ ์์ด `/code-review`๋ฅผ ์์ฝํฉ๋๋ค.
406 128
407Claude์ ์์ฝ๋ ์์
์ด ๊ฒํ ๋ฅผ ์์ํ๋ ๊ฒ์ ์ค์งํ๋ฉด์ `/code-review`๋ฅผ ์
๋ ฅํ ์ ์๋๋ก ์ ์งํ๋ ค๋ฉด, `~/.claude/settings.json`๊ณผ ๊ฐ์ [settings file](/docs/ko/settings#where-settings-live)์ [`skillOverrides`](/docs/ko/skills#override-skill-visibility-from-settings) ํญ๋ชฉ์ ์ถ๊ฐํฉ๋๋ค:129<h2 id="compare-ways-to-get-a-review">
408 130 ๋ฆฌ๋ทฐ๋ฅผ ๋ฐ๋ ๋ฐฉ๋ฒ ๋น๊ต
409```json theme={null}131</h2>
410{
411 "skillOverrides": {
412 "code-review": "user-invocable-only"
413 }
414}
415```
416
417v2.1.246 ์ด์ ์๋ Claude๊ฐ Anthropic์์ ๊ฐ์ ธ์จ ๊ธฐ๋ฅ ํ๋๊ทธ๊ฐ ์ผ์ง ๊ฒฝ์ฐ์๋ง ์์ฒด์ ์ผ๋ก `/code-review`๋ฅผ ์์ํ์ต๋๋ค. [๊ธฐ๋ฅ ํ๋๊ทธ๋ฅผ ๊ฐ์ ธ์ค์ง ์๋ ์ธ์
](/docs/ko/env-vars#features-that-need-feature-flag-fetching)์์๋ `/code-review`๊ฐ ์
๋ ฅํ ๋๋ง ์คํ๋์์ผ๋ฉฐ, ์์ฝ๋ `/code-review`๋ Claude์ ์ผ๋ฐ ํ
์คํธ๋ก ๋๋ฌํ์ต๋๋ค.
418
419<h3 id="escalate-to-ultrareview">
420 ultrareview๋ก ํ๋
421</h3>
422
423`/code-review ultra --fix`๋ ํด๋ผ์ฐ๋์์ ๋ ๊น์ [ultrareview](/docs/ko/ultrareview)๋ฅผ ์คํํ ๋ค์, ์ธ์
์ผ๋ก ๋์์ฌ ๋ ๊ฒฐ๊ณผ๋ฅผ ์์
ํธ๋ฆฌ์ ์ ์ฉํฉ๋๋ค.
424
425Ultrareview๋ ์์ฒด ๋ฒ์๋ฅผ ์ฌ์ฉํฉ๋๋ค: ํ์ฌ ๋ธ๋์น์ ์ ์ฅ์์ ๊ธฐ๋ณธ ๋ธ๋์น, ๊ทธ๋ฆฌ๊ณ ์์
ํธ๋ฆฌ์ ์ปค๋ฐ๋์ง ์์ ๋ฐ ์คํ
์ด์ง๋ ๋ณ๊ฒฝ ์ฌํญ์
๋๋ค. ์๊ฒฉ ์ฆ๋ช
๋๋ ํค์ฒ๋ผ ๋ช
๋ช
๋ ํ์ผ์ ์ปค๋ฐ๋์ง ์์ ๋ณ๊ฒฝ ์ฌํญ(์: `.env` ๋ฐ `*.tfvars` ํ์ผ)์ ๊ฒฝ์ฐ, Claude Code๋ [ํด๋ผ์ฐ๋ ์ธ์
์ ๋ก์ปฌ ์ ์ฅ์ ์
๋ก๋](/docs/ko/claude-code-on-the-web#send-local-repositories-without-github)์ ๋ํ ๊ท์น์ ๋ฐ๋ฆ
๋๋ค. ๋ค๋ฅธ ๊ธฐ๋ณธ๊ณผ ๋น๊ตํ๋ ค๋ฉด `/code-review ultra develop`๊ณผ ๊ฐ์ ๋ธ๋์น ์ด๋ฆ์ ์ ๋ฌํฉ๋๋ค.
426
427๋์์ด `github.com` pull request์ธ ๊ฒฝ์ฐ, Claude๊ฐ [์๋ฃ๋ ๊ฒฐ๊ณผ๋ฅผ PR์ ๊ฒ์](/docs/ko/ultrareview#post-findings-to-the-pull-request)ํ๋๋ก GitHub ๊ณ์ ์ ๋๊ธ๋ก ํ ์ ์์ต๋๋ค. Claude Code v2.1.227 ์ด์์ด ํ์ํฉ๋๋ค.
428
429<Note>
430 Ultrareview๋ claude.ai ๊ณ์ ์ผ๋ก ์ธ์ฆ์ด ํ์ํ๋ฉฐ Amazon Bedrock, Google Cloud์ Agent Platform, Microsoft Foundry์์ ์ฌ์ฉํ ์ ์์ผ๋ฉฐ, Zero Data Retention์ด ํ์ฑํ๋์๊ฑฐ๋ [HIPAA ๊ตฌ์ฑ](/docs/ko/hipaa-setup)์ด ์ ์ฉ๋ ์กฐ์ง์์๋ ์ฌ์ฉํ ์ ์์ต๋๋ค. ultrareview๋ฅผ ์ฌ์ฉํ ์ ์์ผ๋ฉด, `/code-review ultra`๋ ๋์ ์ธ์
์์ ๋ก์ปฌ ๊ฒํ ๋ฅผ ์คํํฉ๋๋ค.
431</Note>
432 132
433์คํฌ๋ฆฝํธ ๋๋ CI ์์
์์ ํด๋ผ์ฐ๋ ๊ฒํ ๋ฅผ ์คํํ๋ ค๋ฉด [`claude ultrareview` ํ์ ๋ช
๋ น](/docs/ko/ultrareview#run-ultrareview-non-interactively)์ ์ฌ์ฉํฉ๋๋ค. ์ด ๋ช
๋ น์ ๊ฒฐ๊ณผ๋ฅผ ๊ธฐ๋ค๋ฆฐ ํ stdout์ ์ถ๋ ฅํฉ๋๋ค.133์ฌ์ฉ ๊ฐ๋ฅํ ์ต์
์ ์ฐพ์ผ๋ ค๋ฉด **์ฌ์ฉ ๊ฐ๋ฅ ๋์** ์ด์ ํ๋ ๋ฐ ์ฝ๋ ํธ์คํธ์ ๋น๊ตํ์ฌ ํ์ธํ์ญ์์ค:
434 134
435์ด ๋ช
๋ น์ v2.1.147 ์ด์ ์ `/simplify`๋ก ๋ช
๋ช
๋์์ผ๋ฉฐ, ๊ธฐ๋ณธ์ ์ผ๋ก ์์ ์ฌํญ์ ์ ์ฉํ์ต๋๋ค. `/simplify`๋ ๋ฒ๊ทธ๋ฅผ ์ฐพ์ง ์๊ณ ์์ ์ฌํญ์ ์ ์ฉํ๋ ๋ณ๋์ ์ ๋ฆฌ ์ ์ฉ ๊ฒํ ๋ฅผ ์คํํฉ๋๋ค. ๋ฒ๊ทธ ์ฐพ๊ธฐ๋ฅผ ์ํด `/simplify`๋ฅผ ์คํฌ๋ฆฝํธํ๋ค๋ฉด, `/code-review --fix`๋ก ์ ํํฉ๋๋ค.135| ์ต์
| ๋ฆฌ๋ทฐ๋ฅผ ์์ํ๋ ๋ฐฉ๋ฒ | ์คํ ์์น | ์ฌ์ฉ ๊ฐ๋ฅ ๋์ |
136| :- | :- | :- | :- |
137| [Code Review](#how-reviews-work) | ๊ฐ ์ ์ฅ์ ์ค์ ์ ๋ฐ๋ฅธ ํ ๋ฆฌํ์คํธ ํ๋ ๋๋ `@claude review` ๋๊ธ | Anthropic ์ธํ๋ผ | Owner๊ฐ ์ผ ํ, GitHub ์ ์ฅ์๋ฅผ ๋ณด์ ํ Team ๋๋ Enterprise ํ๋์ ์กฐ์ง |
138| [`/code-review`](/docs/ko/code-review-local) | ๋ธ๋์น์์ ๋ช
๋ น์ ์คํ | Claude Code ์ธ์
| ๋ชจ๋ ํ๋์ ๋ชจ๋ ์ฌ์ฉ์ |
139| [Ultrareview](/docs/ko/ultrareview) | Claude Code์์ ์์ | ํด๋ผ์ฐ๋ ์๋๋ฐ์ค | claude.ai ๊ณ์ ์ผ๋ก ๋ก๊ทธ์ธํด์ผ ํฉ๋๋ค. ์ฌ์ฉํ ์ ์๋ ํ๊ฒฝ์ [Ultrareview](/docs/ko/ultrareview)๋ฅผ ์ฐธ์กฐํ์ญ์์ค |
140| [GitHub Actions](/docs/ko/github-actions) ๋๋ [GitLab CI/CD](/docs/ko/gitlab-ci-cd)๋ฅผ ์ฌ์ฉํ ์์ฒด CI์ Claude | ๋ชจ๋ ํ ๋ฆฌํ์คํธ ๋๋ merge request์ ๊ฐ์ ํ์ดํ๋ผ์ธ ์ด๋ฒคํธ | ์์ฒด CI ๋ฌ๋ | GitHub ๋๋ GitLab์์ Claude API ํค ๋๋ ํด๋ผ์ฐ๋ ์ ๊ณต์
์ฒด ์๊ฒฉ ์ฆ๋ช
์ด ์๋ ๋ชจ๋ ์ฌ์ฉ์ |
141| [์๋ธ์์ด์ ํธ](/docs/ko/sub-agents) ๋๋ [์คํฌ](/docs/ko/skills)๋ก ๋ง๋ ์์ฒด ๋ฆฌ๋ทฐ์ด | ์ธ์
์ค์ ์ฌ์ฉ์ ๋๋ Claude๊ฐ ํธ์ถ | Claude Code๋ฅผ ์คํํ๋ ๋ชจ๋ ์์น | ์ง์ ์์ฑํ๋ ๋ชจ๋ ์ฌ์ฉ์ |
436 142
437<h2 id="related-resources">143<h2 id="related-resources">
438 ๊ด๋ จ ๋ฆฌ์์ค144 ๊ด๋ จ ๋ฆฌ์์ค
439</h2>145</h2>
440 146
441* [Commands](/docs/ko/commands): ๋ก์ปฌ Claude Code ์ธ์
์์ `/code-review`๋ฅผ ์คํํ์ฌ ํธ์ ์ ์ diff๋ฅผ ํ์ธํฉ๋๋ค147* [GitHub Enterprise Server](/docs/ko/github-enterprise-server): ์์ฒด ํธ์คํ
GitHub ์ธ์คํด์ค์์ Code Review๋ฅผ ์ฌ์ฉํฉ๋๋ค
442* [GitHub Actions](/docs/ko/github-actions): ์ฝ๋ ๊ฒํ ์ด์์ ์ฌ์ฉ์ ์ ์ ์๋ํ๋ฅผ ์ํด ์์ ์ GitHub Actions ์ํฌํ๋ก์ฐ์์ Claude๋ฅผ ์คํํฉ๋๋ค148* [GitHub App ๊ถํ](/docs/ko/github-actions#github-app-permissions): Claude GitHub App์ด ์์ฒญํ๋ ์ ์ฒด ๊ถํ ์งํฉ
443* [GitLab CI/CD](/docs/ko/gitlab-ci-cd): GitLab ํ์ดํ๋ผ์ธ์ ์ํ ์์ฒด ํธ์คํ
Claude ํตํฉ149* [How Anthropic secures its AI-native software development lifecycle](https://claude.com/blog/how-anthropic-secures-its-ai-native-software-development-lifecycle): ์๋ํ๋ ๋ฆฌ๋ทฐ๊ฐ Anthropic์ ์์ ํ ๊ฐ๋ฐ ํ๋ก์ธ์ค์ ํ ๊ณ์ธต์ผ๋ก ์ด๋ป๊ฒ ์ ํฉํ์ง์ ๋ํ ์ค๋ช
444* [Memory](/docs/ko/memory): Claude Code ์ ์ฒด์์ `CLAUDE.md` ํ์ผ์ด ์๋ํ๋ ๋ฐฉ์
445* [Analytics](/docs/ko/analytics): ์ฝ๋ ๊ฒํ ์ด์์ผ๋ก Claude Code ์ฌ์ฉ๋์ ์ถ์ ํฉ๋๋ค
446* [How Anthropic secures its AI-native software development lifecycle](https://claude.com/blog/how-anthropic-secures-its-ai-native-software-development-lifecycle): ์๋ํ๋ ๊ฒํ ๊ฐ Anthropic์ ์์ ํ ๊ฐ๋ฐ ํ๋ก์ธ์ค์ ํ ๊ณ์ธต์ผ๋ก ์ด๋ป๊ฒ ์ ํฉํ์ง์ ๋ํ ์ค๋ช