跳到主要内容

规则配置(Rules)

规则允许您为 Agent 和 Cmd-K AI 提供系统级的指导。您可以将它们视为为项目或个人持久化编码上下文、偏好设置或工作流程的方式。

Cursor 支持三种类型的规则:


规则工作原理

大型语言模型在生成补全内容时不会保留记忆。规则通过在提示词层面提供持久化、可复用的上下文来解决这一问题。

当应用规则时,其内容会被包含在模型上下文的起始位置。这为 AI 提供了持续指导,无论它是在生成代码、解释编辑操作,还是协助工作流程。

在上下文中应用的规则与聊天


项目规则

项目规则存储在 .cursor/rules 目录中。每个规则以文件形式保存并支持版本控制。它们可以通过路径模式限定作用范围,手动调用,或根据相关性自动包含。子目录可以包含自己的 .cursor/rules 目录,其作用范围限定于该文件夹。

项目规则的典型用途:

  • 编码与代码库相关的领域知识
  • 自动化项目特定的工作流程或模板
  • 标准化代码风格或架构决策

规则类型

每个规则文件都使用 MDC.mdc)格式编写,这是一种轻量级格式,支持在单个文件中存储元数据和内容。规则支持以下类型:

规则类型描述
Always始终包含在模型的上下文中
Auto Attached当引用与通配符模式匹配的文件时自动包含
Agent Requested规则对 AI 可见,由其决定是否包含(必须提供描述)
Manual仅在使用 @ruleName 显式提及时才会包含

Cursor 中的规则编辑器界面

MDC 规则示例

---
description: RPC 服务样板(boilerplate)代码
globs:
alwaysApply: false
---

- 定义服务时请使用我们内部的 RPC 模式
- 服务名称始终使用 snake_case 命名规范

@service-template.ts

当规则被触发时,类似 @service-template.ts 的引用文件将作为额外上下文被包含。

提示

你可以使用 Cmd + Shift + P > "New Cursor Rule" 在 Cursor 中快速创建规则。

嵌套规则

您可以通过在项目结构中创建 .cursor/rules 目录来组织规则。例如:

project/
.cursor/rules/ # 项目全局规则
backend/
server/
.cursor/rules/ # 后端专用规则
frontend/
.cursor/rules/ # 前端专用规则

嵌套规则具有以下特点:

  • 自动关联:当目录中的文件被引用时自动生效
  • 全局可见:仍会出现在上下文选择器和 Agent 可访问的规则列表中
  • 便于管理:适合将领域特定规则就近存放在相关代码附近

这种组织方式特别适用于以下场景:

  • 需要独立指导规范的 Monorepo 项目
  • 包含多个独立组件的复杂工程
  • 不同模块需要差异化规则配置的代码库

创建规则

您可以通过以下两种方式创建规则:使用 New Cursor Rule 命令,或前往 Cursor Settings >Rules。新建的规则文件将存储在 .cursor/rules 目录中。在设置界面中,您可以查看所有规则的列表及其启用状态。

简洁规则与详细规则对比

生成规则

您可以直接在聊天会话中使用 /Generate Cursor Rules 命令生成规则。

当您与 AI 完成关于如何定义智能体行为的对话后,此功能尤为实用。生成的规则可保存并复用至未来场景。

团队规则管理

目前系统尚未内置跨项目共享规则的功能。

我们计划在未来支持基于 MDC 格式的共享规则体系,实现团队项目间的规则复用。现阶段可采用以下替代方案:

  • 将公共规则集中存储于独立代码库
  • 通过复制或符号链接方式,将规则文件部署至各项目的 .cursor/rules 目录

最佳实践指南

优质规则应具备聚焦性、可操作性和明确适用范围。

  • 保持规则简洁:建议单文件控制在 500 行以内
  • 模块化设计:将复杂概念拆解为多个可组合的子规则
  • 示例驱动:必要时提供具体代码示例或引用相关文件
  • 避免模糊表述:采用内部技术文档的清晰编写标准
  • 复用优先:当发现聊天中重复使用相同提示词时,应及时抽象为可复用规则

示例

领域特定规范
前端组件与 API 验证标准

本规范为前端组件制定统一标准,确保样式与动画一致性:

在 components 目录中工作时:

  • 必须使用 Tailwind 进行样式设计
  • 动画实现采用 Framer Motion
  • 遵循组件命名规范

本规范强化 API 端点的验证标准:

在 API 目录中:

  • 所有验证使用 zod
  • 通过 zod schema 定义返回类型
  • 导出由 schema 生成的类型
样板代码与模板
Express 服务与 React 组件模板

本规范提供创建新 Express 服务的模板:

新建 Express 服务时使用此模板:

  • 遵循 RESTful 原则
  • 包含错误处理中间件
  • 配置完善的日志系统

@express-service-template.ts

本规范定义 React 组件结构:

React 组件应遵循以下布局:

  • 顶部声明 Props 接口
  • 组件作为命名导出
  • 样式定义置于底部

@component-template.tsx

工作流自动化
开发流程与文档生成自动化

开发流程与文档生成自动化

本规范实现应用分析流程自动化:

当请求分析应用时:

  1. 通过 npm run dev 启动开发服务器
  2. 从控制台获取日志
  3. 提出性能优化建议

本规范助力代码文档自动生成:

通过以下方式辅助编写文档:

  • 提取代码注释
  • 分析 README.md
  • 生成 Markdown 文档

来自 Cursor 代码库

以下是我们 Cursor 内部使用的规则

在 Cursor 中使用 Tailwind

这个 VS Code 分支已支持 Tailwind!

使用示例:

  • text-error-foreground
  • bg-input-border
在 Cursor 中添加新设置项

首先在 @reactiveStorageTypes.ts 中创建切换属性。

@reactiveStorageService.tsxINIT_APPLICATION_USER_PERSISTENT_STORAGE 中为其添加默认值。

如果是测试版功能,在 @settingsBetaTab.tsx 中添加开关;否则添加到 @settingsGeneralTab.tsx。常规复选框可使用 <SettingsSubSection> 组件添加。其他类型的控件可参考文件中的现有示例。

<SettingsSubSection
label="你的功能名称"
description="功能描述"
value={
vsContext.reactiveStorageService.applicationUserPersistentStorage
.myNewProperty ?? false
}
onChange={(newVal) => {
vsContext.reactiveStorageService.setApplicationUserPersistentStorage(
'myNewProperty',
newVal
);
}}
/>

在应用中使用时,请导入 reactiveStorageService 并调用相关属性:

const flagIsEnabled = vsContext.reactiveStorageService.applicationUserPersistentStorage.myNewProperty

您可以在 Next.js、Cloudflare 和 Browserbase 等供应商的示例中找到更多规则。社区贡献的规则可在线查阅多个众包合集和代码仓库。


用户规则

用户规则定义在 Cursor Settings > Rules 中。

它们适用于所有项目,并始终包含在模型的上下文中。

您可以使用它们来:

  • 设置回复语言或语气
  • 添加个人风格偏好

示例:

请以简洁的风格回复。避免不必要的重复或填充语言。

用户规则不支持 MDC,仅支持纯文本。


Memories(Beta 版)

Memories 是根据您在聊天中的对话自动生成的规则,其作用范围限定于您的 Git 仓库。我们正在努力扩展其作用范围并优化其工作机制。

您可以通过 Cursor Settings > Rules 查看和删除 Memories。

提示

当前启用了隐私模式(旧版)的用户暂不可使用 Memories 功能。


.cursorrules(旧版)

项目根目录中的 .cursorrules 文件仍受支持,但即将弃用。我们建议迁移至项目规则格式以获得更精细的控制、更高的灵活性和可视化操作。


常见问题解答

为什么我的规则未生效?

请检查规则类型。对于 Agent Requested 规则,请确保已定义描述。对于 Auto Attached 规则,需确保文件模式与引用的文件匹配。

规则能否引用其他规则或文件?

可以。您可以使用 @规则文件 的形式 将文件包含至规则的上下文中。

能否通过聊天创建规则?

支持。您可以使用 /Generate Cursor Rules 命令通过聊天生成项目规则。若已启用 Memories 功能,系统将自动生成记忆条目。

规则会影响 Cursor Tab 或其他 AI 功能吗?

不会。规则仅作用于 Agent 和 Cmd-K AI 模型。