你的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 看看它发现了什么。很有可能会发现一些自己团队都快忘了的规范。
GitHub:Junhanliu-dev/espalier-engineering
GitHub: https://github.com/Junhanliu-dev/espalier-engineering
评论区
登录后可评论。