Cursor Rules 是开发者与 AI 协同工作的关键工具,通过明确的规则配置,可以让 AI 更精准、高效地理解你的需求,从而生成高质量的代码。
在现代化编程环境中,AI 辅助工具的使用正在改变传统的开发方式。Cursor Rules 提供了一种结构化的方式来引导 AI 的行为,使其更符合实际项目的需求。通过合理配置规则,可以显著提升开发效率,减少重复性工作,同时确保代码质量和一致性。
一、Cursor Rules 的基本概念与作用
Cursor Rules 是一种开发者自定义的规则集合,用于指导 AI 在代码生成、补全、重构和错误修复时的行为。这些规则可以分为四种类型:Always、Auto Attached、Agent Requested 和 Manual。每种类型都有其特定的用途和作用范围。
- Always:适用于所有项目,确保 AI 始终遵循某些核心规范。
- Auto Attached:根据文件类型或目录自动触发,适合特定场景的代码规范。
- Agent Requested:让 AI 根据你的提示判断是否需要应用规则,适合灵活的开发需求。
- Manual:在聊天中显式调用规则,适用于需要精确控制的场景。
通过这些规则,开发者可以避免 AI 生成不符合项目规范的代码,提高开发效率和代码质量。
二、规则文件的创建与管理
创建规则文件是使用 Cursor Rules 的第一步。规则文件通常以 .mdc 为后缀,但 Cursor 也兼容传统的 .cursorrules 文件。规则文件的结构包括几个关键配置项:
- description:规则的描述信息,帮助 AI 理解规则的用途。
- globs:匹配的文件模式,如
**/*.vue,决定规则何时生效。 - alwaysApply:是否始终应用该规则,控制规则的全局性。
1. 全局规则与项目规则
全局规则(User Rules)适合存放个人习惯和通用偏好,例如“用中文回复”或“保持简洁风格”。这些规则对所有项目生效,但不会被版本控制。
项目规则(Project Rules)则更适合特定项目的需求。它们以 .mdc 文件形式存储,可以被 Git 版本控制,方便团队共享和协作。新建项目规则时,只需在 Cursor 的 Settings-Rules 界面中点击“Add Rules”,并选择合适的文件类型。
2. 使用社区规则模板
Cursor 提供了一个社区规则模板库,位于 https://cursor.directory/。开发者可以根据项目的技术栈选择合适的模板,快速构建项目规范。
三、规则文件的组织方式与分层设计
为了提高规则的可维护性和适用性,建议将规则文件按功能模块拆分。例如,可以创建以下文件:
project-guidelines.mdc:通用项目规范(alwaysApply: true)vue-components.mdc:Vue 组件规范(globs: "*/.vue")api-design.mdc:API 设计规范(globs: "/api/")testing.mdc:测试规范(globs: "*/.test.ts")
这种分层设计可以让 AI 更好地理解不同场景下的规范,避免信息过载。同时,也便于团队成员各司其职,维护各自的规则。
1. 规则的分层策略
根据开发场景,可以将规则分为三个层级:
- 通用规范:适用于所有项目,不受编程语言和框架影响。
- 编程语言规范:针对特定语言的最佳实践,如 TypeScript 或 java script。
- 框架规范:确保与特定框架的兼容性和一致性,如 Vue 3 或 React。
2. 规则的优先级
Cursor Rules 的优先级从高到低依次为:
- User Rules
- Project Rules
- Team Rules
- AGENTS.md
这意味着,User Rules 会覆盖 Project Rules,Project Rules 又会覆盖 Team Rules,而 AGENTS.md 的优先级最低。
四、编写有效规则的技巧
编写有效的规则是使用 Cursor Rules 的关键。规则应具备以下特征:
- 具体、可执行、有边界:避免模糊的指导,如“写出高质量的代码”或“保持代码整洁”,而是使用明确的约束,如“函数参数不超过 5 个,超过时使用对象参数”。
- 简洁:保持规则简洁,控制在 500 行以内是一个不错的目标。
- 可组合:将复杂的概念拆分为多个可组合的小规则,便于维护和更新。
- 提供示例与代码片段:在有帮助的情况下提供具体的示例或引用的文件,帮助 AI 更好地理解规则。
- 及时更新:当发现自己在对话中反复强调某个问题时,可以将其编写成一条规则。
- 团队协作:与团队共享同一份规则,定期讨论和更新,确保其与当前代码实践保持一致。
通过这些技巧,可以确保规则清晰、实用,并且易于维护。
五、实用规则模板与示例
以下是一些实用的规则模板,可以帮助你构建一个完整的规则体系:
1. 通用规范模板
---
description: 项目核心开发规范
globs:
alwaysApply: true
---
# 项目开发规范
## 技术栈约束
- 使用 Vue 3 和 TypeScript
- 所有代码必须遵循 ESLint 规则
## 目录结构规范
- 组件应放在 `src/components/` 目录下
- API 请求应统一使用 `src/api/` 下的封装方法
## 命名规范
- 组件使用 PascalCase 命名
- 函数使用 camelCase 命名
## 代码风格
- 使用 Prettier 进行代码格式化
- 代码行数限制在 500 行以内
## 禁止行为
- 不允许使用 jQuery
- 不允许使用 Create-React-App
2. Vue 组件规范模板
---
description: Vue 组件开发规范
globs: "**/*.vue"
alwaysApply: false
---
# Vue 组件规范
## 组合式 API 使用指南
- 使用 `ref` 和 `reactive` 管理状态
- 使用 `watch` 监听状态变化
- 使用 `useDebounceFn` 实现防抖逻辑
## 组件命名规范
- 组件文件使用 PascalCase 命名
- 例如:`UserCard.vue`
3. API 设计规范模板
---
description: API 设计规范
globs: "**/api/**"
alwaysApply: false
---
# API 设计规范
## 请求封装
- 所有 API 请求必须使用 `src/api/` 下的封装方法
- 使用 `axios` 进行网络请求
## 响应处理
- 使用 `try/catch` 处理请求异常
- 返回统一的响应格式
4. 测试规范模板
---
description: 测试规范
globs: "**/*.test.ts"
alwaysApply: false
---
# 测试规范
## 使用 Jest 进行单元测试
- 所有组件和函数必须有单元测试
- 测试文件应放在 `src/test/` 目录下
## 测试覆盖率
- 保持测试覆盖率在 90% 以上
- 测试用例应覆盖所有主要功能
通过这些模板,你可以快速构建一个符合项目需求的规则体系。
六、规则文件的更新与维护
在实际开发中,规则文件需要不断更新和维护。以下是一些更新规则的建议:
- 识别模式:判断本次改动是否具有通用性(≥3 处可复用)。
- 选择文件:根据改动内容选择合适的规则文件,如通用规范 →
project-guidelines.mdc,Vue 组件相关 →vue-components.mdc,API 相关 →api-design.mdc。 - 追加规则:在对应文件中补充新的规范说明。
- 告知用户:提示已更新的规则内容。
例如,开发了一个带搜索防抖的输入框组件:
AI 分析:
- 该模式可复用于多个搜索场景 ✓
- 属于 Vue 组件模式 → 更新 vue-components.mdc
更新内容:
搜索防抖模式
const keyword = ref('')
const debouncedSearch = useDebounceFn(() => {
fetchData()
}, 300)
watch(keyword, debouncedSearch)
提示用户:
检测到新增了「搜索防抖」通用模式,已追加到
vue-components.mdc
通过这种方式,可以确保规则文件始终保持最新,并且符合项目的实际需求。
七、如何使用 Cursor Rules 提升开发效率
1. 分层策略
合理的分层策略可以有效提升开发效率。例如:
- 通用规范:适用于所有项目,确保代码风格和命名一致。
- 编程语言规范:针对特定语言的最佳实践,如 TypeScript 的类型定义规范。
- 框架规范:确保与特定框架的兼容性和一致性,如 Vue 3 的组件规范。
2. 规则文件的组织方式
推荐按功能模块拆分多个规则文件,如:
project-guidelines.mdc:通用项目规范vue-components.mdc:Vue 组件规范api-design.mdc:API 设计规范testing.mdc:测试规范
这种组织方式可以让 AI 更好地理解不同场景下的规范,避免信息过载。
3. 规则的优先级与作用范围
了解规则的优先级和作用范围,可以帮助你更有效地管理规则文件。例如:
- User Rules:适用于所有项目,但不会被版本控制。
- Project Rules:适用于当前项目,可以被 Git 版本控制。
- Team Rules:适用于团队成员,需要 Cursor Business/Enterprise 版本。
- AGENTS.md:适合简单项目,快速上手。
通过合理配置规则的优先级和作用范围,可以确保规则文件始终保持最新,并且符合项目的实际需求。
4. 规则的触发模式
根据不同的开发需求,可以选择不同的触发模式:
- 始终生效(alwaysApply: true):适用于核心规范,如代码风格。
- 按文件匹配(globs: "*/.vue"):适用于特定文件类型的规范。
- 按需引用(description):适用于参考性内容,AI 自行判断是否需要应用规则。
通过合理选择触发模式,可以让 AI 更精准地理解你的需求,从而生成高质量的代码。
八、实用技巧与建议
- 规则简洁具体:保持规则简洁,控制在 500 行以内是一个不错的目标。
- 拆分复杂概念:将复杂的概念拆分为多个可组合的小规则,便于维护和更新。
- 使用示例与代码片段:在有帮助的情况下提供具体示例或引用的文件,帮助 AI 更好地理解规则。
- 在提示中引用规则:当需要时,可以在聊天提示中使用
@规则名来手动应用特定规则。 - 尽可能清晰:避免模糊的指导,编写规则的方式应像写一份清晰的内部文档。
- 及时更新:当发现自己在对话中反复强调某个问题时,可以将其编写成一条规则。
- 团队协作:与团队共享同一份规则,定期讨论和更新,确保其与当前代码实践保持一致。
通过这些实用技巧和建议,可以确保规则文件始终保持最新,并且符合项目的实际需求。
九、总结
Cursor Rules 是现代化开发中不可或缺的工具,它可以帮助开发者更高效地管理代码质量和一致性。通过合理配置规则,可以显著提升开发效率,减少重复性工作,同时确保代码符合项目需求。在未来的发展中,Cursor Rules 的重要性将进一步提升,成为开发者与 AI 协同工作的关键桥梁。
关键字列表:Cursor Rules, AI辅助编程, 项目规范, 代码风格, 命名规范, 组件拆分, 技术栈约束, ESLint, Prettier, Jest