К основному содержанию
хук

prevent-direct-push — хук для Claude Code: что делает и как установить

Блокирует прямую отправку коммитов в защищённые ветки main и develop из Claude Code. Защищает проект от случайных изменений в обход пулреквестов.

Установить в Claude Code · Через claude-code-templates Все способы и платформы ↓
npx claude-code-templates@latest --hook git/prevent-direct-push
Открыть на GitHub

Что делает prevent-direct-push

Хук перехватывает вызовы инструмента Bash в Claude Code и блокирует операции отправки изменений в ветки main или develop. Это исключает случайную публикацию кода напрямую в защищённые ветки и заставляет вести разработку через отдельные ветки с оформлением пулреквестов.

Событие PreToolUse срабатывает до исполнения команды терминалом. При совпадении с инструментом Bash запускается Python-скрипт prevent-direct-push.py, находящийся в папке .claude/hooks/. Скрипт анализирует переданную инструкцию и прерывает операцию при попытке обращения к закрытой ветке.

В системе обязательно должен быть доступен python3, иначе перехват завершится ошибкой.

Какие задачи решает

  • заблокировать прямую отправку коммитов в ветки main и develop
  • обеспечить соблюдение правил Git Flow при работе с агентом
  • перенаправить публикацию изменений в отдельные ветки и пулреквесты
  • предотвратить случайную перезапись истории в релизных ветках

Примеры запросов агенту

  • Отправь подготовленные коммиты сразу в ветку main
  • Выполни отправку текущих правок в ветку develop
  • Опубликуй новую ветку напрямую в main

Как установить prevent-direct-push

1Через claude-code-templates

npx claude-code-templates@latest --hook git/prevent-direct-push

2Вручную: положить файлы

.claude/settings.json

Блок hooks: событие (PreToolUse, PostToolUse, Stop…) → команда. Личные — ~/.claude/settings.json

По шагам, с командами для каждой платформы: Хуки Claude Code: что это, где настраивать и как запретить опасную команду

Вопросы о prevent-direct-push

Как установить prevent-direct-push в Claude Code?

Выполните команду npx claude-code-templates@latest --hook git/prevent-direct-push, после чего проверьте параметры хука в файле .claude/settings.json.

Что делает хук prevent-direct-push?

Он отслеживает команды Bash перед их выполнением и блокирует прямую отправку кода в main и develop. Это защищает ключевые ветки от несанкционированных коммитов.

Что требуется для работы хука?

Нужен установленный интерпретатор python3, поскольку хук запускает скрипт проверки .claude/hooks/prevent-direct-push.py.

Исходный текст

prevent-direct-push.json · MIT
{
  "description": "Prevent direct pushes to protected branches (main, develop). Blocks git push commands targeting main or develop branches to enforce Git Flow workflow. Requires using feature/release/hotfix branches and pull requests instead of direct commits to protected branches.",
  "hooks": {
    "PreToolUse": [
      {
        "matcher": "Bash",
        "hooks": [
          {
            "type": "command",
            "command": "python3 \"$CLAUDE_PROJECT_DIR\"/.claude/hooks/prevent-direct-push.py"
          }
        ]
      }
    ]
  }
}

© davila7 · MIT · davila7/claude-code-templates

Похожие хуки

Все хуки по теме «Git и GitHub» →

Из того же набора804

Весь набор →
implement-caching-strategy Слэш-команда для Claude, которая разбирает архитектуру проекта и предлагает слои кэширования: браузер, приложение, база, API. 520установок optimize-api-performance Слэш-команда разбирает API по узким местам: медленные эндпоинты, запросы к базе, кэш, лимиты. Пригодится, когда ответы тормозят под нагрузкой. 518установок setup-linting Настраивает линтеры и проверки качества в проекте: ESLint, Flake8, Pylint, MyPy, Clippy. Пригодится, когда правила стиля надо закрепить автоматически. 510установок vercel-deploy-optimize Оптимизирует сборку Next.js и выкладывает её на Vercel, попутно проверяя конфиги и подключая мониторинг производительности. 506установок deployment-health-monitor Отслеживает статус деплоев в Vercel при старте сессии и после команд сборки. Предупреждает об ошибках и падении доли успешных релизов. 482установок nextjs-api-tester Команда анализирует эндпоинты в Next.js и пишет для них проверки. Помогает протестировать авторизацию, валидацию данных и ошибки в App или Pages Router. 479установок e2e-setup Команда разворачивает сквозное E2E-тестирование в проекте, подбирает фреймворк и настраивает запуск тестов в CI. 477установок optimize-memory-usage Команда ищет утечки и лишний расход памяти, затем предлагает настройки и проверки для frontend, backend или базы данных. 476установок

Спонсоры проекта

Компании, которые помогают держать аналитику открытой