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

validate-branch-name — хук для Claude Code: проверка имён веток

Хук перехватывает команды Bash перед запуском и не даёт создать ветку, которая не подходит под Git Flow.

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

Что делает validate-branch-name

Хук висит на событии PreToolUse с матчером Bash. Как только Claude Code собирается выполнить команду в терминале, запускается скрипт .claude/hooks/validate-branch-name.py через python3, и он смотрит на имя ветки. Подходят три шаблона: feature/*, release/v*.*.*, hotfix/*. Всё остальное блокируется до выполнения команды.

Установка идёт через npx claude-code-templates@latest --hook git/validate-branch-name, настройка прописывается в .claude/settings.json. Скрипт лежит внутри проекта, поэтому запускается через python3 — интерпретатор должен быть доступен в окружении, иначе хук не сработает.

Если в команде ветку создают с другим префиксом, например fix/login, она не пройдёт. Это не баг, а весь смысл хука: он держит имена в одном формате, пока вы работаете с агентом.

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

  • запретить создание веток вне Git Flow
  • поймать неверный префикс до выполнения команды
  • удержать единый формат имён веток в проекте
  • не дать агенту завести ветку вида fix/...

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

  • Создай ветку feature/user-auth и переключись на неё
  • Заведи ветку release/v1.2.0 от текущего main
  • Сделай hotfix-ветку hotfix/login-crash

Как установить validate-branch-name

1Через claude-code-templates

npx claude-code-templates@latest --hook git/validate-branch-name

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

.claude/settings.json

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

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

Вопросы о validate-branch-name

Как установить validate-branch-name в Claude Code?

Выполните npx claude-code-templates@latest --hook git/validate-branch-name. Хук пропишется в .claude/settings.json, а скрипт появится в .claude/hooks/.

Какие имена веток пропускает хук?

Только три вида: feature/*, release/v*.*.* и hotfix/*. Остальные префиксы блокируются.

Что нужно для работы хука?

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

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

validate-branch-name.json · MIT
{
  "description": "Validate Git Flow branch naming conventions before checkout. Ensures branches follow the pattern: feature/*, release/v*.*.*, hotfix/*. Prevents creation of branches that don't follow Git Flow standards.",
  "hooks": {
    "PreToolUse": [
      {
        "matcher": "Bash",
        "hooks": [
          {
            "type": "command",
            "command": "python3 \"$CLAUDE_PROJECT_DIR\"/.claude/hooks/validate-branch-name.py"
          }
        ]
      }
    ]
  }
}

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

Похожие хуки

Всё по теме «Git и GitHub» →

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

Весь набор →
pr-review Команда проверяет pull request с шести сторон: от продукта и качества кода до безопасности, DevOps и интерфейса. Она также требует сразу вносить найденные улучшения. 562установок nextjs-bundle-analyzer Слэш-команда для Claude, которая разбирает размер бандла Next.js и подсказывает, что урезать. 560установок design-rest-api Проектирует архитектуру REST API с эндпоинтами, аутентификацией и документацией OpenAPI с учётом текущего кода проекта. 559установок optimize-bundle-size Анализирует и уменьшает размер фронтенд-сборки через настройку бандлера, код-сплиттинг и удаление мёртвого кода. Пригодится при росте веса JS-бандла и падении скорости загрузки страниц. 535установок performance-budget-guard Хук для Claude проверяет размер JS-бандла после сборки Next.js и не даёт выкатить сборку, которая вылезла за бюджет. 393установок vercel-environment-sync Хук проверяет переменные окружения после правки .env и подсказывает, как перенести их в Vercel. Пригодится, если локальные и деплойные значения расходятся. 363установок env-file-protection Хук блокирует вызовы Write к файлам .env*, чтобы агент случайно не перезаписал секреты. Ставится одной командой в настройки Claude. 279установок slack-notifications Отправляет сообщение в Slack, когда Claude закончил работу или завершился субагент. Пригодится, если вы уходите от терминала и хотите знать, что задача готова. 279установок

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

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