conventional-commits — хук для Claude Code
Хук проверяет сообщения Git-коммитов по формату Conventional Commits. Он пригодится, когда история проекта должна подходить для changelog и semantic versioning.
npx claude-code-templates@latest --hook git/conventional-commitsЧто делает conventional-commits
Хук подключается к событию PreToolUse для инструментов Bash и запускает скрипт .claude/hooks/conventional-commits.py. Перед созданием коммита он проверяет сообщение по шаблону type(scope): description.
Разрешены типы feat, fix, docs, style, refactor, perf, test, chore, ci, build и revert. Такой контроль поддерживает единый формат истории Git для генерации changelog и semantic versioning. Без python3 хук не запустит проверку.
Какие задачи решает
- проверять сообщения Git-коммитов
- соблюдать формат
type(scope): description - отбрасывать неподдерживаемые типы коммитов
- поддерживать историю для changelog и semantic versioning
Примеры запросов агенту
- Сделай коммит с сообщением
feat(auth): добавить вход через GitHub. - Закоммить исправление валидации как
fix(forms): исправить проверку email. - Создай коммит документации с типом
docsи кратким описанием.
Как установить conventional-commits
1Через claude-code-templates
npx claude-code-templates@latest --hook git/conventional-commits2Вручную: положить файлы
.claude/settings.jsonБлок hooks: событие (PreToolUse, PostToolUse, Stop…) → команда. Личные — ~/.claude/settings.json
По шагам, с командами для каждой платформы: Хуки Claude Code: что это, где настраивать и как запретить опасную команду
Вопросы о conventional-commits
Как установить conventional-commits в Claude Code?
Выполните npx claude-code-templates@latest --hook git/conventional-commits, затем откройте .claude/settings.json.
Что делает conventional-commits?
Хук проверяет сообщения Git-коммитов по формату type(scope): description и принимает заданный набор типов, включая feat, fix, docs и revert.
Что нужно для работы conventional-commits?
Хук запускает python3 для файла .claude/hooks/conventional-commits.py, поэтому этот интерпретатор должен быть доступен в системе.
Исходный текст
conventional-commits.json · MIT
{
"description": "Enforce conventional commit message format for all git commits. Validates commit messages follow the pattern: type(scope): description. Supported types: feat, fix, docs, style, refactor, perf, test, chore, ci, build, revert. Ensures consistent commit history for changelog generation and semantic versioning.",
"hooks": {
"PreToolUse": [
{
"matcher": "Bash",
"hooks": [
{
"type": "command",
"command": "python3 \"$CLAUDE_PROJECT_DIR\"/.claude/hooks/conventional-commits.py"
}
]
}
]
}
}
© davila7 · MIT · davila7/claude-code-templates