Неинтерактивный режим, CI и безопасная автоматизация

Claude Code можно запускать программно с флагом -p или --print, получать структурированный ответ и включать в CI.

Краткий ответ

Claude Code можно запускать программно с флагом -p или --print, получать структурированный ответ и включать в CI. Автоматизация убирает интерактивный контроль, поэтому требует более строгих входов, разрешений, лимитов и проверки результата, чем локальный диалог.

Claude Code можно запускать программно с флагом -p или --print, получать структурированный ответ и включать в CI. Автоматизация убирает интерактивный контроль, поэтому требует более строгих входов, разрешений, лимитов и проверки результата, чем локальный диалог.

Базовый неинтерактивный запуск

claude -p "What does the auth module do?"

Для машинной обработки доступен JSON:

claude -p "Summarize this project" --output-format json

--output-format json возвращает результат, session ID и метаданные. stream-json предназначен для потока событий. Для валидируемого контракта можно совместить JSON-вывод с --json-schema.

Воспроизводимое окружение

Обычный claude -p загружает применимые CLAUDE.md, hooks, Skills, плагины, MCP и auto memory. Для CI документация рекомендует рассмотреть --bare: он пропускает auto-discovery и снижает зависимость от пользовательской конфигурации. Тогда всё необходимое нужно явно передать и настроить в pipeline.

Версии, рабочая директория и набор входных файлов должны быть фиксированы.

Минимальные разрешения

--allowedTools позволяет ограниченно разрешить требуемые инструменты. Не выдавайте CI-агенту write-доступ, если задача только анализирует diff. Для создания коммита официальная документация показывает узко перечисленные Git-команды, а не общий неограниченный Bash.

Токены храните в secrets CI и ограничивайте их scope. Недоверенный pull request не должен автоматически получать production credentials.

GitHub Actions

Интеграция может реагировать на issue или PR, анализировать код и готовить изменения. Workflow обязан явно определять trigger, права GITHUB_TOKEN, допустимых инициаторов и команды проверки. Для fork PR особенно важна граница между недоверенным кодом и секретами.

Практический чек-лист pipeline

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

claude -p автоматически безопасен для CI?

Нет. Неинтерактивность не устраняет доступ к инструментам и недоверенный ввод. Необходимы узкие права, изоляция и проверка результата.

Зачем нужен --bare?

Он исключает автоматическую загрузку пользовательских и проектных расширений, помогая получить одинаковое окружение на разных runner. Нужный контекст тогда задаётся явно.

Можно ли продолжить программный сеанс?

Да. Поддерживаются --continue для последнего разговора и --resume с session ID. В параллельной автоматизации идентификатор следует сохранять явно.

Что важно запомнить

https://yadro-code.ru/lessons/without-university/claude-code-workflows/claude-code-17