Блок 8

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

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

~35 хв (10 хв презентація + 25 хв практика)
Хуки в settings.json Типи подій (PreToolUse, PostToolUse, SessionStart, Stop) Коди виходу (0 = продовжити, 2 = заблокувати) Режим verbose (Ctrl+O)

Навчаємо Claude рефлексам

В останніх семи блоках кожна дія Claude була чимось, про що ви явно просили. “Додай темну тему.” “Перевір K8s-маніфести.” “Згенеруй скрипт провізіонінгу.” Це конверсаційна модель — ви просите, Claude виконує.

Хуки змінюють правила гри. Замість того, щоб казати Claude, що робити, ви вказуєте Claude, що має завжди відбуватися — автоматично, кожного разу, без необхідності пам’ятати. “Після кожного редагування файлу запустити Prettier.” “Перед будь-яким редагуванням .env — зупинитися і запитати.” “Коли сесія починається — показати git status.”

Уявіть хуки як рефлекси Claude. Ви не думаєте про моргання — воно просто відбувається. Хуки — та сама ідея: дії, що спрацьовують автоматично в потрібний момент, щоб ви могли зосередитися на справжній роботі замість церемоній навколо неї.

Що ми розглянемо

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

Чому цей блок важливий

У кожної команди є правила, які живуть у головах людей. “Не редагуй package-lock.json вручну.” “Завжди запускай лінтер перед комітом.” “Сповісти канал команди, коли деплой завершиться.” Ці правила записують у README, згадують в документації для онбордингу та забувають на третьому тижні.

Хуки роблять ці правила примусовими. Не нав’язуючи людям їх дотримання, а роблячи правильні речі автоматичними. Файл, який не варто редагувати? Заблоковано на рівні хука. Форматер, який має запускатися після кожної зміни? Працює без будь-якої думки. Сповіщення про завершення тривалого завдання? З’являється саме.

Це різниця між конвенцією та обмеженням. Конвенції покладаються на пам’ять. Обмеження покладаються на код.

Передумови

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

Оберіть формат

Виберіть формат, який відповідає тому, як ви працюєте з блоком:

Що ви опануєте

  • Зрозуміти хуки як слухачі подій життєвого циклу сесій Claude Code
  • Створити PostToolUse-хук, що автоматично форматує код після кожної зміни файлу
  • Створити PreToolUse-хук, що блокує редагування захищених файлів
  • Побудувати SessionStart-хук, що виводить статус проєкту
  • Додати хук сповіщень для завершення тривалих завдань
  • Використати verbose mode для дебагу виконання хуків
  • Створити prompt-хук, що запитує підтвердження перед деструктивними командами