规则
Rules
规则可以为代理和 Cmd-K 人工智能提供系统级指导。您可以将其视为一种持久的方式,为您的项目或您自己编码上下文、偏好或工作流程。
我们支持三种类型的规则:
项目规则
存储在.cursor/rules
中,受版本控制,适用于您的代码库。
用户规则
Cursor 环境的全局规则。在设置中定义并始终应用。
.cursorrules(传统)
仍受支持,但已过时。请使用项目规则。
规则的工作原理
大型语言模型无法在两次完成之间保留内存。规则通过在提示级别提供持久的、可重复使用的上下文来解决这个问题。
应用规则时,其内容会包含在模型上下文的开头。这就为人工智能提供了一致的指导,无论是生成代码、解释编辑还是帮助工作流程。
项目规则
项目规则位于.cursor/rules
中。每条规则都以文件形式存储,并受版本控制。它们可以使用路径模式进行范围界定、手动调用或根据相关性进行包含。
使用项目规则可以
- 编码有关代码库的特定领域知识
- 自动执行特定于项目的工作流程或模板
- 标准化风格或架构决策
规则结构
每个规则文件都以MDC(.mdc
) 格式编写,这是一种轻量级格式,可在单个文件中支持元数据和内容。规则支持以下类型:
规则类型 | 描述 |
---|---|
总是 | 始终包含在模型上下文中 |
自动附加 | 当引用与 glob 模式匹配的文件时包括在内 |
代理要求 | 规则可供人工智能使用,由人工智能决定是否包含。必须提供说明 |
手动 | 只有在使用@ruleName 明确提及时才会包含 |
MDC 规则示例
触发规则时,将包含@service-template.ts
等引用文件作为附加上下文。
您可以使用Cmd + Shift + P
>"新建Cursor规则 "从Cursor内部快速创建规则。
创建规则
您可以使用 "新建游标规则
"命令或进入 "游标设置">"规则
"来创建规则。这将在.cursor/rules
目录中创建一个新规则文件。在设置中还可以看到所有规则及其状态的列表。
最佳实践
好的规则重点突出、可操作、范围广。
- 保持规则简洁。以 500 行以内为宜
- 将大型概念拆分成多个可组合的规则
- 必要时提供具体示例或参考文件
- 避免模糊的指导。以编写清晰的内部文档的方式编写规则
- 发现自己在聊天中重复提示时,重复使用规则
示例
来自Cursor代码库
这些是我们在 Cursor 内部使用的规则
还有很多来自 Next.js、Cloudflare 和 Browserbase 等提供商的示例。社区贡献的规则可在多个在线众包集合和资源库中找到。
用户规则
用户规则在**"Cursor设置">"规则**"中定义。
它们适用于所有项目,并始终包含在你的模型上下文中。
使用它们可以
- 设置回复语言或语气
- 添加个人风格偏好
举例说明:
用户规则不支持 MDC,只有纯文本。
团队规则
目前还没有跨项目共享规则的内置方法。
我们计划支持可在团队项目间引用的 MDC 格式共享规则。在此之前,您可以
- 将共享规则存储在专用存储库中
- 将共享规则复制或链接到每个项目的
.cursor/rules
目录中
.cursorrules
(传统)
项目根目录中的.cursorrules
文件仍受支持,但将被淘汰。我们建议迁移到项目规则格式,以获得更强的控制性、灵活性和可见性。
常见问题
为什么我的规则没有被应用?
检查规则类型。对于代理请求
,确保定义了描述。对于自动附加
,请确保文件模式与引用的文件相匹配。
规则可以引用其他规则或文件吗?
可以。您可以使用@filename.ts
在规则上下文中包含文件。
我可以从聊天中创建规则吗?
可以。请人工智能 "将此转化为规则 "或 "根据此提示创建可重复使用的规则"。
**规则会影响Cursor选项卡或其他人工智能功能吗?**不会。规则只提供给代理和 Cmd-K 人工智能模型。