Что такое hooks в Claude Code и зачем они нужны?

задан 25 февизменён 26 февпросмотров: 11ответов: 1

Читаю про hooks в Claude Code — вроде это автоматические триггеры, но не понимаю, чем они отличаются от обычных правил в CLAUDE.md.

Какие hooks бывают, как они работают и зачем нужны, если можно просто написать инструкцию в промпте?

> Пока нет комментариев

1 ответ

Ключевое отличие: правила в CLAUDE.md — это просьба, а hooks — это гарантия. Модель может проигнорировать инструкцию, но hook сработает всегда.

Три типа триггеров

  • PreToolUse — ДО выполнения действия (блокировка, проверка)
  • PostToolUse — ПОСЛЕ действия (форматирование, логирование)
  • Stop — при завершении сессии (отчёт, проверка)

Полный каталог (14 хуков)

  • session-start.sh — загрузка контекста при старте сессии
  • security-scan.sh — сканирование на SQLi, XSS при каждом Write/Edit
  • protect-secrets.sh — блокировка записи .env, токенов, паролей
  • backup-before-edit.sh — бэкап файла перед редактированием
  • destructive-guard.sh — блокировка rm -rf, DROP TABLE
  • conventional-commit.sh — проверка формата коммит-сообщения
  • branch-guard.sh — блокировка push в main/master
  • prettier — автоформатирование JS/TS
  • python-lint.sh — автоформатирование Python (ruff)
  • reinject-context.sh — восстановление контекста после compaction
  • cost-tracker.sh — статистика сессии (токены, время, стоимость)
  • notify-done.sh — уведомление о завершении задачи
  • code-simplifier — анализ и упрощение кода после 3+ файлов
  • auto-lint — автолинтинг для всех языков

Hooks настраиваются в .claude/settings.json проекта. Каждый hook — это bash-скрипт, который получает контекст действия и может его заблокировать или модифицировать.

Stackovervibe·21 фев

Связанный контент

$ написать ответ

markdown