Зачем это нужно#
CI/CD (Continuous Integration / Continuous Delivery) — это практика автоматической проверки и публикации кода. Представьте конвейер на заводе: каждый раз, когда вы вносите изменения, автоматически запускаются проверки.
GitHub Actions — это встроенная система автоматизации GitHub. С помощью Claude Code GitHub Actions вы можете:
- 🤖 Автоматически проверять пул-реквесты (PR)
- 🏷️ Сортировать (триажить) issues по категориям
- 💻 Создавать PR из описания задачи
- 📝 Генерировать код по комментарию
@claude
Достаточно написать @claude в комментарии к issue или PR — и Claude начнёт работать!
Как это работает#
Вы пишете @claude в PR → GitHub Actions запускает Claude Code →
Claude анализирует код → Claude оставляет комментарий или создаёт измененияПошаговая настройка#
Шаг 1: Установка через Claude Code (быстрый способ)#
Откройте Claude Code в терминале и выполните:
/install-github-appЭта команда проведёт вас через весь процесс настройки.
Шаг 2: Ручная настройка#
Если автоматическая установка не сработала:
2.1. Установите GitHub App#
Перейдите по ссылке github.com/apps/claude и установите приложение для вашего репозитория.
Приложению нужны разрешения:
- Contents — чтение и запись (для изменения файлов)
- Issues — чтение и запись (для ответов на issues)
- Pull requests — чтение и запись (для создания PR)
2.2. Добавьте API-ключ#
Перейдите в настройки репозитория → Secrets and variables → Actions → New repository secret.
Создайте секрет с именем ANTHROPIC_API_KEY и вставьте ваш ключ API от Anthropic.
2.3. Создайте файл workflow#
Создайте файл .github/workflows/claude.yml в вашем репозитории:
name: Claude Code
on:
# Срабатывает на комментарии в issues и PR
issue_comment:
types: [created]
# Срабатывает при открытии PR и пул-реквест ревью
pull_request_review:
types: [submitted]
# Срабатывает при открытии или изменении issues
issues:
types: [opened, edited]
jobs:
claude:
# Запускаем только если упомянут @claude
if: |
contains(github.event.comment.body, '@claude') ||
contains(github.event.review.body, '@claude') ||
contains(github.event.issue.body, '@claude')
runs-on: ubuntu-latest
permissions:
contents: write
pull-requests: write
issues: write
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
fetch-depth: 1
- name: Run Claude Code
uses: anthropics/claude-code-action@v1
with:
anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}Шаг 3: Проверяем работу#
- Создайте новый issue в репозитории
- Напишите в нём:
@claude Расскажи, что делает этот проект - Подождите — Claude проанализирует код и ответит комментарием
Примеры использования#
Автоматическое ревью PR#
Напишите в комментарии к PR:
@claude Проверь этот PR на ошибки и проблемы безопасностиСоздание кода из описания#
Создайте issue с текстом:
@claude Создай функцию для валидации email-адресов
и добавь тесты. Создай PR с изменениями.Claude создаст код, тесты и откроет PR.
Триаж issues#
@claude Проанализируй этот баг-репорт и предложи план исправления.
Определи приоритет и присвой метки.Расширенные настройки#
Ограничение инструментов#
Вы можете ограничить, какие инструменты Claude может использовать:
- name: Run Claude Code
uses: anthropics/claude-code-action@v1
with:
anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}
claude_args: "--allowedTools Read,Edit,Bash"Добавление инструкций#
- name: Run Claude Code
uses: anthropics/claude-code-action@v1
with:
anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}
claude_args: "--append-system-prompt 'Всегда пиши комментарии на русском языке'"Ограничение количества шагов#
- name: Run Claude Code
uses: anthropics/claude-code-action@v1
with:
anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}
claude_args: "--max-turns 10"Файл CLAUDE.md#
Claude Code автоматически читает файл CLAUDE.md в корне репозитория. Используйте его, чтобы дать Claude инструкции по проекту:
# CLAUDE.md
## Правила проекта
- Код пишем на TypeScript
- Тесты обязательны для каждой функции
- Коммиты в формате Conventional Commits
- Комментарии на русском языке
## Структура проекта
- src/ — исходный код
- tests/ — тесты
- docs/ — документацияБезопасность#
- ✅ Ваш код остаётся на серверах GitHub — он не отправляется куда-либо ещё
- ✅ API-ключ хранится в зашифрованных секретах GitHub
- ✅ Claude работает с теми же правами, что вы указали в
permissions - ⚠️ Будьте осторожны с
contents: write— это позволяет Claude изменять файлы
Итоги урока#
- GitHub Actions позволяет автоматизировать работу Claude Code в вашем репозитории
- Настройка занимает 3 шага: GitHub App, API-ключ, файл workflow
- Claude реагирует на упоминание
@claudeв issues и PR - Файл
CLAUDE.mdзадаёт правила работы для Claude в проекте - Можно ограничивать инструменты, количество шагов и добавлять инструкции
- Код остаётся на серверах GitHub — безопасность соблюдена