- Published on
Rules in Cursor
- Authors
- Name
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/rules 或 AGENTS.md。
Project Rules 的结构
Project Rule 一般使用 MDC(.mdc)格式编写。
它把元数据和正文写在同一个文件里,便于管理。
常见的 Rule 类型如下:
| Rule Type | Description |
|---|---|
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可以逐步迁移