Cursor 的使用之学会使用 cursor rule

Cursor rules 是 Cursor 编辑器的一个核心功能,它允许你为 AI 助手设置特定的行为规则和指导原则。

Cursor Rules 是什么?

Cursor rules 是一套规则系统,用于:

  1. 定义 AI 行为:告诉 AI 如何响应你的请求
  2. 设置编码标准:定义代码风格、架构模式等
  3. 定制工作流程:建立特定的开发流程和最佳实践
  4. 提高 AI 输出质量:确保 AI 按照你的偏好工作

如何设置 Cursor Rules

方法 1:工作区级别的 .cursorrules 文件

在你的项目根目录创建 .cursorrules 文件:

markdown 复制代码
# 项目编码规范

## 代码风格
- 使用 TypeScript 进行类型安全
- 遵循 ESLint 和 Prettier 配置
- 函数和变量使用驼峰命名法
- 类名使用帕斯卡命名法

## 架构原则
- 使用函数式编程范式
- 优先使用组合而非继承
- 保持函数纯度和不可变性
- 使用依赖注入管理状态

## AI 助手行为
- 始终提供完整的代码示例
- 解释关键概念和设计决策
- 优先考虑性能和可维护性
- 提供测试建议和最佳实践

## 响应格式
- 使用清晰的 markdown 格式
- 提供代码注释说明
- 包含错误处理和边界情况
- 给出性能优化建议

方法 2:全局 Cursor Rules

在 Cursor 设置中配置全局规则:

  1. Cmd+, (Mac) 或 Ctrl+, (Windows/Linux) 打开设置
  2. 搜索 "Cursor Rules" 或 "AI Rules"
  3. 添加全局规则

方法 3:通过命令面板

在聊天中直接设置规则:

  • "请记住:所有代码都要包含 JSDoc 注释"
  • "请使用 React 18 的新特性"
  • "请优先考虑 TypeScript 类型安全"

Cursor Rules 的优势

  1. 一致性:确保 AI 在所有对话中遵循相同标准
  2. 专业性:根据项目需求定制 AI 行为
  3. 效率:减少重复说明,提高沟通效率
  4. 质量:统一代码质量和架构标准

常见使用场景

  • 团队协作:统一团队的编码标准和 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文件

相关推荐
数据知道41 分钟前
Go语言:用Go操作SQLite详解
开发语言·后端·golang·sqlite·go语言
csgo打的菜又爱玩4 小时前
Vue 基础(实战模板与命名指南)
前端·javascript·vue.js
gerrgwg6 小时前
Vue-library-start,一个基于Vite的vue组件库开发模板
前端·javascript·vue.js
你的人类朋友7 小时前
【Node】单线程的Node.js为什么可以实现多线程?
前端·后端·node.js
iナナ8 小时前
Spring Web MVC入门
java·前端·网络·后端·spring·mvc
开心不就得了8 小时前
自定义脚手架
前端·javascript
CoderYanger8 小时前
优选算法-双指针:2.复写零
java·后端·算法·leetcode·职场和发展
数据知道10 小时前
Go基础:用Go语言操作MongoDB详解
服务器·开发语言·数据库·后端·mongodb·golang·go语言
没事多睡觉66610 小时前
Vue 虚拟列表实现方案详解:三种方法的完整对比与实践
前端·javascript·vue.js
excel10 小时前
Vue3 EffectScope 源码解析与理解
前端·javascript·面试