用途:在项目中安装和配置 Git 钩子,实现提交前代码质量检查、密钥泄露扫描、提交信息格式校验,以及推送前自动运行测试。适合安装钩子、配置提交信息校验、安装密钥扫描器、落实代码质量规范、自动化推送前测试等场景。
主要能力:提供核心钩子与语言特定钩子。commit-msg 校验约定式提交格式(如 feat:、fix:、docs(readme):,拒绝无类型或缺冒号的写法);pre-commit-secrets-scanner 扫描 Anthropic(sk-ant-...)、OpenAI(sk-...)API 密钥、AWS 凭据(AKIA...)、GitHub 令牌(ghp_...)及硬编码密码;pre-commit-python 对暂存的 .py 文件运行 Black 与 Ruff;pre-commit-javascript 使用 Prettier、ESLint、TypeScript;pre-commit-go 使用 gofmt、go vet;pre-commit-multi-language 自动检测并运行相应工具;pre-push 在推送前运行测试(如 uv run pytest tests/、pnpm test、go test、cargo test);另有 post-checkout 切换分支自动更新依赖、post-commit 显示提交摘要与 TODO。
使用方式:推荐运行交互式安装器 ./AgentUsage/pre_commit_hooks/install_hooks.sh;也可手动复制脚本到 .git/hooks/ 并执行 chmod +x .git/hooks/*。按项目类型组合选择:Python 项目用 commit-msg + pre-commit-python + pre-commit-secrets-scanner + pre-push,JS/Go/多语言项目替换对应语言钩子。可通过 .git/hooks/pre-commit、示例提交或 bash -x 调试测试。紧急情况可用 git commit --no-verify 跳过,但不建议常规使用。
限制与注意:钩子不运行需检查文件是否存在与可执行权限,并用 bash -n 检查语法;质量检查失败时手动运行工具修复后重试提交;缺少工具需安装(如 uv add --dev black ruff)。资料未提供其他平台、收费或效果信息。