配置 Rules 不一定要从零写。

你可以直接在 Cursor chat 里这样说:

分析我的项目结构和现有代码,帮我生成一份适合这个项目的 Cursor Rules 文件。
关注这几点:

  1. 当前代码使用的技术栈和版本
  2. 命名规范(从现有文件名推断)
  3. 错误处理模式(从现有 service 层推断)
  4. 我不想让 AI 改动的配置文件

输出格式:.mdc 文件内容,Auto Attached 类型,glob 匹配 *.java
AI 会读取你当前打开的文件,结合项目上下文生成一份初版 Rules。不会完全准确,但能省掉 60-70% 的初始配置时间,剩下的手工修正即可。

这个方法特别适合接手老项目:让 AI 先分析现有代码风格,自动总结出「这个项目的潜规则」,写成 Rules 文件,从此新人和 AI 都按同一套标准走。

分模块管理:超过 500 行就拆
单个 .mdc 文件官方建议不超过 500 行。超出这个限制,AI 读取效率会下降,而且一个大文件也不好维护。

推荐的拆分结构:

.cursor/rules/
├── always-global.mdc # Always 类型,全项目基础规范(< 30 行)
├── java-spring.mdc # Java/Spring Boot 规范
├── go-project.mdc # Go 规范
├── testing.mdc # 测试规范
├── sql-migration.mdc # 数据库迁移规范(Flyway/Liquibase)
├── security-review.mdc # 安全审计检查清单(Manual 类型)
└── performance-opt.mdc # 性能优化要点(Manual 类型)
.mdc 文件还支持 @file 语法引用其他规则文件,实现规则链:

在 java-spring.mdc 里可以引用

@file .cursor/rules/testing.mdc

当生成 Service 层代码时,同时参考测试规范。
团队协作重点: Rules 文件要提交到 Git。在 README.md 里加一行说明 Rules 文件的位置和更新方式,新人克隆项目后直接就有完整的 AI 规范配置。这是把团队经验固化进版本控制的方式,比口口相传靠谱得多。

Cursor 配置前后效果对比流程图
图:从「无 Rules → AI 随机生成」到「有 Rules → AI 遵守项目规范」的对比

踩坑记录:这几个问题我见过不止一次
坑一:glob 路径写错,规则从不触发

Auto Attached 类型最常见的问题。globs: .java 只匹配根目录的 Java 文件,项目里绝大多数文件在子目录下,需要写成 **/.java。

另一个常见错误:路径用了绝对路径,比如 /src/main/java//*.java。Cursor 的 glob 是相对项目根目录的,直接写 src/main/java//*.java 就行,前面不加斜杠。

坑二:Rules 写得太长,AI 只用了前半段

我自己犯过这个错:把所有规范塞进一个文件,洋洋洒洒 800 行。AI context 窗口有限,后面的内容事实上没被重视。按功能拆分,每个文件只讲一件事,是解法。

坑三:Always 类型用太多,性能下降

Always 规则每次请求都消耗 context,配了 10 个 Always 规则之后感觉 Cursor 变慢了,回答质量也下降了。把 70% 的 Always 改成 Auto Attached 之后,明显改善。

坑四:忘了把 .cursor 目录加进 .gitignore 的例外

一些项目的 .gitignore 里有 .cursor/,导致 Rules 文件没提交到仓库。检查一下:

git check-ignore -v .cursor/rules/java-spring.mdc
如果有输出,说明被忽略了,在 .gitignore 里加:

!.cursor/rules/
常见问题
Q:项目已经用了 .cursorrules,要立刻迁移吗?

不用立刻迁移,.cursorrules 目前还能用。但建议新写的规则都放到 .cursor/rules/ 下,旧文件慢慢迁移。两套系统可以同时存在,Cursor 会合并加载。

Q:Rules 文件里能写代码吗?

可以。放一个「正确示例 vs 错误示例」的对比,AI 学起来比纯文字规范快得多。示例 20-30 行够了,太长反而分散注意力。

Q:规则之间冲突了怎么办?

Cursor 会把所有加载的 Rules 合并进 system prompt,冲突时 AI 按最后出现的规则优先。最简单的解法是给规则加优先级说明:「如果以下规则与其他规则冲突,以本文件为准。」

Q:团队不同成员有不同的编码习惯,Rules 怎么统一?

先在团队内讨论出一份「最小公约数」规范,只写所有人都认可的强制项,争议内容先不写进 Rules。把 Rules review 纳入 Code Review 流程,Rules 文件变更需要全员审核。

Q:.mdc 文件的 description 字段有字数限制吗?

没有硬性限制,但建议 50 字以内。description 是 Agent Requested 类型时 AI 判断是否加载的依据,写得越精准,AI 的判断越准确。太长的描述反而会干扰判断。

参考资料
Cursor Rules 官方文档
Cursor Changelog - Rules CLI 命令(2026-01-08)
Awesome CursorRules - 社区规则模板集合
说白了,Cursor Rules 不是什么高深技术,就是把你团队口耳相传的「不成文规定」写成 AI 能读懂的文档。Java 项目禁止 var、Go 项目必须处理 error、REST 接口统一返回 Result——这些规矩本来就存在,只是以前新人要踩一遍才知道,现在把它写进 .mdc,AI 和新人都不用再踩了。

下篇打算聊「Cursor 的 Memory 功能和 Rules 怎么配合用」,感兴趣的关注一下,发了第一时间推给你。身边有同事也在头疼 Cursor 老是生成不符合规范的代码,可以把这篇甩给他,省他自己摸索。
beeaa00ee37c5db0e2fb2c5c5efe4f29

回复「prompt」获取本文完整 Cursor Rules 模板合集(含 Spring Boot / Go / 测试 / 安全审计 4 套)。

.cursorrules 与新系统对比、4 种激活类型对比表
图:旧系统 vs 新系统对比,4 种激活类型使用场景速查

Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐