Блок 8

Хуки — автоматизация рабочего процесса

Автоматизируйте рабочий процесс Claude Code с помощью хуков — автоформатирование при сохранении, блокировка опасных правок, уведомления и встроенные предохранители для каждой сессии.

~35 мин (10 мин презентация + 25 мин практика)
Hooks in settings.json Event types (PreToolUse, PostToolUse, SessionStart, Stop) Exit codes (0 = proceed, 2 = block) Verbose mode (Ctrl+O)

Обучаем Claude рефлексам

В предыдущих семи блоках каждое действие Claude было тем, о чём вы явно попросили. «Добавь тёмную тему.» «Проверь K8s-манифесты.» «Сгенерируй скрипт провизионирования.» Это разговорная модель — вы просите, Claude делает.

Хуки переворачивают всё. Вместо того чтобы говорить Claude, что делать, вы говорите, что должно всегда происходить — автоматически, каждый раз, без необходимости об этом помнить. «После каждой правки файла — запускай Prettier.» «Перед любой правкой .env — остановись и спроси.» «При старте сессии — покажи мне git status.»

Думайте о хуках как о рефлексах Claude. Вы не думаете о моргании — оно просто происходит. Хуки — та же идея: действия, которые срабатывают автоматически в нужный момент, чтобы вы могли сосредоточиться на реальной работе, а не на ритуалах вокруг неё.

Что мы разберём

  1. Что такое хуки — автоматические действия, срабатывающие на события жизненного цикла Claude Code
  2. Четыре типа хуков — command, prompt, agent и http
  3. Типы событий — когда хуки срабатывают (до инструментов, после инструментов, старт сессии и т.д.)
  4. Коды выхода — как хуки управляют потоком (продолжить vs. заблокировать)
  5. Практические хуки — автоформат, защита файлов, уведомления и запросы подтверждения
  6. Режим verbose — наблюдаем за срабатыванием хуков в реальном времени через Ctrl+O

Почему этот блок важен

В каждой команде есть правила, которые живут в головах людей. «Не редактируй package-lock.json вручную.» «Всегда запускай линтер перед коммитом.» «Напиши в канал команды, когда деплой завершится.» Эти правила записывают в README, упоминают в онбординг-документах и забывают к третьей неделе.

Хуки делают эти правила обязательными к исполнению. Не путём нотаций, а путём автоматического выполнения правильных действий. Файл, который нельзя редактировать? Заблокирован на уровне хука. Форматтер, который должен запускаться после каждого изменения? Срабатывает без участия человека. Уведомление о завершении долгой задачи? Появляется само.

В этом разница между конвенцией и ограничением. Конвенции полагаются на память. Ограничения полагаются на код.

Пререквизиты

  • Пройдены блоки 0–7
  • Проект ai-coderrank открыт в Claude Code
  • Базовое знакомство с JSON-конфигами
  • macOS (для примера с уведомлениями — альтернативы для Linux прилагаются)

Выберите формат

Выберите формат, который подходит для вашей работы с блоком:

Что вы освоите

  • Понять хуки как обработчики событий жизненного цикла сессий Claude Code
  • Создать PostToolUse-хук, который автоматически форматирует код после каждой правки файла
  • Создать PreToolUse-хук, который блокирует редактирование защищённых файлов
  • Написать SessionStart-хук, выводящий статус проекта
  • Добавить хук уведомлений при завершении долгих задач
  • Использовать режим verbose для отладки выполнения хуков
  • Создать prompt-хук, запрашивающий подтверждение перед деструктивными командами