Published on

Rules in Cursor

Authors
  • Name
    Twitter

Cursor 的 Rules 用来为 Agent 和 Inline Edit 提供可复用、可持续生效的上下文指令。
你可以把它理解为“写给 AI 的项目约定”,它比在每次对话里重复说明风格、约束和工作流更稳定。

Rules 是做什么的

大模型不会在两次补全之间自动保留上下文。
Rules 的作用,就是把这些需要长期保留的信息固定在提示词层,避免每次都重新解释一遍。

当一条 Rule 生效时,它的内容会被放进模型上下文的前部。这样无论 AI 是在:

  • 生成代码
  • 理解改动
  • 帮你执行某个工作流

都能得到相对一致的指导。

根据当前 Cursor 官方文档,Rules 主要作用于:

  • Chat
  • Inline Edit

Cursor 里有哪些 Rules

Cursor 现在常见的规则来源有四类:

  • Project Rules
  • User Rules
  • AGENTS.md
  • .cursorrules(Legacy)

1. Project Rules

Project Rules 存放在 .cursor/rules 目录下,以文件形式保存,并且可以跟随仓库一起做版本管理。

它适合用来:

  • 记录项目的领域知识
  • 约束目录级别的编码规范
  • 固化某类任务的执行模板
  • 统一架构和风格决策

Project Rules 的一个重要特点是可以按范围生效,例如只对某些路径、某类文件或某个子目录生效。

2. User Rules

User Rules 是用户级的全局规则,定义在 Cursor 的设置里。

它适合用来表达你个人长期不变的偏好,例如:

  • 回复语言
  • 代码风格偏好
  • 解释问题时的详细程度

它会作用于所有项目,不适合写那些只针对某个仓库的知识。

3. AGENTS.md

现在 Cursor 也支持使用 AGENTS.md 提供 Agent 指令。
它本质上是一种更直接的 Markdown 约定,适合放仓库级说明。

如果你的团队已经习惯通过 Markdown 文件约束 AI 行为,AGENTS.md 会比单独维护很多细碎规则更直观。

4. .cursorrules(Legacy)

.cursorrules 是旧方案,目前仍然兼容,但已经属于遗留方式。
如果是新项目,通常更建议使用 .cursor/rulesAGENTS.md

Project Rules 的结构

Project Rule 一般使用 MDC(.mdc)格式编写。
它把元数据和正文写在同一个文件里,便于管理。

常见的 Rule 类型如下:

Rule TypeDescription
Always始终加入模型上下文
Auto Attached当引用到符合 glob 的文件时自动附加
Agent Requested由 AI 判断是否需要使用,必须写 description
Manual仅在显式使用 @ruleName 时生效

一个简单示例

---
description: RPC service boilerplate
globs:
  - "app/services/**/*.ts"
alwaysApply: false
---

- Use our internal RPC pattern when defining services.
- Prefer snake_case for generated service identifiers.
- Add tests for the happy path and one failure path.

@service-template.ts

这段规则的意思是:

  • 它描述的是一套 RPC Service 的生成规范
  • 当相关文件被引用时,这条规则有机会自动附加
  • @service-template.ts 这个文件也会被带进上下文,作为补充参考

什么时候该用 Rules

如果你发现自己经常重复下面这些话,就说明很适合沉淀成 Rules:

  • “这个目录一律用 server action,不要写客户端请求”
  • “新增接口必须补参数校验和错误处理”
  • “写 React 组件时统一走我们自己的 design system”
  • “修 bug 时先写复现步骤,再写修复说明”

Rules 最适合承载的是“稳定、重复、项目相关”的信息,而不是一次性的临时要求。

编写 Rules 的建议

  • 一条规则只解决一个主题,避免写成大杂烩
  • 优先写清晰、可执行的要求,少写空泛原则
  • 能给例子就给例子,能引用模板就引用模板
  • 目录级约束尽量拆成多条小规则,后期更容易维护
  • Agent Requested 一定要写清楚 description,否则命中效果会很差

小结

如果你的目标是让 AI 更稳定地遵守项目约定,那么 Rules 是 Cursor 里最重要的能力之一。

简单来说:

  • 项目级约束放 Project Rules
  • 个人偏好放 User Rules
  • 仓库级 Agent 说明可以考虑 AGENTS.md
  • 老项目里的 .cursorrules 可以逐步迁移

参考资料