用 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」频道最新
- Claude Code 等 Agent 进化神速,演示震撼远超文字描述 — tinyfool · 2026-08-30
- 律师用 Cursor 自建 AI 高管团队,3 小时内容流程压到 10 分钟 — Specialist_Call_1257 · 2026-08-30
- 机器人项目实战:Claude 编码彻底失效,基础架构成最大障碍 — verdakorz · 2026-08-30
- 11 年前手写 JS 婚礼请柬,如今 AI 一次生成安卓动态壁纸 — steren · 2026-08-30
- 全栈开源体验:Qwen+Hermes 打造可自我修改的电脑 — ramagetime · 2026-08-30
- AGENTS.md 与 SKILL.md:智能体与技能有何区别? — _jaydeepkarale · 2026-08-30