Cursor rules 是 Cursor 编辑器的一个核心功能,它允许你为 AI 助手设置特定的行为规则和指导原则。
Cursor Rules 是什么?
Cursor rules 是一套规则系统,用于:
- 定义 AI 行为:告诉 AI 如何响应你的请求
- 设置编码标准:定义代码风格、架构模式等
- 定制工作流程:建立特定的开发流程和最佳实践
- 提高 AI 输出质量:确保 AI 按照你的偏好工作
如何设置 Cursor Rules
方法 1:工作区级别的 .cursorrules
文件
在你的项目根目录创建 .cursorrules
文件:
markdown
# 项目编码规范
## 代码风格
- 使用 TypeScript 进行类型安全
- 遵循 ESLint 和 Prettier 配置
- 函数和变量使用驼峰命名法
- 类名使用帕斯卡命名法
## 架构原则
- 使用函数式编程范式
- 优先使用组合而非继承
- 保持函数纯度和不可变性
- 使用依赖注入管理状态
## AI 助手行为
- 始终提供完整的代码示例
- 解释关键概念和设计决策
- 优先考虑性能和可维护性
- 提供测试建议和最佳实践
## 响应格式
- 使用清晰的 markdown 格式
- 提供代码注释说明
- 包含错误处理和边界情况
- 给出性能优化建议
方法 2:全局 Cursor Rules
在 Cursor 设置中配置全局规则:
- 按
Cmd+,
(Mac) 或Ctrl+,
(Windows/Linux) 打开设置 - 搜索 "Cursor Rules" 或 "AI Rules"
- 添加全局规则
方法 3:通过命令面板
在聊天中直接设置规则:
- "请记住:所有代码都要包含 JSDoc 注释"
- "请使用 React 18 的新特性"
- "请优先考虑 TypeScript 类型安全"
Cursor Rules 的优势
- 一致性:确保 AI 在所有对话中遵循相同标准
- 专业性:根据项目需求定制 AI 行为
- 效率:减少重复说明,提高沟通效率
- 质量:统一代码质量和架构标准
常见使用场景
- 团队协作:统一团队的编码标准和 AI 使用方式
- 项目特定:为特定项目设置专门的规则
- 技术栈:定义特定技术栈的最佳实践
- 代码审查:设置代码质量检查标准
应用

代码部分为我使用cursor创建的.cursorrules
#
## 技术栈
- **测试框架**: Jest
- **E2E 测试**: Playwright
- **语言**: TypeScript (推荐) / JavaScript
- **包管理**: npm/yarn/pnpm
## 代码风格
- 使用 TypeScript 进行类型安全
- 遵循 ESLint 和 Prettier 配置
- 函数和变量使用驼峰命名法
- 测试文件名使用 `.test.ts` 或 `.spec.ts` 后缀
- 使用 2 空格缩进
## Jest 测试规范
- 测试描述使用清晰的 BDD 风格 (describe, it, expect)
- 每个测试用例只测试一个功能点
- 使用有意义的测试名称,描述预期行为
- 优先使用 `toBe()` 进行基本断言,`toEqual()` 进行对象比较
- 使用 `beforeEach` 和 `afterEach` 进行测试清理
- 模拟外部依赖使用 `jest.mock()` 和 `jest.spyOn()`
- 测试覆盖率目标:至少 80%
## Playwright 测试规范
- 使用 Page Object Model (POM) 设计模式
- 测试文件放在 `tests/` 目录下
- 页面对象放在 `pages/` 目录下
- 使用 `test.describe()` 组织相关测试
- 优先使用 `test.beforeEach()` 进行测试设置
- 使用 `test.afterEach()` 进行清理工作
- 断言使用 Playwright 内置的 `expect()` 方法
- 等待策略:优先使用 `waitForSelector()` 而非 `page.waitForTimeout()`
## 测试文件结构
tests/
├── e2e/ # Playwright E2E 测试
│ ├── pages/ # 页面对象
│ ├── fixtures/ # 测试数据
│ └── utils/ # 测试工具函数
├── unit/ # Jest 单元测试
│ ├── __mocks__/ # 模拟文件
│ └── utils/ # 测试工具
└── integration/ # 集成测试
## AI 助手行为
- 始终提供完整的测试代码示例
- 解释测试策略和设计决策
- 优先考虑测试的可维护性和可读性
- 提供测试数据管理和清理建议
- 建议最佳的文件组织结构
- 包含错误处理和边界情况测试
- 提供性能优化和并行测试建议
## 响应格式
- 使用清晰的 markdown 格式
- 提供完整的代码示例,包含必要的导入
- 包含详细的注释说明
- 给出测试运行和调试建议
- 提供相关的最佳实践链接
## 常用测试模式
- **AAA 模式**: Arrange, Act, Assert
- **Given-When-Then**: 行为驱动开发
- **测试金字塔**: 单元测试 > 集成测试 > E2E 测试
- **数据驱动测试**: 使用 `test.describe()` 和参数化测试
## 性能考虑
- 使用 `test.describe.parallel()` 进行并行测试
- 合理使用 `test.describe.serial()` 避免竞态条件
- 优化测试数据创建和清理
- 使用 Playwright 的 `--workers` 参数控制并发数
## 调试和故障排除
- 使用 `test.slow()` 标记慢速测试
- 使用 `test.only()` 和 `test.skip()` 进行测试隔离
- 利用 Playwright 的 `--headed` 模式进行可视化调试
- 使用 `console.log()` 和 `page.screenshot()` 进行调试
除此之外还可以去试着定义角色,来针对不同的工作环境
#
## 角色:代码审查专家
## 职责:
- 审查代码质量和最佳实践
- 识别潜在的性能问题和安全漏洞
- 提供改进建议和重构方案
## 响应风格:
- 专业、客观
- 提供具体的代码示例
- 关注代码可读性和维护性
# 前端开发专家
## 角色:前端开发专家
## 职责:
- 提供现代前端技术建议
- 帮助解决 CSS、JavaScript、React 等问题
- 优化用户体验和性能
## 响应风格:
- 实用、创新
- 提供最新的前端最佳实践
- 关注用户体验和可访问性
可以根据项目调整随时去修改.cursorrule文件