12. Rules 体系


规则机制

Rules 是 Cursor 最重要的配置功能之一,相当于给 AI 一套持久化的"行为准则"。通过 Rules,你可以控制 AI 的编码风格、技术选型偏好、输出格式等。

全局规则

设置 > General > Rules for AI 中配置全局规则,适用于所有项目:

你是一位资深的全栈工程师。请遵循以下原则:
- 代码风格简洁、可读性优先
- 优先使用函数式编程范式
- 所有函数必须有 TypeScript 类型注解
- 错误处理必须具体,不使用空的 catch 块
- 回复使用中文

项目规则

在项目根目录创建 .cursorrules 文件,定义项目级别的规则:

# 项目规则

## 技术栈
- 前端:Next.js 14 + TypeScript + Tailwind CSS
- 后端:Node.js + Fastify + Prisma + PostgreSQL
- 测试:Vitest + Testing Library

## 编码规范
- 组件使用函数式声明,不使用 class 组件
- 状态管理使用 Zustand,不使用 Redux
- API 请求统一使用 src/lib/api.ts 中的封装方法
- 数据库操作统一通过 Prisma Client,不写原生 SQL

## 目录约定
- src/app/ — Next.js 页面路由
- src/components/ — 可复用 UI 组件
- src/lib/ — 工具函数和配置
- src/server/ — 服务端逻辑

## 提交规范
- 遵循 Conventional Commits
- feat / fix / refactor / docs / test / chore

## 注意事项
- 不要修改 prisma/migrations/ 目录下的已有迁移文件
- 环境变量仅通过 .env 配置,不要硬编码
- 所有新接口必须编写对应的测试

风格约束

通过 Rules 统一团队代码风格:

## 代码风格
- 缩进:2 空格
- 引号:单引号
- 分号:不使用
- 尾逗号:始终添加
- 最大行宽:100 字符
- import 排序:内置模块 > 第三方模块 > 项目模块 > 相对路径

模板示例

React 项目 Rules

你是 React/Next.js 专家。遵循以下规则:
- 使用 Server Components 优先,仅在需要交互时使用 Client Components
- 使用 'use client' 指令需在文件顶部显式声明
- 数据获取优先在 Server Components 中通过 async/await 完成
- 表单处理使用 Server Actions
- 样式使用 Tailwind CSS,不使用 CSS Modules
- 组件 props 使用 interface 定义,不使用 type

Python 项目 Rules

你是 Python 后端专家。遵循以下规则:
- Python 版本:3.12+
- 使用 type hints 为所有函数签名添加类型注解
- 异步代码使用 asyncio + aiohttp
- 测试使用 pytest + pytest-asyncio
- 日志使用 structlog 结构化日志
- 遵循 PEP 8,使用 ruff 格式化