article
README
🚀 Git Hooks for Claude Integration
本项目提供了用于Claude Agent SDK集成的质量检查钩子,可有效保障代码质量。
🚀 快速开始
本项目的钩子主要用于在提交代码前进行一系列的质量检查,以确保代码符合特定的标准。
📦 安装指南
方法一:复制钩子到.git/hooks目录
# 将钩子复制到你的.git/hooks目录
cp .git-hooks/pre-commit-claude-integration.sh .git/hooks/pre-commit
chmod +x .git/hooks/pre-commit
方法二:使用git config设置钩子目录
git config core.hooksPath .git-hooks
✨ 主要特性
预提交钩子
pre-commit-claude-integration.sh钩子强制执行EXTREME TDD质量检查:
质量检查项
- SATD检测 - 对TODO/FIXME/HACK/XXX零容忍
- Rust代码格式化 - 强制遵循
cargo fmt标准 - Clippy代码检查 - 所有警告视为错误
- 复杂度检查 - 确保代码能够编译(作为复杂度的代理检查)
- TypeScript构建 - 验证桥接代码的编译情况
- 单元测试 - 所有测试必须通过
- 文件大小检查 - 对超过500行的文件发出警告
绕过钩子(仅紧急情况使用)
如果在紧急情况下需要绕过钩子,可以使用以下命令:
git commit --no-verify
⚠️ 重要提示
此操作仅应在特殊情况下使用。绕过质量检查可能会引入技术债务。
故障排除
钩子未运行
# 检查钩子是否可执行
ls -l .git/hooks/pre-commit
# 使其可执行
chmod +x .git/hooks/pre-commit
TypeScript检查失败
# 安装依赖
cd bridge
npm install
npm run build
Rust检查失败
# 修复格式化问题
cd server
cargo fmt
# 修复clippy警告
cargo clippy --fix
🔧 技术细节
质量指标
钩子强制执行以下标准: | 指标 | 阈值 | 操作 | |------|------|------| | SATD数量 | 0 | 阻止提交 | | Clippy警告 | 0 | 阻止提交 | | 代码格式化 | 100% | 阻止提交 | | 测试通过率 | 100% | 阻止提交 | | 文件大小 | 500行 | 仅发出警告 |
设计理念
这些钩子实现了EXTREME TDD方法:
- 红:测试必须先失败
- 绿:实现最小化功能
- 重构:质量检查防止代码质量下降
质量检查在提交代码时执行,而非在拉取请求时,确保:
- 更快的反馈循环
- 更清晰的git历史记录
- 减轻代码审查负担
- 更高的代码质量
微信扫一扫