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

> Настройте, что Code Review отмечает в ваших pull request, с помощью REVIEW.md и CLAUDE.md: перекалибруйте серьёзность, исключите пути, добавьте проверки и узнайте, какая копия применяется.

Вы можете изменить, что [Code Review](/docs/ru/code-review) отмечает в вашем репозитории, закоммитив в него инструкции. Так можно сократить количество мелких замечаний, отключить комментарии к сгенерированным файлам или добавить правило, важное для вашей команды. Поместите их в один из двух файлов:

* **`CLAUDE.md`**: [инструкции проекта](/docs/ru/memory), которые Claude Code читает для каждой задачи, включая ревью. Code Review читает их как контекст проекта и отмечает изменения, которые их нарушают.
* **`REVIEW.md`**: инструкции только для ревью. Используйте его, чтобы указать, что ваша команда хочет отмечать, с какой серьёзностью и что пропускать.

Добавьте `REVIEW.md` в корень репозитория и выполните слияние. Затем [защитите ветку по умолчанию](#which-branch-review-md-is-read-from).

<Note>
  Чтобы изменить тщательность ревью или момент их запуска, попросите Owner изменить [уровень ревью](/docs/ru/code-review-setup#set-the-default-review-level) или [настройку **Review runs**](/docs/ru/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/ru/code-review-pull-requests#severity-levels), который соответствует проблеме.

Ревью читает `CLAUDE.md` в корне репозитория и файлы `CLAUDE.md` в родительских каталогах каждого изменённого файла. `CLAUDE.md` подкаталога читается, когда pull request изменяет файл по этому пути.

<h2 id="use-review-md-for-review-only-rules">
  Используйте REVIEW\.md для правил, относящихся только к ревью
</h2>

`REVIEW.md` — это файл в корне репозитория, который адаптирует Code Review к вашему репозиторию. Вы также можете добавить `REVIEW.md` в подкаталог, чтобы добавить проверки для изменений по этому пути в дополнение к корневому файлу.

Агенты, которые находят проблемы, и агенты, которые их проверяют, получают его содержимое как инструкции ревью вашего репозитория вместе со стандартными рекомендациями 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/ru/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` перекалибровывает серьёзность для бэкенд-сервиса, ограничивает количество мелких замечаний, пропускает сгенерированные файлы и добавляет проверки, специфичные для репозитория.

```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 для вашего репозитория. Калибровка по умолчанию ориентирована на production-код, а для репозитория документации, репозитория конфигурации или прототипа может потребоваться гораздо более узкое определение. Укажите, какие классы замечаний являются Important, а какие — максимум Nit. Можно также повышать серьёзность, например считать любое нарушение `CLAUDE.md` как Important.
* **Слишком много мелких замечаний**: ограничьте количество комментариев 🟡 Nit, которые публикует одно ревью. Ограничение вроде «сообщать не более пяти мелких замечаний» сохраняет ревью практичными.
* **Комментарии к сгенерированным файлам или к тому, что уже проверяет CI**: перечислите пути и категории замечаний, для которых Claude должен пропускать замечания. Типичные кандидаты — сгенерированный код, lock-файлы и вендорные зависимости, а также всё, что уже обеспечивает ваш CI, например линтинг или проверка орфографии. Для путей, которые требуют некоторого ревью, но не полного анализа, задайте более высокую планку: «в `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 читает `REVIEW.md` из базовой ветки pull request или из ветки по умолчанию, но никогда из изменений самого pull request. Чтобы изменить поведение ревью, сначала выполните слияние изменения `REVIEW.md`.

Храните `REVIEW.md` в ветке по умолчанию и защитите эту ветку. Когда ревью читает копию из защищённой ветки по умолчанию (первая строка таблицы ниже), оно соблюдает следующие инструкции из корневого файла:

* Понижение серьёзности замечания
* Исключение путей, файлов или классов проблем
* Ограничение количества мелких замечаний

<h4 id="what-counts-as-branch-protection">
  Что считается защитой ветки
</h4>

Code Review считает защитой следующие настройки:

* **Ветка по умолчанию**: классическое правило защиты ветки или ruleset
* **Любая другая ветка**: только ruleset

Ruleset засчитывается, если он ограничивает обновления или требует pull request как минимум с одним одобрением. Если он требует pull request, он также должен отзывать это одобрение при новом push или требовать, чтобы одобрение было получено после последнего push.

<h4 id="what-a-review-reads-for-each-branch-setup">
  Что читает ревью при каждой настройке веток
</h4>

Найдите ситуацию вашего репозитория в первом столбце таблицы ниже.

| Защита ветки | Читаемая копия | Читаемые файлы |
| :- | :- | :- |
| Ветка по умолчанию защищена, и pull request направлен в неё или в ветку, не защищённую ни одним ruleset | Ветка по умолчанию | Корневой файл и файлы подкаталогов |
| Pull request направлен в другую ветку, защищённую ruleset | Эта базовая ветка | Корневой файл и файлы подкаталогов |
| Ветка по умолчанию не защищена, и у базовой ветки нет правила защиты ни одного из типов | Ветка по умолчанию | Корневой файл |
| Code Review не может подтвердить настройки защиты. Сюда относится незащищённая ветка по умолчанию с базовой веткой, у которой есть только классическое правило | Нет | Нет |

Если в check run упоминается `REVIEW.md`, см. [The check run mentions REVIEW.md](/docs/ru/code-review-troubleshooting#the-check-run-mentions-review-md).

<h2 id="related-resources">
  Связанные ресурсы
</h2>

* [Code Review](/docs/ru/code-review): что представляет собой сервис и как выполняется ревью
* [Чтение и запрос ревью в pull request](/docs/ru/code-review-pull-requests#severity-levels): что означает каждый уровень серьёзности и как отображаются замечания
* [Настройка Code Review](/docs/ru/code-review-setup): уровень ревью и момент запуска ревью, которые задаёт Owner
* [Локальное ревью с помощью `/code-review`](/docs/ru/code-review-local): команда `/code-review`, её аргументы и уровни effort
* [Память](/docs/ru/memory): как работают файлы `CLAUDE.md` в Claude Code
