Хук Claude Code против rm -rf и git push --force
Промпт для Claude: Claude Code поставит хук PreToolUse, который останавливает rm -rf, git push --force и DROP TABLE, и проверит его тестовым JSON без риска.
Похожие промпты
Пример результата
Что получится: скрипт ~/.claude/hooks/predohranitel.sh и запись в ~/.claude/settings.json — хук PreToolUse на инструмент Bash. Когда Claude соберётся выполнить rm -rf или git push --force, хук остановит команду кодом 2, и Claude увидит причину — строку из stderr — и спросит вас, как быть. Проверка без риска: скрипт получает на вход тестовый JSON, и видно, что опасная команда даёт код 2, а обычная — 0. Зачем, если в CLAUDE.md уже написано «не удаляй без спроса»: по документации Claude Code, CLAUDE.md — это контекст, модель читает его как просьбу. Хук срабатывает всегда, решает не модель. Совет: держите список шаблонов коротким и понятным. Хук, который блокирует всё подряд, быстро захочется выключить. Хуки из .claude/settings.json чужого проекта запускаются ещё до того, как вы доверились папке, поэтому чужие настройки читайте до запуска. Сделано по мотивам git-guardrails-claude-code из github.com/mattpocock/skills (MIT).