GitHub CLI (gh) превращает Claude Code в напарника по pull request: он сам делает ветку, коммит и открывает PR, а ещё разбирает чужие правки по чек-листу. Разберём связку с нуля — от gh auth login до авторевью в CI.
Самая частая ручная рутина после правок кода — открыть GitHub, создать ветку, написать описание pull request, потом вычитать чей-то PR в веб-интерфейсе. Всё это можно отдать Claude Code, если на машине стоит и залогинен gh — официальная консольная утилита GitHub. Claude вызывает её как обычную команду и делает весь круг: ветка, коммит, push, PR, ревью. Ты остаёшься в чате терминала, не переключаясь на сайт.
Что узнаешь из гайда
gh auth loginЧасть 1 · Понятие
Главное
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 | Коммиты, ветки, история — локально | git commit |
| gh | PR, ревью, issue — на GitHub | gh 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, но необратимое (мерж, удаление веток) оставить под ручное подтверждение:
{
"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 сделает ветку, коммит, push и откроет PR с осмысленным заголовком и описанием — командой не нужно, хватает обычного текста.
Самый частый сценарий: ты закончил фичу и хочешь PR. Не нужно помнить синтаксис — попроси словами, Claude сам подберёт команды:
> закоммить изменения с осмысленным сообщением и открой 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».
Коротко
gh pr create.Часть 4 · Ревью
Обратная сторона — разобрать чужой pull request. Claude вытягивает дифф и комментарии через gh и проходит правки по понятному чек-листу, а не «на глаз». Лучший способ дать ему контекст — встроить вывод команд прямо в задачу через синтаксис !`команда` (в скилах и кастомных командах он подставляет результат команды в промт):
---
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 · Автоматизация
Главное
Можно поднять GitHub Action, который сам комментирует каждый новый PR. Это официальный плагин code-review — ставится одной настройкой в workflow.
Если ревью нужно стабильно на каждый PR (особенно в команде) — выноси его в CI. CI — это автоматический запуск на сервере GitHub при событии, например «открыт pull request». Вот минимальный рабочий workflow:
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 из терминала.gh pr create./pr-review или плагином code-review в GitHub Action; мерж всегда за человеком.Вопросы
gh — это официальная консольная утилита GitHub: она умеет создавать pull request, смотреть диффы, читать комментарии и триажить задачи прямо из терминала. Claude Code не ходит в GitHub сам, он вызывает gh как обычную команду через свой инструмент Bash. Поэтому весь воркфлоу с PR делается тем же текстом в чате, что и правки кода, без переключения на сайт.
Достаточно попросить словами: «закоммить с осмысленным сообщением и открой PR». Claude сам сделает ветку, коммит, push и вызовет gh pr create с заголовком и описанием по сути изменений. Перед этим один раз авторизуйся в gh командой gh auth login, дальше Claude использует уже залогиненный gh без отдельных токенов в чате.
Да, через gh pr diff и gh pr view Claude вытягивает дифф и комментарии PR, а затем разбирает их по чек-листу: структура, обработка ошибок, безопасность, тесты. Можно делать это вручную в чате или собрать GitHub Action с плагином code-review, который автоматически комментирует каждый новый PR. Решение мержить остаётся за человеком — агент даёт разбор, а не право на слияние.
Безопасно, если ограничить права: разреши Bash(gh *) на чтение и создание PR, но необратимые действия (мерж в main, удаление веток, force-push) держи через ручное подтверждение. gh работает под твоей GitHub-сессией, поэтому агент не может больше, чем можешь ты сам. Настройка прав — это allow, ask и deny в settings.json, разобрано в гайде про безопасность и права.
Читать дальше
Прикладной материал, разборы и рабочие приёмы — то, чем пользуюсь сам, без воды. Залетай, там самое полезное.
Зайти в Telegram