实用的 Hooks
Claude Code 的 Hooks 能弥补 AI 协作中的常见问题,尤其在大型项目里效果明显。它们会在 Claude 修改代码时自动执行,提供即时反馈并阻止常见错误。
TypeScript 类型检查 Hook
Section titled “TypeScript 类型检查 Hook”Claude 修改函数签名时,经常忘记更新所有调用点。例如为 schema.ts 中函数添加 verbose 参数后,main.ts 的调用还保持旧签名,导致类型错误。
解决办法是使用 PostToolUse Hook,在每次编辑后运行 TypeScript 编译器:
- 运行
tsc --noEmit做类型检查 - 收集错误
- 将错误反馈给 Claude
- 提示 Claude 修复相关文件
对于其他强类型语言,也可以使用类似的类型检查流程;弱类型语言则可改用自动化测试。
防止重复查询的 Hook
Section titled “防止重复查询的 Hook”在有大量数据库查询的项目中,Claude 有时会重复造轮子。例如你要求它“增加一个超过三天未处理订单的 Slack 提醒”,它可能重新写查询而不是复用 getPendingOrders()。

该 Hook 的思路是加入“二次审查”流程:

- 当 Claude 修改
./queries目录下的文件时触发 - 程序化启动另一个 Claude Code 实例
- 让第二个实例检查是否已有相似查询
- 若发现重复,反馈给原 Claude
- 提示删除重复代码并复用现有实现
TypeScript Hook 较轻量,速度快;查询重复 Hook 更消耗资源,因为它会启动额外 Claude 实例。
- 收益: 减少重复代码,提升一致性
- 成本: 每次修改都要额外调用,耗时并消耗 API
- 建议: 只监控关键目录,避免过度开销
这些 Hook 使用 Claude 的 TypeScript SDK,通过编程方式让一个 Claude 去审查另一个 Claude 的输出。
- 用编译器 or linter 输出做即时反馈
- 用独立 AI 实例做自动代码审查
- 重点监控高价值目录
- 权衡自动化收益与性能成本
关键是找出你流程中的痛点,并用 Hook 自动解决。