EnglishРусский中文

Зачем это нужно#

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 variablesActionsNew 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: Проверяем работу#

  1. Создайте новый issue в репозитории
  2. Напишите в нём: @claude Расскажи, что делает этот проект
  3. Подождите — 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 — безопасность соблюдена