Хуки — автоматизація робочого процесу
Автоматизуйте робочий процес Claude Code за допомогою хуків — автоформатування при збереженні, блокування небезпечних змін, сповіщення та захисні рамки для кожної сесії.
Навчаємо Claude рефлексам
В останніх семи блоках кожна дія Claude була чимось, про що ви явно просили. “Додай темну тему.” “Перевір K8s-маніфести.” “Згенеруй скрипт провізіонінгу.” Це конверсаційна модель — ви просите, Claude виконує.
Хуки змінюють правила гри. Замість того, щоб казати Claude, що робити, ви вказуєте Claude, що має завжди відбуватися — автоматично, кожного разу, без необхідності пам’ятати. “Після кожного редагування файлу запустити Prettier.” “Перед будь-яким редагуванням .env — зупинитися і запитати.” “Коли сесія починається — показати git status.”
Уявіть хуки як рефлекси Claude. Ви не думаєте про моргання — воно просто відбувається. Хуки — та сама ідея: дії, що спрацьовують автоматично в потрібний момент, щоб ви могли зосередитися на справжній роботі замість церемоній навколо неї.
Що ми розглянемо
- Що таке хуки — автоматизовані дії, що спрацьовують на події життєвого циклу Claude Code
- Чотири типи хуків — command, prompt, agent та http
- Типи подій — коли хуки спрацьовують (перед інструментами, після інструментів, початок сесії тощо)
- Коди виходу — як хуки контролюють потік (дозвіл чи блокування)
- Практичні хуки — автоформатування, захист файлів, сповіщення та запити підтвердження
- 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-хук, що запитує підтвердження перед деструктивними командами