cursor如何编写高效规则
·
[
在 Cursor 0.45+ 版本中,.mdc 文件(Markdown Configuration)作为项目规则的核心组成部分,允许开发者为 AI 提供结构化的上下文指导。这些规则帮助 AI 理解项目的编码风格、架构约定、工具链配置等,从而生成更符合团队规范的代码。
📂 .mdc 文件结构与规范
每个 .mdc 文件由两部分组成:
- YAML 前置元数据(Frontmatter):定义规则的基本信息。
- 规则正文:使用 Markdown 格式详细描述规则内容。(AI分享圈, Cursor - Community Forum)
示例:
---
description: "在 React 项目中使用 TypeScript 和 Tailwind CSS"
globs:
- "src/**/*.tsx"
alwaysApply: true
---
## 规则说明
- 使用 TypeScript 编写所有组件。
- 使用 Tailwind CSS 进行样式设计。
- 遵循团队的命名约定。
@file ../tsconfig.json
@file ../tailwind.config.js
🧠 如何编写高效规则
1. 明确规则描述
在 description 字段中,使用简洁明了的语言描述规则的目的和适用范围。例如:
description: "强制使用 TypeScript 编写所有组件"
避免模糊的表述,如 “尽量使用 TypeScript”。
2. 使用通配符(Globs)精确匹配文件
通过 globs 字段指定规则适用的文件路径模式。例如:
globs:
- "src/**/*.tsx"
这表示规则仅适用于 src 目录下的所有 .tsx 文件。
3. 分类组织规则文件
为了提高规则的可维护性和可读性,可以按照功能或模块对规则文件进行分类。例如:
.cursor/rules/
├── 001-core.mdc
├── 100-api.mdc
└── 200-ui.mdc
其中,001-core.mdc 包含项目的核心规则,100-api.mdc 包含 API 相关的规则,200-ui.mdc 包含 UI 相关的规则。
4. 提供正反例子
在规则正文中,提供清晰的正反例子,帮助 AI 更好地理解规则的应用。例如:
### 正确示例
```tsx
const Button: React.FC = () => <button className="btn">Click me</button>;
错误示例
const Button = () => <button className="btn">Click me</button>;
:contentReference[oaicite:61]{index=61}
### 5. 使用引用文件提供上下文
:contentReference[oaicite:63]{index=63}:contentReference[oaicite:65]{index=65}
```md
@file ../tsconfig.json
@file ../tailwind.config.js
这有助于 AI 理解项目的配置和约定。(CSDN)
🛠️ 规则类型与应用场景
Cursor 支持四种规则类型,每种类型适用于不同的场景:
- Always:始终包含在模型上下文中。适用于项目的核心规则。
- Auto Attached:当引用与通配模式匹配的文件时包含。适用于特定模块或功能的规则。
- Agent Requested:规则可供 AI 使用,由 AI 决定是否包含。必须提供描述。适用于辅助性规则。
- Manual:仅在明确使用
@ruleName提及时包含。适用于临时或特定场景的规则。
例如,001-core.mdc 可以设置为 Always 类型,确保核心规则始终被应用;200-ui.mdc 可以设置为 Auto Attached 类型,仅在涉及 UI 相关文件时应用。
📚 参考资源
更多推荐


所有评论(0)