git-hooks-manager - Git Hooks管理器
Metadata
| Field | Value |
|---|---|
| Name | git-hooks-manager |
| Slug | git-hooks-manager |
| Version | 1.0.0 |
| Homepage | https://github.com/openclaw/git-hooks-manager |
| Category | development |
| Tags | git, hooks, pre-commit, pre-push, lint, test, automation, devops |
Description
English
A Git hooks manager that simplifies installing, configuring, and sharing Git hooks across teams. Includes pre-built templates for linting, testing, branch naming validation, commit message validation, and custom hook orchestration.
中文
Git Hooks管理器,简化团队间Git钩子的安装、配置和共享。包含预置模板:代码检查、测试运行、分支名验证、提交信息验证和自定义钩子编排。
Requirements
- Python 3.8+
- Git >= 2.30
- click >= 8.0.0
- colorama >= 0.4.6
Configuration
Environment Variables
HOOKS_MANAGER_STRICT=true
HOOKS_MANAGER_SKIP_LINT=falseUsage
Install Hooks
# Install all recommended hooks
python scripts/hooks_manager.py install --all
# Install specific hook
python scripts/hooks_manager.py install pre-commit
# Install from template
python scripts/hooks_manager.py install pre-commit --template lint-and-testCreate Custom Hook
from git_hooks_manager import HookManager
manager = HookManager()
# Define a custom pre-commit hook
@manager.hook("pre-commit")
def my_pre_commit():
# Run custom checks
result = manager.run_command("pytest", ["tests/smoke/"])
if result.returncode != 0:
print("Smoke tests failed!")
return False
return True
manager.install()Validate Commit Messages
python scripts/hooks_manager.py validate-message "feat: add user login"API Reference
HookManager
install(hook_name, template=None)- Install a hookuninstall(hook_name)- Remove a hooklist_hooks()- List installed hooksvalidate_commit_message(msg)- Validate conventional commits formatvalidate_branch_name(name)- Validate branch naming conventionrun_command(cmd, args)- Run a shell command and return result
Built-in Templates
lint-and-test- Run linters and unit testsconventional-commits- Validate commit messagesbranch-guard- Enforce branch naming rulessecurity-scan- Run basic security checksci-simulation- Simulate CI pipeline locally
Examples
See examples/ directory for complete examples.
Testing
cd /root/.openclaw/workspace/skills/git-hooks-manager
python -m pytest tests/ -vLicense
MIT License