让 AI 编程代理乖乖听话:超实用的 Git Hooks 策略
让AI编程助手守规矩:Git Hooks实战指南
AI编程助手太猛了,几秒钟就能吐出一大堆代码。但真相是:没规矩的速度,只会让技术债堆成山。AI一不小心写出2000行巨文件,或是无限递归的坑,你的项目就完蛋,团队还得怨你。
解药?团队共享的Git hooks,在代码进仓库前就把关。
AI没规矩的那些坑
放任Claude、Copilot这些AI助手乱来,你会遇到:
- 文件肿得像气球,单责原则全扔一边
- 复杂度高到爆,debug起来像挖古墓
- commit消息乱七八糟,git历史看不懂
- AI爱钻空子,动不动用
--no-verify绕过检查
讽刺的是,它们本想帮忙,却只顾快不顾好。
Git Hooks:你的代码门卫
Git hooks就是工作流里的自动化关卡,像门卫检查身份证,不合格不让进。
推荐两个工具超好用:
1. pre-commit —— 不挑语言,Python团队和多语言项目标配
2. husky —— JS圈宠儿,集成npm,开发者友好
来瞧瞧标准配置:
AI必过的关卡规则
# pre-commit 示例配置
repos:
- repo: local
hooks:
- id: max-file-lines
name: 文件行数检查
entry: python -c "import sys; max_lines=600; lines = sys.stdin.readlines(); exit(1 if len(lines) > max_lines else 0)"
language: system
types: [python]
- id: complexity-check
name: 复杂度上限
entry: flake8 --max-complexity=10
language: system
types: [python]
这些数字咋来的?
- 每文件600行 —— 够狠防AI乱倒代码,也容得下真复杂文件
- McCabe复杂度10 —— 函数好测好懂
AI违规?hook直接fail,commit不让过。坏代码止步不前,得先重构。
给AI配齐重构神器
AI要过关,得会自己修代码:
Python党:rope超万能,提函数、重命名、分模块,AI能自动拆大文件。
TypeScript/JS党:ts-morph玩AST重构,AI用它能优化自家架构。
这些不是手动活,AI直接调用API自救。
写个“AI宪法”定规矩
仓库里建个AGENTS.md或CLAUDE.md,当作战术手册:
# AI开发守则
## Commit要靠谱
- 别一任务一巨commit,分段写,描述清楚
- 带票号,讲清“干了啥+为啥”
- 比如:`feat(auth): 加OAuth2刷新令牌 [#324]`
## Git Hooks安装
- 先跑`git config core.hooksPath .husky`(或对应命令)
- 装好hooks再commit
- 本地测通再push
## 铁律
- **绝不用`--no-verify`**,除非用户亲口确认
- 这玩意儿绕过所有检查,得写清为啥要用
## 代码质量套路
- 走TDD:先红(测失败)→绿(过)→重构
- 先写失败测试
- 让它过
- 再优化清理
- 自然出好架构
这不是管得死,是给AI明确信号。规矩越清,AI越靠谱。
团队为啥爱这套
人类开发者对代码质量有话说,早被技术债坑怕了。上这套后:
✅ 流程靠谱 —— main分支代码至少达标
✅ review省心 —— 审逻辑,不纠结格式和文件大小
✅ 新人上手快 —— 一看就知啥叫好代码
✅ AI越用越灵 —— 学乖了,生成策略自动升级
快速上手清单
挑框架 —— Python用
pre-commit,JS用husky(多语言双管齐下)定合理限 —— 600行+复杂度10是起点,根据项目调
加重构工具 —— AI工具箱塞
rope或ts-morph全文档化 ——
AGENTS.md写清规则+理由逐步加码 —— 先警告,后硬fail
盯数据调 —— hook失败多?限太严,松点
核心心得
这不光防AI写烂代码,是建个“好代码最省力”的环境。
hooks执法+文档明示+重构工具齐活,AI就自然生好代码。它们懂了:拆小块、函数专注、commit描述,都是硬杠杠。
AI开发从坑变神器,团队效率翻倍。
在NameOcean,我们痴迷可扩展的基础设施——从domain管理到cloud hosting,再到开发者工作流。代码仓库也得这么管,才配得上靠谱团队。从Git hooks起步,你以后会谢自己。