重要前提
安装AI Skills的关键前提是:必须科学上网,且开启TUN模式,这一点至关重要,直接决定安装能否顺利完成,在此郑重提醒三遍:科学上网,科学上网,科学上网。查看完整安装教程 →
npx skills add https://github.com/autumnsgrove/groveengine --skill git-hooks在以下情况下激活此技能:
# 使用交互式安装程序(推荐)
./AgentUsage/pre_commit_hooks/install_hooks.sh
# 或为 Python 项目手动安装
cp AgentUsage/pre_commit_hooks/commit-msg .git/hooks/
cp AgentUsage/pre_commit_hooks/pre-commit-python .git/hooks/pre-commit
cp AgentUsage/pre_commit_hooks/pre-commit-secrets-scanner .git/hooks/pre-commit-secrets
cp AgentUsage/pre_commit_hooks/pre-push .git/hooks/
chmod +x .git/hooks/*
| 钩子 | 用途 |
|---|---|
commit-msg | 验证约定式提交格式 |
pre-commit-secrets-scanner |
广告位招租
在这里展示您的产品或服务
触达数万 AI 开发者,精准高效
| 防止泄露 API 密钥/机密信息 |
| 钩子 | 语言 | 检查项 |
|---|---|---|
pre-commit-python | Python | Black, Ruff |
pre-commit-javascript | JS/TS | Prettier, ESLint, TypeScript |
pre-commit-go | Go | gofmt, go vet |
pre-commit-multi-language | 混合语言 | 自动检测并运行相应工具 |
| 钩子 | 用途 |
|---|---|
pre-push | 推送前运行测试 |
post-checkout | 切换分支时自动更新依赖 |
post-commit | 显示提交摘要和待办事项 |
# Python 项目
commit-msg + pre-commit-python + pre-commit-secrets-scanner + pre-push
# JavaScript 项目
commit-msg + pre-commit-javascript + pre-commit-secrets-scanner + pre-push
# Go 项目
commit-msg + pre-commit-go + pre-commit-secrets-scanner + pre-push
# 多语言项目
commit-msg + pre-commit-multi-language + pre-commit-secrets-scanner + pre-push
验证提交消息格式:
# 接受的格式
feat: 添加用户认证
fix: 修正验证错误
docs(readme): 更新安装说明
# 拒绝的格式
更新文件 # 缺少类型
feat 添加功能 # 缺少冒号
扫描暴露的机密信息:
sk-ant-...)sk-...)AKIA...)ghp_...)# 在暂存的 .py 文件上自动运行
uv run black --check $file
uv run ruff check $file
# 推送前运行
uv run pytest tests/ # 或 pnpm test, go test, cargo test
# 直接测试预提交钩子
.git/hooks/pre-commit
# 使用示例提交测试
git add .
git commit -m "test: 验证钩子"
# 使用调试输出运行
bash -x .git/hooks/pre-commit
# 跳过所有钩子
git commit --no-verify -m "紧急修复"
# 仅在以下情况使用:
# - 紧急生产修复
# - 钩子故障
# - 有意覆盖
# 检查是否存在
ls -l .git/hooks/
# 修复权限
chmod +x .git/hooks/*
# 检查语法
bash -n .git/hooks/pre-commit
chmod +x .git/hooks/*
# 手动运行工具
uv run black --check .
uv run ruff check .
# 修复问题
uv run black .
uv run ruff check --fix .
# 重试提交
git commit -m "您的消息"
# 安装代码质量工具
uv add --dev black ruff
# 验证安装
which black
uv run black --version
#!/bin/bash
# .git/hooks/pre-commit
# 获取暂存的 Python 文件
FILES=$(git diff --cached --name-only --diff-filter=ACM | grep '\.py$')
if [ -n "$FILES" ]; then
# 运行您的工具
uv run black --check $FILES || exit 1
uv run ruff check $FILES || exit 1
fi
exit 0
查看 AgentUsage/pre_commit_hooks/ 目录下的:
setup_guide.md - 完整安装指南examples.md - 自定义钩子示例TROUBLESHOOTING.md - 常见问题每周安装数
51
仓库
GitHub 星标数
2
首次出现
2026年2月5日
安全审计
安装于
opencode51
codex51
gemini-cli50
github-copilot49
kimi-cli49
cursor49
Activate this skill when:
# Use interactive installer (recommended)
./AgentUsage/pre_commit_hooks/install_hooks.sh
# Or manual installation for Python project
cp AgentUsage/pre_commit_hooks/commit-msg .git/hooks/
cp AgentUsage/pre_commit_hooks/pre-commit-python .git/hooks/pre-commit
cp AgentUsage/pre_commit_hooks/pre-commit-secrets-scanner .git/hooks/pre-commit-secrets
cp AgentUsage/pre_commit_hooks/pre-push .git/hooks/
chmod +x .git/hooks/*
| Hook | Purpose |
|---|---|
commit-msg | Validates conventional commit format |
pre-commit-secrets-scanner | Prevents leaked API keys/secrets |
| Hook | Language | Checks |
|---|---|---|
pre-commit-python | Python | Black, Ruff |
pre-commit-javascript | JS/TS | Prettier, ESLint, TypeScript |
pre-commit-go | Go | gofmt, go vet |
pre-commit-multi-language | Mixed | Auto-detects and runs appropriate tools |
| Hook | Purpose |
|---|---|
pre-push | Runs tests before push |
post-checkout | Auto-updates dependencies on branch switch |
post-commit | Shows commit summary and TODOs |
# Python Project
commit-msg + pre-commit-python + pre-commit-secrets-scanner + pre-push
# JavaScript Project
commit-msg + pre-commit-javascript + pre-commit-secrets-scanner + pre-push
# Go Project
commit-msg + pre-commit-go + pre-commit-secrets-scanner + pre-push
# Multi-language
commit-msg + pre-commit-multi-language + pre-commit-secrets-scanner + pre-push
Validates commit message format:
# Accepted formats
feat: Add user authentication
fix: Correct validation error
docs(readme): Update installation
# Rejected
Update files # No type
feat add feature # Missing colon
Scans for exposed secrets:
sk-ant-...)sk-...)AKIA...)ghp_...)# Runs automatically on staged .py files
uv run black --check $file
uv run ruff check $file
# Runs before push
uv run pytest tests/ # or pnpm test, go test, cargo test
# Test pre-commit directly
.git/hooks/pre-commit
# Test with sample commit
git add .
git commit -m "test: verify hooks"
# Run with debug output
bash -x .git/hooks/pre-commit
# Skip all hooks
git commit --no-verify -m "Emergency fix"
# Only use when:
# - Emergency production fixes
# - Hook malfunction
# - Intentional override
# Check existence
ls -l .git/hooks/
# Fix permissions
chmod +x .git/hooks/*
# Check syntax
bash -n .git/hooks/pre-commit
chmod +x .git/hooks/*
# Run tools manually
uv run black --check .
uv run ruff check .
# Fix issues
uv run black .
uv run ruff check --fix .
# Retry commit
git commit -m "Your message"
# Install code quality tools
uv add --dev black ruff
# Verify installation
which black
uv run black --version
#!/bin/bash
# .git/hooks/pre-commit
# Get staged Python files
FILES=$(git diff --cached --name-only --diff-filter=ACM | grep '\.py$')
if [ -n "$FILES" ]; then
# Run your tools
uv run black --check $FILES || exit 1
uv run ruff check $FILES || exit 1
fi
exit 0
See AgentUsage/pre_commit_hooks/ for:
setup_guide.md - Complete installation guideexamples.md - Custom hook examplesTROUBLESHOOTING.md - Common issuesWeekly Installs
51
Repository
GitHub Stars
2
First Seen
Feb 5, 2026
Security Audits
Gen Agent Trust HubPassSocketPassSnykPass
Installed on
opencode51
codex51
gemini-cli50
github-copilot49
kimi-cli49
cursor49
通过 LiteLLM 代理让 Claude Code 对接 GitHub Copilot 运行 | 高级变通方案指南
46,900 周安装