Vibe session · Learning mode阅读、尝试、提问都留在同一个工作区
Course Map
练习进度 0/55
Learning Guide
Build session

Cursor Project Rules 设计实战

intermediate · 20-30 min · 步骤 1/4

同一个目标,不同的入口

如果你已经学过上一节的 CLAUDE.md,你心里可能有个疑问:".cursorrules 不就是 Cursor 版的 CLAUDE.md 吗?内容不是一样的?"

答案是:本质上,是的。但细节上,差别挺大的。

CLAUDE.md 和 Cursor Project Rules 解决的是同一个问题——把项目约束变成可复用的上下文。但两种工具的文件位置、作用范围和触发方式不同。

按你的情况选择 AI 编程工具——Cursor、Claude Code 等各有优势

三个关键区别

区别 1:载体不同

CLAUDE.md 是一个 Markdown 文件——就是一个普通的 .md 文件,你用任何文本编辑器都能写。Claude Code 在终端里运行,它读这个文件就像读一篇文章。

.cursorrules 则更复杂一些。Cursor 在 2025 年做了一次大改版,引入了 Project Rules 系统——用 .mdc(Markdown Component)格式的文件,放在 .cursor/rules/ 目录下。每个 .mdc 文件有自己的元数据(描述、适用范围、是否全局生效),不再是一个扁平的文本文件。

老的 .cursorrules 文件(放在项目根目录的那个)仍然可以用,但 Cursor 官方已经在推新格式了。你现在新写规则,建议直接用 .cursor/rules/ 目录。

# 老格式(仍然支持,但已经 deprecated)
project-root/
└── .cursorrules          # 一个文件写所有规则

# 新格式(推荐)
project-root/
└── .cursor/
    └── rules/
        ├── general.mdc       # 全局规则
        ├── frontend.mdc      # 前端专用规则
        ├── backend.mdc       # 后端专用规则
        └── testing.mdc       # 测试规则

区别 2:生效范围不同

CLAUDE.md 的逻辑比较简单:根目录的文件全局生效,子目录的文件在子目录里生效。没了。

Cursor 的 Project Rules 则有一个更精细的控制系统。每个 .mdc 文件的头部可以指定:

---
description: "React 组件规范"
globs: "src/components/**/*.tsx"
alwaysApply: false
---
  • alwaysApply: true — 全局生效,类似 CLAUDE.md 根目录文件
  • alwaysApply: false + globs — 只在匹配的文件路径上生效。比如上面的规则只在 src/components/ 目录的 .tsx 文件上生效
  • alwaysApply: false + 无 globs — 不会自动生效,需要你在对话中用 @rules 手动引用
这意味着你可以做到非常精细的控制:前端组件有前端的规则,后端 API 有后端的规则,测试文件有测试的规则。它们互不干扰。

说实话,这个设计比 CLAUDE.md 更先进。CLAUDE.md 目前还做不到"只在某些文件上生效"这种精细度。

区别 3:使用场景不同

Claude Code 是一个 CLI 工具——你在终端里跟它对话,它帮你改代码、跑命令、提交 Git。它更像一个"资深同事坐在你旁边"的感觉。

Cursor 是一个 IDE——你可以在 Chat/Agent 中处理多文件任务,也可以用 Cmd/Ctrl+K 做 Inline Edit。官方当前说明 Project Rules 提供给 Agent 和 Cmd-K,不会影响 Cursor Tab。所以不要把“控制 Tab 补全风格”写成这个功能的学习目标。

所有 AI 编程工具的共同能力——自然语言生成代码、理解上下文、多轮对话

一张对比表

维度CLAUDE.md.cursorrules / Project Rules
工具Claude Code (CLI)Cursor (IDE)
文件格式Markdown (.md)旧: 纯文本;新: .mdc (Markdown Component)
位置项目根目录旧: 根目录;新: .cursor/rules/
生效范围全局 / 子目录全局 / 按 glob 匹配文件
手动引用不支持支持 @rules
层级系统CLAUDE.md + .claude/rules/.cursor/rules/ 多文件
适用场景终端操作、Git、多文件任务Agent/Chat、Cmd/Ctrl+K Inline Edit
ALWAYS DO / ASK FIRST / NEVER DO 三级规则体系

那么问题来了:两个都要写吗?

如果你的团队同时用 Claude Code 和 Cursor——是的,两个都要写。但好消息是核心内容(技术栈、编码规范、禁止规则)是一样的,你可以先写一个,让 AI 帮你转换成另一个格式。

# 实际操作
1. 先写 CLAUDE.md(内容更全面)
2. 在 Claude Code 里说:"根据 CLAUDE.md 的内容,帮我生成 .cursor/rules/ 下的规则文件"
3. Claude Code 会帮你拆分成多个 .mdc 文件

如果你的团队只用 Cursor,那只写 .cursor/rules/ 就够了。反过来也一样。

不过话说回来,如果你是个人开发者,我建议至少学会写 CLAUDE.md。原因是:CLAUDE.md 是纯 Markdown,在任何 AI 工具里都能用(你甚至可以把它复制到 ChatGPT 对话的开头)。而 .cursorrules 的 .mdc 格式是 Cursor 专用的,换了工具就不认了。

Vibe Workspace
Live build context

Cursor Project Rules 和 CLAUDE.md 有什么区别?

从根本上理解 Cursor 的规则系统,以及它和 Claude Code 配置的异同

自动保存在此设备
理解 Cursor Project Rules 和 CLAUDE.md 的异同掌握 Cursor Project Rules (.mdc) 的新格式了解常见的 rules 模式(技术栈、代码风格、安全规则等)
Home| Vibe Lab
草稿自动保存