引言
Cursor 的人工智能规则允许您自定义 AI 行为,使其更好地适应您的项目需求和编码风格。您可以通过全局规则和项目特定规则来控制 AI 助手的行为方式。

使用 AI 规则可以精确控制 AI 助手的行为和输出。
什么是 AI 规则?
Cursor AI 规则是为 AI 助手提供的自定义指令,指导它在解释代码、生成建议和响应查询时的行为。有两种主要类型的规则:
- 全局规则:在 Cursor Settings(设置) 中的 General(通用) > Rules for AI(AI 规则) 下设置,适用于所有项目
- 项目特定规则:在项目的
.cursor/rules
目录中定义的.mdc
文件,或者项目根目录的.cursorrules
文件
创建和使用规则
设置全局规则
- 打开 Cursor Settings(设置)
- 导航到 General(通用) > Rules for AI(AI 规则)
- 在提供的文本区域中输入您的自定义指令
- 点击 Save(保存) 应用您的全局规则
- 请记得启用 include .cursorrules file(包含 .cursorrules 文件) 选项以应用项目特定规则
全局规则示例:
1. 错误修复:
- 提出解决方案前彻底分析问题
- 提供精确、有针对性的解决方案
- 解释错误的根本原因
2. 保持简单:
- 优先考虑可读性和可维护性
- 避免过度设计解决方案
- 尽可能使用标准库和模式
3. 代码更改:
- 在进行更改前提出明确的计划
- 一次性应用对单个文件的所有修改
- 不要更改不相关的文件
创建项目特定规则
有两种方式创建项目特定规则:
1. 使用新的项目规则系统(推荐)
- 转到 Cursor Settings(设置) > General(通用) > Project Rules(项目规则)
- 点击 Add Rule(添加规则) 创建新的 .mdc 文件
- 编辑 Description(描述)(帮助代理选择规则)和 Globs(全局模式)(例如 *.tsx 用于自动包含规则)
- 在 .mdc 文件中编写您的规则
Cursor 将根据您的描述和 Glob 设置自动同步和应用这些规则。
2. 使用 .cursorrules 文件(向后兼容)
- 在项目的根目录创建
.cursorrules
文件 - 将您的自定义指令添加到此文件中
示例 .cursorrules
文件:
您是 TypeScript、Node.js、Next.js App Router、React、Shadcn UI、Radix UI 和 Tailwind 方面的专家。
代码风格和结构
- 编写简洁、技术性的 TypeScript 代码,提供准确的示例。
- 使用函数式和声明式编程模式;避免使用类。
- 优先使用迭代和模块化而非代码重复。
- 使用描述性变量名,含辅助动词(例如 isLoading、hasError)。
- 文件结构:导出组件、子组件、辅助函数、静态内容、类型。
命名约定
- 目录使用小写加连字符(例如 components/auth-wizard)。
- 组件优先使用命名导出。
TypeScript 使用
- 所有代码使用 TypeScript;接口优于类型。
- 避免枚举;使用映射代替。
- 使用带有 TypeScript 接口的函数组件。
创建有效规则的技巧
良好规则的特点
- 易于理解 - 避免复杂术语
- 针对您的项目或编码风格
- 符合团队约定的实践
- 适用于代码的不同部分
- 随项目发展易于更新
编写更好规则的技巧
- 从基本规则开始,然后根据需要添加更多
- 像向同事解释一样编写规则
- 包含来自自己代码的示例
- 考虑规则如何应用于您的项目
- 定期检查和更新规则
让规则更有效的方法
- 使用您日常编码中的词汇和术语
- 简要描述您的项目或功能
- 在有帮助时展示简短的代码示例
- 提及任何特定要求或限制
- 需要时请求解释
示例规则
TypeScript 专家规则
您是 TypeScript 专家,对该语言的功能和最佳实践有深入了解。您提供有关类型系统、泛型和高级 TypeScript 概念的指导。
编码风格:
- 使用严格的类型检查
- 优先使用接口而非类型别名
- 使用泛型增强代码可重用性
- 避免 any 类型,优先使用具体类型或 unknown
最佳实践:
- 利用 TypeScript 的高级类型系统
- 为函数和方法编写完整的类型声明
- 使用联合类型和交叉类型处理复杂数据结构
- 实现正确的错误处理和类型保护
React 项目规则
项目使用 React 18 和 TypeScript。请遵循这些指南:
组件结构:
- 使用函数组件和 React Hooks
- 组件按照职责拆分为合理大小
- 将共享逻辑提取到自定义 hooks
- 组件属性使用 TypeScript 接口定义
性能优化:
- 适当使用 useMemo 和 useCallback
- 实现组件懒加载和代码分割
- 避免不必要的重新渲染
状态管理:
- 小型项目使用 Context API
- 中大型项目使用 Redux Toolkit
- 使用不可变数据模式更新状态
为什么使用 AI 规则很重要
1. 项目上下文理解
为 AI 提供关于项目结构、技术和特定需求的关键信息,使其建议更加相关。
2. 自适应行为
根据 AI 的表现调整其响应,使您能够随时间微调其行为。
3. 错误修正
澄清误解并引导 AI 避免常见错误,提高其建议和代码生成的准确性。
4. 编码一致性
确保 AI 生成的代码符合您的代码风格和项目标准,提高代码库的一致性。
故障排除
规则不生效
检查:
- 全局规则:确认您已保存设置
- 项目规则:检查文件名是否正确(
.cursorrules
或.mdc
) - 验证您是否已启用 include .cursorrules file(包含 .cursorrules 文件) 选项
- 检查 Globs(全局模式) 是否正确匹配您的文件
规则冲突
当遇到规则冲突时:
- 了解规则优先级:项目规则 > 全局规则
- 检查多个项目规则之间是否存在冲突
- 确保规则描述清晰且不矛盾
总结
Cursor 的 AI 规则是一个强大的功能,可以显著提高您的编码体验:
- 通过自定义 AI 行为提高编码效率
- 确保代码一致性和质量
- 使 AI 更好地理解您的项目上下文
- 提供更相关、更准确的代码建议
- 创建更符合您工作流程的编码体验