CLAUDE.md / .cursorrules 怎么写?别写项目说明书,只写这三类

在这里插入图片描述

给 AI 编程助手写 CLAUDE.md / .cursorrules,很多人第一反应是把项目从头介绍一遍:技术栈、目录分层、命名风格、提交规范,一口气写十页。

然后 AI 该乱来还是乱来。

问题不在 AI 笨,而在于那十页里很多内容它自己就能从代码读出来:技术栈看依赖清单,目录分层看文件结构,命名规范扫几行代码就能归纳。

CLAUDE.md 该写的不是“AI 能读到什么”,而是“AI 会不会照做”。

在这里插入图片描述

一、CLAUDE.md 该写什么:三类内容

类别是否该写说明
技术栈、目录结构不建议写AI 读代码就能知道
普通命名规范不建议写AI 读得到,也通常会照做
硬规矩必写AI 读得到,却会违背
取舍和否决必写AI 根本读不到为什么不用某方案
文档骨架必写文档散落时 AI 自己串不起来

判断标准:不是能不能读到,是会不会照做

二、第一类:AI 读得到却会违背的硬规矩

举一个真实例子:项目用 CodeFirst,数据库结构由实体类定义,框架启动时自动同步,不手写迁移脚本。

但 AI 看到“加字段”时,容易给出:

ALTER TABLE xxx ADD xxx ...

这不是因为它没读到项目做法,而是因为训练数据里“改数据库”的主流做法就是迁移脚本。AI 会把主流做法默认平移到你的项目上。

这种规矩要写成门禁:

## 数据库变更门禁

- 唯一真相源:实体类定义。
- 禁止:ALTER TABLE、CREATE TABLE、手写迁移脚本、直接 DDL。
- 正确做法:通过实体类变更,让框架自动同步。
- 命中风险时:先停手,说明冲突,再给符合项目约定的方案。

写法原则:

  • 默认禁止 + 白名单:不要写“尽量不要”,要写“默认禁止”。
  • 正反都写:既写正确做法,也写禁止形式。
  • 统一术语:逼 AI 用项目里的词思考,不用主流词滑回主流写法。

三、第二类:否决过的方案和取舍

AI 读代码能知道“现在用了什么”,但它很难知道“为什么不用另一个方案”。

所以你不写,它就会反复翻案。比如项目早就决定不引入某个消息中介库、不拆某个复杂分层、不走某种“业界标准”架构,AI 换个需求又会把它加回来。

每条重要取舍建议写五项:

内容
原则我们选择什么 / 不用什么
原因为什么这样选
代价接受了什么损失
反例真实踩过什么坑
位置对应代码或文档在哪里

还要补一道规则:方案撞上已定决策时,AI 必须停手指出冲突,请用户定夺,禁止以“用户明确要求”为由绕过

四、第三类:文档骨架和同步契约

文档多不等于体系成型。

背景、领域、流程、决策都写了,如果没有入口,新人和 AI 还是不知道从哪看起;改了业务代码,如果没有同步契约,文档很快就会开始说谎。

骨架只需要三样:

  1. 全局导航:一份 README / index,把人和 AI 引到正确起点。
  2. 能改 / 不能改清单:事实源不许动,可再生产物授权内改。
  3. 同步契约:改了哪类代码,必须同步哪些文档。

多套规则并存时,不要每份都写全。更稳的是:

单一真相源 + 分层链接 + 明确仲裁顺序

两份都写全,早晚漂移。

在这里插入图片描述

五、CLAUDE.md 不该写什么

AI 读代码就能正确照做的,别写。

比如技术栈、目录结构、普通命名规范,多数情况下它自己能归纳,也会跟随。你再写一遍,只会占上下文预算,稀释真正重要的规则。

但数据库变更这种硬规矩不一样:AI 读得到,却容易违背,所以必须写,而且要写成门禁。

六、总结

CLAUDE.md / .cursorrules 写得好不好,不看字数,看新会话能不能一轮就上手。

三类写全:它会违背的硬规矩、它读不到的取舍、它串不起来的骨架
这三类不写,十页规则也拦不住 AI 乱来。

你项目里最该补进 CLAUDE.md 的,是硬规矩、技术取舍,还是文档骨架?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

无为AI

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值