[

在 Cursor 0.45+ 版本中,.mdc 文件(Markdown Configuration)作为项目规则的核心组成部分,允许开发者为 AI 提供结构化的上下文指导。这些规则帮助 AI 理解项目的编码风格、架构约定、工具链配置等,从而生成更符合团队规范的代码。


📂 .mdc 文件结构与规范

每个 .mdc 文件由两部分组成:

  1. YAML 前置元数据(Frontmatter):定义规则的基本信息。
  2. 规则正文:使用 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 支持四种规则类型,每种类型适用于不同的场景:

  1. Always:始终包含在模型上下文中。适用于项目的核心规则。
  2. Auto Attached:当引用与通配模式匹配的文件时包含。适用于特定模块或功能的规则。
  3. Agent Requested:规则可供 AI 使用,由 AI 决定是否包含。必须提供描述。适用于辅助性规则。
  4. Manual:仅在明确使用 @ruleName 提及时包含。适用于临时或特定场景的规则。

例如,001-core.mdc 可以设置为 Always 类型,确保核心规则始终被应用;200-ui.mdc 可以设置为 Auto Attached 类型,仅在涉及 UI 相关文件时应用。


📚 参考资源


Logo

欢迎加入DeepSeek 技术社区。在这里,你可以找到志同道合的朋友,共同探索AI技术的奥秘。

更多推荐