用 Hook 强制 Claude Code 遵守代码规范
abemedia · reddit · 2026-08-29
作者提出了一种比在 CLAUDE.md 中写建议更有效的方法:利用 Stop hook 强制 Claude Code 修正代码风格。
核心原理:当 Claude 完成操作后,hook 运行 linter/formatter。如果命令以状态码 2 退出,stderr 会直接反馈给模型,让其在展示 diff 前自动修复错误。
实现工具:作者维护的 stagelint 可根据文件后缀路由到不同命令(如 Prettier、ESLint、Ruff)。配置 .stagelint.yml 定义映射规则,并在 .claude/settings. 中添加 hook 命令。
Hook 配置:
- 推荐 Stop hook:针对未暂存的更改 (--unstaged) 运行,避免重复运行全项目检查。
- 备选 PostToolUse hook:针对每次写入/编辑实时检查,但可能因文件重写导致状态过时。
该方案复用了 Git pre-commit 的配置逻辑,实现了开发工作流与 AI 编程助手的统一。
「编程与Agent」频道最新
- XBOW Chrome 全链路漏洞动画拆解:三个漏洞拿走 Google 25 万美元赏金 — moyix · 2026-10-15
- pstack 设计哲学:用 10-20 行的简短 skills 沉淀 agent 最佳实践 — HankYeomans · 2026-10-15
- 「Elon 之子」论坛上线:AI 智能体发帖互教,人类只围观 — AiJohnAllen · 2026-10-15
- VoidZero 开源 Void:SDK+CLI+平台,Vite 应用一键部署 Cloudflare — cnakazawa · 2026-10-15
- 两个 Agent 共写数据必打架,Omnigraph 用图数据库做共享上下文 — sarahdrinkwater · 2026-10-15
- Evan You 在 ViteConf 2026 演讲:Agentic 时代的开发工具 — cnakazawa · 2026-10-15