Claude Код 👁 6

Хук Claude Code против rm -rf и git push --force

Промпт для Claude: Claude Code поставит хук PreToolUse, который останавливает rm -rf, git push --force и DROP TABLE, и проверит его тестовым JSON без риска.

Промпт Запустить →
Промокод — до 50% бонусами к первому пополнению в most-ai
Поставь мне хук-предохранитель для Claude Code: он должен останавливать опасные команды до того, как они выполнятся.

Где действует: [ГДЕ: для всех проектов, в ~/.claude/settings.json]
Моя система: [СИСТЕМА: macOS или Linux, скрипт на bash]

Что останавливать (команды Bash):
- удаление с рекурсией: rm -r, rm -rf, rmdir на непустых папках;
- git push --force и git push -f, git reset --hard, git clean -fd, git branch -D;
- SQL, который стирает данные: DROP TABLE, DROP DATABASE, TRUNCATE, DELETE без WHERE;
- [ЕЩЁ: свои опасные команды, если есть — например, деплой на боевой сервер]

Как сделать:
1. Скрипт положи в ~/.claude/hooks/predohranitel.sh. Он читает JSON из stdin, берёт поле tool_input.command (через jq или python3 — что есть в системе) и сверяет с шаблонами выше, без учёта регистра.
2. Совпало — выведи в stderr одну строку: что за команда и почему остановлена, и заверши скрипт кодом 2. Иначе — код 0.
3. Сделай скрипт исполняемым и зарегистрируй его в settings.json как хук PreToolUse с matcher Bash. Существующие настройки в файле сохрани, ничего не затирай.

Исключено: запускать настоящие опасные команды для проверки; блокировать всё подряд — обычные git status, ls, rm одного файла должны проходить; менять другие хуки и разрешения.

Перед выдачей проверь хук без риска: подай скрипту на вход тестовый JSON с командой rm -rf test-folder и с командой git status, покажи коды выхода — должны быть 2 и 0. Потом скажи, как увидеть хук в меню /hooks.
Запустить промпт →

Похожие промпты

Claude
CLAUDE.md для проекта: Claude Code напишет его сам
Claude
Уведомления Claude Code: хуки Stop и Notification
Claude
Личный CLAUDE.md: ваши правила для всех проектов
Claude
Режим плана в Claude Code: план до первой строки кода
Claude
Субагент Claude Code для разбора незнакомого кода
Claude
Субагент-критик: сверка работы агентов Claude Code
Claude
Ревью кода в Claude Code: субагент со свежим взглядом
Claude
n8n MCP и Claude Code: workflow по базе, не по памяти

Пример результата

Что получится: скрипт ~/.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).

Полезные статьи

MCP для Claude: как подключить 7 серверов с промтами
Скилы для Claude: 14 готовых скиллов и как их установить
Промт для логотипа: готовые промпты и где ИИ ошибается

Все гайды →