> ## 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

> 使用 REVIEW.md 和 CLAUDE.md 調整 Code Review 在您的 pull request 上標記的內容：重新校準嚴重程度、略過路徑、新增檢查，並了解套用的是哪一份副本。

您可以透過將指令提交到儲存庫，來變更 [Code Review](/docs/zh-TW/code-review) 在該儲存庫上標記的內容。這是減少 nit 數量、停止在產生的檔案上留言，或新增團隊重視之規則的方式。請將指令放在以下兩個檔案之一：

* **`CLAUDE.md`**：Claude Code 在每項任務（包括審查）中都會讀取的[專案指令](/docs/zh-TW/memory)。Code Review 會將其作為專案脈絡讀取，並標記違反這些指令的變更。
* **`REVIEW.md`**：僅用於審查的指令。用它來說明您的團隊希望標記哪些內容、以何種嚴重程度標記，以及要略過哪些內容。

在儲存庫根目錄新增 `REVIEW.md` 並合併。接著[保護您的預設分支](#which-branch-review-md-is-read-from)。

<Note>
  若要變更審查的詳盡程度或執行時機，請要求 Owner 變更[審查等級](/docs/zh-TW/code-review-setup#set-the-default-review-level)或 [**Review runs** 設定](/docs/zh-TW/code-review-setup#set-when-reviews-run)。
</Note>

<h2 id="use-claude-md-for-project-wide-rules">
  使用 CLAUDE.md 設定全專案規則
</h2>

Code Review 會將儲存庫中的 `CLAUDE.md` 檔案作為專案脈絡讀取。違反其中任一規則的變更，會成為一項發現，並依問題套用適當的[嚴重程度等級](/docs/zh-TW/code-review-pull-requests#severity-levels)。

審查會讀取儲存庫根目錄的 `CLAUDE.md`，以及每個變更檔案之上層目錄中的 `CLAUDE.md` 檔案。當 pull request 變更某個子目錄路徑下的檔案時，就會讀取該子目錄的 `CLAUDE.md`。

<h2 id="use-review-md-for-review-only-rules">
  使用 REVIEW\.md 設定僅限審查的規則
</h2>

`REVIEW.md` 是位於儲存庫根目錄的檔案，可依您的儲存庫量身調整 Code Review。您也可以在子目錄中新增 `REVIEW.md`，在根目錄檔案之外，針對該路徑下的變更新增檢查。

負責找出問題的 agent 與負責驗證問題的 agent，都會收到其內容作為您儲存庫的審查指令，並搭配 Code Review 的預設審查指引。撰寫最終審查的步驟，會在確定嚴重程度與撰寫摘要之前參考此檔案。

以下範例配置包含一個根目錄檔案和一個子目錄檔案：

```text theme={null}
your-repo/
├── REVIEW.md            # Root file
├── services/
│   └── billing/
│       └── REVIEW.md    # Adds checks for changes under services/billing/
└── src/
```

在依賴子目錄檔案之前，請先保護您的預設分支，並檢查[您的分支設定下審查會讀取哪些內容](#what-a-review-reads-for-each-branch-setup)。

<Note>
  Code Review 服務與本機的 [`/code-review` 命令](/docs/zh-TW/code-review-local)是兩個獨立的工具，讀取的檔案也不同。服務會同時讀取 `CLAUDE.md` 和 `REVIEW.md`。`/code-review` 命令是在您自己電腦上的 Claude Code 工作階段中執行，它會讀取您的 `CLAUDE.md` 檔案，但不會讀取 `REVIEW.md`。請將希望在兩處都套用的指引放在 `CLAUDE.md` 中，並將 `REVIEW.md` 保留給 pull request 審查專屬的規則。
</Note>

<h3 id="example-review-md">
  REVIEW\.md 範例
</h3>

此 `REVIEW.md` 為後端服務重新校準嚴重程度、限制 nit 數量、略過產生的檔案，並新增儲存庫專屬的檢查。

```markdown theme={null}
# Review instructions

## What Important means here

Reserve Important for findings that would break behavior, leak data,
or block a rollback: incorrect logic, unscoped database queries, PII
in logs or error messages, and migrations that aren't backward
compatible. Style, naming, and refactoring suggestions are Nit at
most.

## Cap the nits

Report at most five Nits per review.

## Do not report

- Anything CI already enforces: lint, formatting, type errors
- Generated files under `src/gen/` and any `*.lock` file
- Test-only code that intentionally violates production rules

## Always check

- New API routes have an integration test
- Log lines don't include email addresses, user IDs, or request bodies
- Database queries are scoped to the caller's tenant
```

<h3 id="choose-what-to-write-in-review-md">
  決定在 REVIEW\.md 中撰寫的內容
</h3>

`REVIEW.md` 是自由格式的 Markdown，可變更審查所發現與回報的內容。它不會變更審查的格式。找出您遇到的問題，然後新增如下所示的指令。[範例](#example-review-md)使用了前四項。

* **錯誤的項目被標記為 Important**：為您的儲存庫重新定義 🔴 Important 的意義。預設校準以正式環境程式碼為目標，而文件儲存庫、設定儲存庫或原型可能需要範圍窄得多的定義。請說明哪些類別的發現屬於 Important，哪些最多只算 Nit。您也可以提高等級，例如將任何違反 `CLAUDE.md` 的情況視為 Important。
* **nit 太多**：限制單次審查張貼的 🟡 Nit 留言數量。例如「最多回報五個 nit」這樣的上限，能讓審查保持可據以行動。
* **在產生的檔案或 CI 已檢查的項目上留言**：列出 Claude 應略過發現的路徑與發現類別。常見的候選項目包括產生的程式碼、lockfile 和 vendored 相依套件，以及 CI 已強制執行的任何項目，例如 linting 或拼字檢查。對於值得某種程度審查但不需完整檢視的路徑，請改為設定較高的門檻：「在 `scripts/` 中，僅在幾乎確定且嚴重時才回報。」
* **團隊規則未被檢查**：新增您希望在每個 pull request 上標記的規則，例如「新的 API 路由必須有整合測試」。
* **結果證明有誤的發現**：要求某類發現在張貼前必須提供證據。例如，「行為相關的主張需要在原始碼中提供 `file:line` 引用，而非從命名推論」，可減少誤報，避免作者因此多花一次往返。

其中部分指令[需要根目錄檔案位於受保護的預設分支上](#which-branch-review-md-is-read-from)。

請讓 `REVIEW.md` 只包含會改變審查行為的指令，並將一般專案脈絡留在 `CLAUDE.md` 中。

<h3 id="which-branch-review-md-is-read-from">
  從哪個分支讀取 REVIEW\.md
</h3>

Code Review 會從 pull request 的基礎分支或預設分支讀取 `REVIEW.md`，絕不會從 pull request 本身的變更中讀取。若要變更審查行為，請先合併 `REVIEW.md` 的變更。

請將 `REVIEW.md` 保留在預設分支上，並保護該分支。當審查讀取的是受保護預設分支上的副本（即下表第一列）時，會遵循根目錄檔案中的下列指令：

* 降低發現的嚴重程度
* 排除路徑、檔案或問題類別
* 限制 nit 留言數量

<h4 id="what-counts-as-branch-protection">
  哪些設定算是分支保護
</h4>

Code Review 將下列設定視為保護：

* **預設分支**：傳統分支保護規則或 ruleset
* **任何其他分支**：僅限 ruleset

當 ruleset 限制更新，或要求 pull request 至少取得一次核准時，即視為保護。如果它要求 pull request，還必須在有新推送時撤銷該核准，或要求核准須在最後一次推送之後取得。

<h4 id="what-a-review-reads-for-each-branch-setup">
  各種分支設定下審查會讀取的內容
</h4>

請在下表第一欄中找出您儲存庫的情況。

| 分支保護 | 讀取的副本 | 讀取的檔案 |
| :- | :- | :- |
| 預設分支受保護，且 pull request 的目標是預設分支，或是未受任何 ruleset 保護的分支 | 預設分支 | 根目錄與子目錄檔案 |
| pull request 的目標是受 ruleset 保護的其他分支 | 該基礎分支 | 根目錄與子目錄檔案 |
| 預設分支未受保護，且基礎分支沒有任何一種保護規則 | 預設分支 | 根目錄檔案 |
| Code Review 無法確認保護設定。這包括預設分支未受保護、而基礎分支僅有傳統規則的情況 | 無 | 無 |

如果檢查執行提及 `REVIEW.md`，請參閱[檢查執行提及 REVIEW.md](/docs/zh-TW/code-review-troubleshooting#the-check-run-mentions-review-md)。

<h2 id="related-resources">
  相關資源
</h2>

* [Code Review](/docs/zh-TW/code-review)：此服務是什麼，以及審查如何執行
* [在 pull request 上閱讀與請求審查](/docs/zh-TW/code-review-pull-requests#severity-levels)：各嚴重程度等級的意義，以及發現如何呈現
* [設定 Code Review](/docs/zh-TW/code-review-setup)：由 Owner 設定的審查等級與審查執行時機
* [使用 `/code-review` 在本機審查](/docs/zh-TW/code-review-local)：`/code-review` 命令、其引數與 effort 等級
* [記憶](/docs/zh-TW/memory)：`CLAUDE.md` 檔案在 Claude Code 中的運作方式
