规则为 Agent 和内联编辑提供系统级指令。可以将它们视为项目的持久上下文、偏好设置或工作流程。 Cursor 支持三种类型的规则:

项目规则

存储在 .cursor/rules 中,受版本控制并作用于您的代码库。

用户规则

全局应用于您的 Cursor 环境。在设置中定义并始终生效。

.cursorrules(旧版)

仍然支持,但已弃用。请改用项目规则。

规则的工作原理

大型语言模型在不同的补全之间不会保留记忆。规则在提示级别提供持久的、可重用的上下文。 当应用时,规则内容会包含在模型上下文的开始部分。这为AI提供了一致的指导,用于生成代码、解释编辑或协助工作流程。
Rule applied in context with chat
规则适用于聊天内联编辑。活跃的规则会显示在Agent侧边栏中。

项目规则

项目规则存储在 .cursor/rules 中。每个规则都是一个文件并受版本控制。它们可以使用路径模式进行范围限定,手动调用,或基于相关性包含。子目录可以包含自己的 .cursor/rules 目录,范围限定到该文件夹。 使用项目规则来:
  • 编码关于代码库的领域特定知识
  • 自动化项目特定的工作流程或模板
  • 标准化样式或架构决策

规则结构

每个规则文件都用 MDC (.mdc) 编写,这是一种支持元数据和内容的格式。通过类型下拉菜单控制规则的应用方式,这会改变属性 descriptionglobsalwaysApply
规则类型描述
Always始终包含在模型上下文中
Auto Attached当引用匹配 glob 模式的文件时包含
Agent Requested对 AI 可用,由 AI 决定是否包含。必须提供描述
Manual仅在使用 @ruleName 显式提及时包含
---
description: RPC Service boilerplate
globs:
alwaysApply: false
---

- Use our internal RPC pattern when defining services
- Always use snake_case for service names.

@service-template.ts
@service-template.ts 这样的引用文件在规则触发时作为额外上下文包含。

嵌套规则

通过在整个项目的 .cursor/rules 目录中放置规则来组织规则。当引用其目录中的文件时,嵌套规则会自动附加。
project/
  .cursor/rules/        # 项目范围的规则
  backend/
    server/
      .cursor/rules/    # 后端特定规则
  frontend/
    .cursor/rules/      # 前端特定规则

创建规则

使用 New Cursor Rule 命令或转到 Cursor Settings > Rules 来创建规则。这会在 .cursor/rules 中创建一个新的规则文件。从设置中,您可以看到所有规则及其状态。
Comparison of concise vs long rules

生成规则

使用 /Generate Cursor Rules 命令直接在对话中生成规则。当您对代理行为做出决策并希望重复使用它们时很有用。

最佳实践

好的规则应该是专注的、可操作的和有明确范围的。
  • 保持规则在500行以内
  • 将大型规则拆分为多个可组合的规则
  • 提供具体的示例或引用文件
  • 避免模糊的指导。编写规则时要像清晰的内部文档一样
  • 在聊天中重复提示时重用规则

示例

许多示例可从提供商和框架获得。社区贡献的规则可在在线众包集合和存储库中找到。

用户规则

用户规则是在 Cursor Settings → Rules 中定义的全局偏好设置,适用于所有项目。它们是纯文本格式,非常适合设置首选的沟通风格或编码约定:
Please reply in a concise style. Avoid unnecessary repetition or filler language.

.cursorrules (已弃用)

项目根目录中的 .cursorrules 文件仍然受支持,但将被弃用。我们建议迁移到项目规则以获得更多控制、灵活性和可见性。

常见问题