Cursor 规则配置指南:User Rules、Project Rules 与 AGENTS.md 全面对比
在 Cursor 里想让 AI 按项目规范写代码、不用每次重复讲项目背景,需要先搞清三种「规则/记忆」机制的区别。本文对比 User Rules、Project Rules(
.cursor/rules/*.mdc) 和 AGENTS.md,并给出选型与组合建议。
一、为什么需要「持久规则」?
本人在做机器学习项目时遇到了上下文过长、需要agent去事先理解的文档内容过多,若重开一个对话则需要重新读取一遍大量文档的问题,而cursor对话的长度又有限,因此针对这个问题搜索了在cursor中预设项目规则的方法
大模型不会记住上一次对话的内容。每次新开 Chat,如果不额外提供上下文,AI 就不知道你的技术栈、编码约定和业务背景。
Cursor 提供了多层级的规则机制,把「项目背景」「编码规范」「个人偏好」持久化,在 Agent 对话时自动注入上下文,避免反复说明。
二、三种机制一句话区分
| 类型 | 存在位置 | 作用范围 | 主要用途 |
|---|---|---|---|
| User Rules | Cursor 设置(本机/账号) | 所有项目 | 个人习惯、沟通风格 |
| Project Rules | 项目 .cursor/rules/*.mdc |
当前仓库 | 项目规范、架构约定 |
| AGENTS.md | 项目根目录或子目录 | 当前仓库(及子目录) | 简单、可跨工具的项目说明 |
三、User Rules:个人全局规则
3.1 是什么
在 Cursor Settings → Rules → User Rules 中配置,保存在你的 Cursor 环境,不会进入 Git 仓库。
3.2 典型内容
- 回复使用中文
- 不要未经要求就执行 git commit
- 回答简洁,避免废话
- 个人编码偏好(仅适用于自己的习惯)
3.3 特点
- 全局生效:打开任何项目,Agent 对话都会带上
- 个人私有:同事 clone 同一份代码也看不到
- 写法简单:纯文本,无 YAML、无 globs
- 能力有限:不能按文件类型、不能按目录拆分
- 仅影响 Agent 聊天:不影响 Tab 补全,也不影响 Cmd/Ctrl+K 行内编辑
3.4 适合放什么
适合:语言风格、沟通方式、个人工作流偏好
不适合:项目技术栈、团队编码规范、业务背景(这些应写在项目里)
四、Project Rules:.cursor/rules/*.mdc
4.1 是什么
Cursor 官方主推的结构化项目规则,存放在项目 .cursor/rules/ 目录下,使用 .mdc 扩展名(Markdown + YAML frontmatter),可提交到 Git,团队共享。
4.2 目录结构示例
你的项目/
├── .cursor/
│ └── rules/
│ ├── project-overview.mdc # 项目背景(始终生效)
│ ├── vue-patterns.mdc # Vue 专用规范
│ └── api-conventions.mdc # 后端 API 规范
├── src/
└── ...
4.3 文件格式
---
description: Vue 组件编写规范
globs: **/*.vue
alwaysApply: false
---
# Vue 规范
- 使用 `<script setup lang="ts">`
- Props 必须定义类型
- 样式使用 scoped
4.4 Frontmatter 字段说明
| 字段 | 类型 | 说明 |
|---|---|---|
description |
string | 规则描述,用于「智能应用」时让 Agent 判断是否相关 |
globs |
string | 文件匹配模式,如 **/*.ts、**/*.vue |
alwaysApply |
boolean | 为 true 时每次对话都加载 |
4.5 四种生效模式
| 模式 | 配置方式 | 说明 |
|---|---|---|
| Always Apply | alwaysApply: true |
每次对话都加载 |
| Apply Intelligently | 有 description,无 globs |
Agent 根据描述判断是否相关 |
| Apply to Specific Files | 配置 globs |
编辑或引用匹配文件时加载 |
| Apply Manually | 无 description、无 globs | 在聊天中 @规则名 手动引用 |
4.6 特点
- 精细控制:可按文件类型、按需加载、可手动引用
- 可版本管理:提交 Git,团队统一规范
- Cursor 专用:主要面向 Cursor Agent,跨工具能力弱于 AGENTS.md
- 建议单条规则控制在 50 行以内,一个主题一个文件
4.7 适合放什么
- 项目背景与技术栈(
alwaysApply: true) - 前端 / 后端 / 测试分文件规范(配合
globs) - 需要「只在改某类文件时生效」的约定
五、AGENTS.md:通用 Markdown 说明
5.1 是什么
项目根目录(或子目录)下的纯 Markdown 文件,无 YAML frontmatter。Cursor 官方将其描述为 .cursor/rules 的简单替代方案,同时也是较通用的 Agent 说明格式,可被多种 AI 编程工具读取。
5.2 文件示例
# 项目说明
## 技术栈
- 前端:Vue 3 + TypeScript + Element Plus
- 后端:Spring Boot + MyBatis
## 编码约定
- 组件使用 Composition API + `<script setup>`
- API 请求统一走 `src/utils/request.ts`
- 命名:组件 PascalCase,工具函数 camelCase
5.3 嵌套目录支持
project/
├── AGENTS.md # 全项目生效
├── frontend/
│ └── AGENTS.md # 只在 frontend/ 下工作时生效
└── backend/
└── AGENTS.md # 只在 backend/ 下工作时生效
- 根目录
AGENTS.md→ 整个工作区 - 子目录
AGENTS.md→ 在该目录及其子目录内工作时生效 - 更具体的目录规则优先于上层
AGENTS.md 会被 Cursor 自动注入上下文,不是 Agent 每次用 Read 工具去读
和「你在对话里 @ 某个文件让 AI 读一遍」不一样。Cursor 会在 Agent 聊天开始时,按规则把匹配的 AGENTS.md 内容放进模型上下文里,Agent 一般不需要、也通常不会主动去 Read 这个文件。
5.4 特点
- 写法最简单:纯 Markdown,无元数据
- 作用范围靠目录位置推断:不支持
globs、不支持alwaysApply - 跨工具通用:适合团队里同时使用多种 AI 编程工具
- 不适合复杂拆分:规则很多时不如
.mdc好管理
5.5 适合放什么
- 项目是什么、怎么跑、架构概览
- Monorepo 里按子项目分说明
- 需要给 Cursor 以外的 AI 工具共用的文档
六、三者全面对比
6.1 作用范围
User Rules → 所有项目、所有 Agent 对话
AGENTS.md(根目录) → 整个当前项目
AGENTS.md(子目录) → 该目录及子目录
.cursor/rules/*.mdc → 当前项目,可按条件加载
6.2 是否可共享、可版本管理
| User Rules | .mdc |
AGENTS.md |
|
|---|---|---|---|
| 提交到 Git | ❌ | ✅ | ✅ |
| 团队共享 | ❌ | ✅ | ✅ |
| 换电脑 | 跟 Cursor 账号/设置 | 跟仓库走 | 跟仓库走 |
6.3 控制能力
| 能力 | User Rules | .mdc |
AGENTS.md |
|---|---|---|---|
| 始终加载 | ✅ 默认全局 | ✅ alwaysApply: true |
✅ 根目录 ≈ 全项目 |
| 按文件类型 | ❌ | ✅ globs |
❌ |
| 按需智能加载 | ❌ | ✅ description |
❌ |
| 手动 @ 引用 | ❌ | ✅ | ❌ |
| 跨 AI 工具 | ❌ | ❌ | ✅ |
6.4 .mdc 与 AGENTS.md 的额外对比
| 维度 | .cursor/rules/*.mdc |
AGENTS.md |
|---|---|---|
| 定位 | Cursor 原生结构化规则 | 通用 Agent 说明 |
| 格式 | Markdown + YAML frontmatter | 纯 Markdown |
| 生效控制 | 四种模式 + globs | 靠文件所在目录 |
| 管理界面 | Cursor Settings 可视化管理 | 直接编辑 Markdown |
| 选型建议 | 只用 Cursor、规则会变多 | 追求简单或需跨工具 |
6.5 冲突时的优先级
Cursor 官方顺序(前者优先):
Team Rules → Project Rules / AGENTS.md → User Rules
若 User Rules 与项目规则矛盾,以项目规则为准。
七、还有第四种:Cursor Memories
除上述三种外,Cursor 还支持 Memories(对话记忆):在聊天中说「记住:本项目用 Vue 3」,AI 会保存为记忆,跨对话可用。
| 项目规则 / AGENTS.md | Memories | |
|---|---|---|
| 存储 | 项目文件(可 Git) | Cursor 自动提取 |
| 可控性 | 高,直接编辑 | 由 AI 管理 |
| 适合 | 结构化规范 | 零散偏好 |
建议:项目背景、编码规范优先写进 .mdc 或 AGENTS.md,比 Memory 更稳定、可版本管理。
八、怎么选?实战建议
8.1 按需求选型
| 你的需求 | 推荐方案 |
|---|---|
| 一份项目背景,始终生效 | 根目录 AGENTS.md,或 .mdc 设 alwaysApply: true |
| Vue / 后端规则分开 | .mdc + globs |
| 还要给 Claude Code、Copilot 等用 | 优先 AGENTS.md |
| 规则会越来越多 | .mdc 拆成多个文件 |
| 只对你个人有用的偏好 | User Rules |
| 不想每次重复讲项目背景 | 别放 User Rules;放项目里 |
8.2 经验法则
- 只对你自己有用 → User Rules
- 对整个项目 / 团队有用 →
.mdc或AGENTS.md - 项目背景放 User Rules →换项目会污染上下文,且无法共享
8.3 推荐组合(多数团队)
project/
├── AGENTS.md # 通用:项目背景、架构、跨工具约定
└── .cursor/rules/
├── vue-patterns.mdc # Cursor 专用:Vue 文件规范
└── api-conventions.mdc # Cursor 专用:后端 API 规范
同时在 Cursor Settings 的 User Rules 里写个人偏好。
九、配置示例
9.1 User Rules(全局,Cursor 设置里写)
- 用中文回复
- 不要未经要求就 git commit
- 改动尽量小,不要过度设计
9.2 Project Rule(.cursor/rules/project-overview.mdc)
---
description: 实训项目背景与规范
alwaysApply: true
---
# 学生管理系统
## 技术栈
- 前端:Vue 3 + Element Plus + TypeScript
- 后端:Spring Boot + MyBatis
## 编码约定
- 组件用 Composition API + `<script setup>`
- API 前缀 `/api`,统一封装在 `src/utils/request.ts`
- 组件 PascalCase,工具函数 camelCase
9.3 AGENTS.md(根目录,纯 Markdown 替代方案)
内容与上面类似,去掉 YAML frontmatter 即可。
十、快速上手步骤
方式 A:创建 Project Rules
- 在项目根目录创建
.cursor/rules/文件夹 - 新建
project-overview.mdc,设置alwaysApply: true - 写入项目背景与编码规范
- 提交到 Git,团队共享
方式 B:创建 AGENTS.md
- 在项目根目录新建
AGENTS.md - 用 Markdown 写项目说明与规范
- 提交到 Git
方式 C:配置 User Rules
- 打开 Cursor Settings → Rules → User Rules
- 写入个人全局偏好
- 无需提交 Git
方式 D:让 AI 帮你生成
在 Cursor Agent 里说:
帮我在这个项目创建规则文件,技术栈是 xxx,编码规范是 xxx
或使用 /create-rule 命令,Agent 会自动生成带 frontmatter 的 .mdc 文件。
十一、总结
| 你想解决什么问题 | 用什么 |
|---|---|
| 个人沟通风格、全局偏好 | User Rules |
| 项目背景 + 精细按文件类型控制 | .cursor/rules/*.mdc |
| 简单项目说明 + 跨工具共享 | AGENTS.md |
| 两者都要 | AGENTS.md + .mdc + User Rules 组合 |
核心原则:项目相关的写进仓库,个人相关的写在 User Rules。 这样 AI 每次对话都能自动带上项目上下文,你也不用反复解释「这个项目是什么、该怎么写代码」了。
更多推荐


所有评论(0)