Cursor Rules

2025/10/13 共 2079 字,约 6 分钟
= =

Cursor Rules 用法详解:让 AI 编辑器真正懂你

2025-10-13

Cursor 是目前最火的 AI 原生代码编辑器之一,它不只是一个“带聊天框的 VS Code”,而是一个真正试图理解你开发上下文、编码风格和项目规范的智能编程伙伴。但很多人用了一段时间后发现:AI 生成的代码风格不一致、总忽略项目约定、甚至在不该改的地方乱改——问题往往出在没用好 Cursor Rules

做好 AI 编程,最重要的是什么?是规则(Rules)。


为什么需要 Cursor Rules?

大模型天生“自由散漫”:它知道全世界的编码范式,却不知道你这个项目里变量要用驼峰还是下划线,测试覆盖率要 80% 还是 100%,API 响应要不要统一包装。没有约束的 AI,就像没有交通规则的马路——看似自由,实则混乱。

Cursor Rules 的核心思想很简单:把项目的“潜规则”显式写下来,让 AI 遵守
这本质上是一种“测试驱动开发”(TDD)在 AI 时代的延伸——你先定义好“什么是对的”,AI 才能朝着对的方向生成。


Cursor Rules 是什么?

Cursor Rules 是一组以 cursorrules 为文件名(无扩展名)的纯文本规则文件,放在项目根目录或子目录中。Cursor 会在执行任何 AI 操作(如 /edit/fix/doc)时自动读取并遵守这些规则。

规则语法极其简单,就是自然语言。例如:

- 所有函数必须有 JSDoc 注释
- 使用 async/await 而不是 .then()
- 禁止使用 var,只用 const 和 let
- API 响应格式必须为 { code: number, data: any, msg: string }
- 测试文件必须放在 __tests__ 目录下

你甚至可以写得更具体:

- 用户模块的密码字段必须经过 bcrypt 加密
- 所有路由必须经过 authMiddleware 中间件
- 组件命名以大写字母开头,如 UserProfile.vue

规则如何生效?作用域与继承

Cursor Rules 支持目录级作用域

  • 项目根目录的 cursorrules 对整个项目生效
  • src/api/ 下的 cursorrules 只对 API 相关代码生效
  • 子目录规则会继承并覆盖父目录规则

这意味着你可以为不同模块定制不同规范。比如前端组件库强调 props 校验,而后端服务强调错误码统一,各自写各自的规则即可。


实战:用 Rules 解决常见痛点

场景 1:AI 总生成不符合 ESLint 的代码

问题:你项目用了 Airbnb ESLint 规则,但 AI 生成的代码缩进是 2 空格,而你要求 4 空格。

解决:在根目录 cursorrules 中加入:

- 使用 4 个空格缩进
- 字符串必须用双引号
- 禁止使用 console.log(生产代码)

从此,AI 生成的代码基本能通过 lint。


场景 2:团队风格不一致

问题:前端团队有人喜欢写 if (user),有人写 if (user !== null && user !== undefined),AI 混着用。

解决:明确写入规则:

- 空值检查统一使用 !!user 或 user != null(允许 null 但不允许 undefined)
- 布尔判断优先使用显式比较,避免隐式转换

规则一写,风格立刻统一。


场景 3:AI 修改了你不希望它碰的代码

问题:你有一个 legacy 模块,暂时不能重构,但 AI 总想“优化”它。

解决:在该目录下放一个 cursorrules

- 禁止修改此目录下的任何文件
- 如需调整,请联系 @zhangsan

虽然 AI 不能 100% 遵守“禁止修改”,但会显著降低误操作概率——它会意识到这是敏感区域。


高级技巧:结合项目文档

最好的 Rules 不是凭空写的,而是从项目 README、CONTRIBUTING.md 或架构文档中提炼出来的。
你可以直接复制关键约定:

- 参考 docs/architecture.md:所有数据访问必须通过 Repository 层
- 遵循 docs/style-guide.md:CSS 类名使用 BEM 命名

这样,Rules 就成了项目规范的“可执行摘要”。


注意事项

  1. 规则越具体越好。避免写“代码要优雅”这种模糊语句,而是写“函数行数不超过 50 行”。
  2. 定期更新 Rules。随着项目演进,规范也会变,Rules 要同步。
  3. 不要过度约束。太多规则会让 AI 束手束脚,聚焦关键约定即可。
  4. 目前不支持动态规则(如从 .eslintrc 自动导入),需手动维护。

结语:Rules 是你和 AI 的契约

在 AI 编程时代,代码规范不再只是给人看的文档,更是给 AI 执行的指令
Cursor Rules 看似简单,却是让 AI 从“玩具”变成“生产力工具”的关键一步。

就像本文开头所说:定义好规则,AI 才能真正为你所用
与其抱怨 AI 不懂你,不如花 10 分钟写下你的 cursorrules——这可能是 ROI 最高的 10 分钟。

附:
Cursor 官方 Rules 文档:https://cursor.sh/docs/rules
示例项目 Rules 集合:https://github.com/cursor-examples/awesome-cursor-rules


下一篇预告:《用 Cursor Rules + SWE-Bench 构建可评测的 AI Coding 工作流》

文档信息

Search

    Table of Contents