Открытый гайд · ИИ-офис

Claude Code + GitHub:PR и ревью через gh

GitHub CLI (gh) превращает Claude Code в напарника по pull request: он сам делает ветку, коммит и открывает PR, а ещё разбирает чужие правки по чек-листу. Разберём связку с нуля — от gh auth login до авторевью в CI.

@kir.player
~12 минут
июнь 2026

Самая частая ручная рутина после правок кода — открыть GitHub, создать ветку, написать описание pull request, потом вычитать чей-то PR в веб-интерфейсе. Всё это можно отдать Claude Code, если на машине стоит и залогинен gh — официальная консольная утилита GitHub. Claude вызывает её как обычную команду и делает весь круг: ветка, коммит, push, PR, ревью. Ты остаёшься в чате терминала, не переключаясь на сайт.

Что узнаешь из гайда

  • Что такое gh CLI и почему через него Claude работает с GitHub
  • Как связать инструменты за один gh auth login
  • Как агент сам создаёт pull request одной фразой
  • Как поручить Claude ревью чужого PR по чек-листу
  • Когда авторевью лишнее — честная граница

Часть 1 · Понятие

Зачем тут gh CLI

Главное

Claude Code не умеет ходить в GitHub напрямую. Он работает с ним через утилиту gh, которую вызывает как любую другую команду в терминале.

Расшифруем. gh (произносится «джи-эйч») — это GitHub CLI, официальная программа от GitHub для работы из командной строки. Она умеет то же, что веб-интерфейс: создавать pull request (запрос на слияние твоих правок в основную ветку), смотреть диффы, читать и писать комментарии, закрывать issue (задачи в трекере). Claude Code — агент в терминале; у него есть инструмент Bash, которым он запускает команды. Связка простая: Claude пишет gh pr create, как ты бы написал руками, и GitHub получает PR.

Важно не путать git и gh. git — это система контроля версий: коммиты, ветки, история — всё локально. gh — надстройка именно над сервисом GitHub: PR, ревью, issue. Базовый безопасный воркфлоу с ветками и откатами разобран отдельно в гайде про Claude Code и Git — здесь же мы поверх него добавляем работу с самим GitHub.

git и gh — кто за что

ИнструментЗа что отвечаетПример команды
gitКоммиты, ветки, история — локальноgit commit
ghPR, ревью, issue — на GitHubgh pr create

Часть 2 · Установка

Связываем за один логин

Главное

Один раз ставишь gh и логинишься через gh auth login. После этого Claude использует твою же GitHub-сессию — отдельные токены в чат вставлять не нужно.

Сначала проверь, установлен ли gh, и авторизуйся. Это делается руками один раз, не в чате Claude — чтобы токен авторизации не светился в истории разговора:

терминал · разовая настройка
# Проверяем, что gh установлен (если нет — ставим через пакетный менеджер)
gh --version

# Логинимся в GitHub: gh откроет браузер и сохранит сессию
gh auth login

# Проверяем, что авторизация прошла
gh auth status

Дальше дай Claude право пользоваться gh. Самый аккуратный путь — разрешить чтение и создание PR, но необратимое (мерж, удаление веток) оставить под ручное подтверждение:

~/.claude/settings.json · права
{
  "permissions": {
    // Разрешаем агенту читать и создавать PR через gh
    "allow": ["Bash(gh pr create:*)", "Bash(gh pr diff:*)", "Bash(gh pr view:*)"],
    // Опасное — только через явное подтверждение человека
    "ask": ["Bash(gh pr merge:*)", "Bash(gh repo delete:*)"]
  }
}

Важно

gh действует под твоей учётной записью, поэтому агент не может больше, чем можешь ты сам. Но «не больше тебя» — это всё ещё мерж в main и удаление веток. Эти действия держи на ask. Подробно про allow / ask / deny — в гайде про безопасность и права.


Часть 3 · Pull request

Claude создаёт PR сам

Главное

После правок достаточно одной фразы. Claude сделает ветку, коммит, push и откроет PR с осмысленным заголовком и описанием — командой не нужно, хватает обычного текста.

Самый частый сценарий: ты закончил фичу и хочешь PR. Не нужно помнить синтаксис — попроси словами, Claude сам подберёт команды:

чат Claude Code · обычная просьба
> закоммить изменения с осмысленным сообщением и открой pull request

# Под капотом Claude сделает примерно это:
#   git checkout -b feat/login-rate-limit
#   git add -A && git commit -m "..."
#   git push -u origin feat/login-rate-limit
#   gh pr create --title "..." --body "..."

Заголовок и тело PR Claude пишет по сути изменений, а не «Update files». Если хочешь свой шаблон описания (чек-лист, ссылка на задачу) — скажи об этом в той же фразе: «в описании PR добавь раздел „Что проверить“ и ссылку на issue #42».

Коротко

  • Просишь словами — Claude сам делает ветку, коммит, push и gh pr create.
  • Заголовок и описание PR — по сути правок, а не «Update files».
  • Свой шаблон описания задаёшь той же фразой в чате.

Часть 4 · Ревью

Ревью чужого PR по чек-листу

Обратная сторона — разобрать чужой pull request. Claude вытягивает дифф и комментарии через gh и проходит правки по понятному чек-листу, а не «на глаз». Лучший способ дать ему контекст — встроить вывод команд прямо в задачу через синтаксис !`команда` (в скилах и кастомных командах он подставляет результат команды в промт):

~/.claude/commands/pr-review.md · кастомная команда
---
description: Разбирает pull request по чек-листу
allowed-tools: Bash(gh *)
---

## Контекст PR
- Дифф: !`gh pr diff`
- Комментарии: !`gh pr view --comments`
- Изменённые файлы: !`gh pr diff --name-only`

## Задача
Разбери этот PR: структура, обработка ошибок, безопасность, тесты.
Дай список замечаний по приоритету. Не предлагай мерж — это решает человек.

Вызов /pr-review подставит в промт живой дифф открытого PR, и Claude разберёт его, как ревьюер. Это тот же чек-лист, что в гайде про отладку с Claude Code: искать корневую причину, а не латать симптом. Про создание своих команд — в гайде про кастомные slash-команды.

Агент не мержит за тебя. Он даёт разбор, а кнопку «Merge» жмёшь ты.


Часть 5 · Автоматизация

Авторевью каждого PR в CI

Главное

Можно поднять GitHub Action, который сам комментирует каждый новый PR. Это официальный плагин code-review — ставится одной настройкой в workflow.

Если ревью нужно стабильно на каждый PR (особенно в команде) — выноси его в CI. CI — это автоматический запуск на сервере GitHub при событии, например «открыт pull request». Вот минимальный рабочий workflow:

.github/workflows/code-review.yml
name: Code Review
on:
  pull_request:
    types: [opened, synchronize] # на открытие PR и на каждый новый коммит
jobs:
  review:
    runs-on: ubuntu-latest
    steps:
      - uses: anthropics/claude-code-action@v1
        with:
          anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}
          plugin_marketplaces: "https://github.com/anthropics/claude-code.git"
          plugins: "code-review@claude-code-plugins"
          prompt: "/code-review:code-review ${{ github.repository }}/pull/${{ github.event.pull_request.number }}"

Когда не нужно

Не вешай авторевью на каждый чих в соло-проекте: на пет-проекте без команды это лишний шум и расход токенов. CI-ревью окупается там, где PR много и важна стабильная планка качества. Для разовой проверки хватает ручной команды /pr-review из прошлого раздела.

Пример воркфлоу

Соло: правишь код → «открой PR» → сам читаешь дифф через /pr-review → мержишь. Команда: разработчик открывает PR → Action автоматически оставляет разбор → ревьюер видит замечания заранее и тратит время только на спорное.

Коротко

  • gh — мост между Claude Code и GitHub: PR, ревью, issue из терминала.
  • «Открой PR» словами → Claude сам делает ветку, коммит и gh pr create.
  • Ревью — командой /pr-review или плагином code-review в GitHub Action; мерж всегда за человеком.

Вопросы

Частые вопросы

Что такое gh CLI и зачем он Claude Code?

gh — это официальная консольная утилита GitHub: она умеет создавать pull request, смотреть диффы, читать комментарии и триажить задачи прямо из терминала. Claude Code не ходит в GitHub сам, он вызывает gh как обычную команду через свой инструмент Bash. Поэтому весь воркфлоу с PR делается тем же текстом в чате, что и правки кода, без переключения на сайт.

Как заставить Claude Code создать pull request?

Достаточно попросить словами: «закоммить с осмысленным сообщением и открой PR». Claude сам сделает ветку, коммит, push и вызовет gh pr create с заголовком и описанием по сути изменений. Перед этим один раз авторизуйся в gh командой gh auth login, дальше Claude использует уже залогиненный gh без отдельных токенов в чате.

Может ли Claude Code ревьюить чужой pull request?

Да, через gh pr diff и gh pr view Claude вытягивает дифф и комментарии PR, а затем разбирает их по чек-листу: структура, обработка ошибок, безопасность, тесты. Можно делать это вручную в чате или собрать GitHub Action с плагином code-review, который автоматически комментирует каждый новый PR. Решение мержить остаётся за человеком — агент даёт разбор, а не право на слияние.

Безопасно ли давать Claude Code доступ к gh?

Безопасно, если ограничить права: разреши Bash(gh *) на чтение и создание PR, но необратимые действия (мерж в main, удаление веток, force-push) держи через ручное подтверждение. gh работает под твоей GitHub-сессией, поэтому агент не может больше, чем можешь ты сам. Настройка прав — это allow, ask и deny в settings.json, разобрано в гайде про безопасность и права.

Читать дальше

Соседние гайды

Telegram про вайбкодинг и ИИ

Прикладной материал, разборы и рабочие приёмы — то, чем пользуюсь сам, без воды. Залетай, там самое полезное.

Зайти в Telegram