什么是 Cursor Rules?
Cursor Rules 是 Cursor 编辑器的规则配置系统,用于指定 AI 在代码生成、项目分析和对话过程中必须遵循的特定规范和标准。 它本质上是为你的项目建立了一套“AI 宪法”。通过定义项目背景、编码规范、库偏好等,你可以有效减少 AI 的“幻觉”,确保其生成的代码与你的项目需求高度契合。
Rules 解决了 AI 编程中最大的痛点: 上下文漂移 。即使你在对话中强调了规范,AI 也很容易在几次对话后遗忘。Rules 则是持久化的约束,每次对话都会自动挂载。
规则类型:User vs Project
Cursor 提供两个级别的规则配置,分别满足通用偏好和项目特有规范。
| 类型 | 配置位置 | 适用场景 |
|---|---|---|
| User Rules | Cursor Settings > Rules | 全局通用:如输出语言(中文)、回复简洁程度、通用代码缩进等。 |
| Project Rules |
.cursor/rules/
目录
|
项目特有:技术栈(Next.js 14)、目录结构、API 封装规范等。 |
.mdc 文件格式详解
从 2024 年末开始,Cursor 引入了全新的
.mdc
(Markdown Config) 格式,支持基于 Glob 模式的自动触发。
--- description: React 组件编写规范 globs: **/*.tsx, **/*.jsx alwaysApply: false --- # React 编码规范 ## 组件结构 - 优先使用函数式组件 (RFC)。 - 使用 TypeScript 接口定义 Props。 - 逻辑较重的 Hook 必须抽取到 `hooks/` 目录。 ## 样式规范 - 仅允许使用 Tailwind CSS。 - 严禁使用内联 style 属性。
通过 globs ,你可以让特定的规则仅在处理 React 文件或 Python 文件时生效,避免不相关的规则干扰 AI 的判断,从而节省 Token 并提高生成速度。
实战场景:解决具体问题
场景一:维持大型架构的一致性
问题:
在多模块项目中,AI 经常会引入不符合项目约定的第三方库或错误的模块引用方式。
解决方案:
创建一个 `architecture.mdc`,设定 `alwaysApply: true`,明确禁止使用的库(如:禁止使用
axios,统一使用 fetch 封装的 http 模块)。这样 AI 在任何对话中都会自动遵守该限制。
场景二:自动化新成员入场 (Onboarding)
问题:
新开发者(或 AI)接手项目时,不熟悉复杂的目录结构和脚本指令。
解决方案:
建立 `onboarding.mdc`,详细列出目录树含义、常用的 `npm run` 命令以及提交代码前的
Checkbox。当 AI 尝试修改项目时,它会自动根据此文档进行自我检查。
场景三:消除“AI 幻觉”导致的低级错误
问题:
AI 可能会生成已被弃用的 API(如 Next.js 13 的旧版导航)。
解决方案:
在 `nextjs.mdc` 中明确指定:使用 `next/navigation` 而非 `next/router`。通过强约束将 AI
的知识库锁定在你的项目版本中。
2025 最佳实践模板
以下是一个成熟的 Next.js 全栈项目推荐的
.cursorrules
全局配置模板:
# 基础角色设定 你是一名资深的全栈架构师,精通 Next.js 14, TypeScript 和 Tailwind CSS。 # 技术偏好 - 框架: Next.js 14 (App Router) - 组件: Shadcn/ui + Lucide Icons - 状态管理: Zustand (仅在跨页面时使用) - 数据库: Prisma + PostgreSQL # 行为准则 - 始终使用中文回答,但代码中的变量名、注释、提交信息必须使用英文。 - 修改代码前,先简要说明你的思路。 - 生成 React 组件时,默认使用 'use client',除非我明确要求使用 Server Components。 - 严禁删除现有的错误处理逻辑。