你的AI编码助手为什么总在发明你已经有的东西?

每次叫 Claude Code 写代码,它都像刚入职的实习生——热情满满,但完全不了解你的项目。

它会发明你已经有了的辅助函数,会用团队弃用的错误处理方式,会选一个你根本没装过的日志库。这些”幻觉”不是模型问题,是上下文问题。

espalier-engineering 就是来解决这个的。

这个 Skill 解决什么问题

这个工具的核心思路很有意思:把 AI 训练成一棵”靠墙生长的果树”——不是让 AI 随意发挥,而是通过发现项目里已有的模式,把它们编码成约束,让 AI 从第一次生成就符合规范,而不是第五次还在试错。

简单说:教 AI 读懂你的代码库,然后按你的规矩来。

它是怎么工作的

安装后,运行 /espalier-init,工具会扫描你的代码库,发现这几类东西:

  • 命名规范:你的辅助函数叫什么风格(camelCase 还是 snake_case
  • 已有模块:项目里有哪些公共工具,哪些要复用
  • 错误处理:你们用 throw 还是 Result 类型
  • 依赖偏好:用什么日志库、HTTP 客户端、数据库驱动

扫描完成后,它会生成一组规则文件、Skills、Hooks 和流水线,把这些规范固化下来。每次 AI 写代码前,这些约束就自动生效。

实际体验

Reddit 上有开发者分享了真实使用场景:一个维护了三年的 Node.js 项目,用 Espalier 初始化后,发现 Claude Code 之前一直在用 for...in 遍历数组,而团队早就迁移到了 array.prototype.map()。这类问题靠 prompt 是很难根治的,但靠项目级规则可以。

另一个高频场景:多模块项目中,Claude 经常在不同模块之间创建重复的工具函数。Espalier 会在 /espalier-init 时识别出已有模块,在生成代码前提示”这个项目已有 formatDate(),在 src/utils/dates.ts 里”,直接阻止重复劳动。

安装和使用

# 在 Claude Code 里直接安装
/plugin marketplace add Junhanliu-dev/espalier-engineering
/plugin install espalier-engineering@espalier-engineering

# 初始化项目规范
/espalier-init

项目在 GitHub 上采用 MIT 协议,最新版本已支持 v0.11.0,更新了 push gate 的行为定义,改用 exit code 2 + stderr 消息来正确阻塞危险操作。文档里甚至有”旧版本自动迁移链”,从 v0.9.2 → v0.11.0 可以一键平滑升级。


如果你在维护一个中型以上的代码库,Claude Code 或其他 AI 编码工具经常”自说自话”,值得跑一下 /espalier-init 看看它发现了什么。很有可能会发现一些自己团队都快忘了的规范。

GitHubJunhanliu-dev/espalier-engineering


GitHub: https://github.com/Junhanliu-dev/espalier-engineering

评论区

0 条评论

登录后可评论。

陈一铭 13 阅读