2026 年最佳 Cursor Rules 推荐 — 20 个让 AI 编程起飞的规则
精选 20 个经过测试的 .cursorrules 文件,覆盖 React、Vue、Go、Python、Next.js 等。学习如何配置 Cursor AI 实现最大生产力。
William Wang — TokRepo & GEOScore AI 创始人,专注 AI 开发者工具和搜索可见性。
用 Cursor 写代码,不配 .cursorrules 等于裸奔。这篇文章精选 20 个经过实战验证的规则文件,覆盖前端、后端、全栈和通用场景。每个规则都直接可用,复制到项目根目录就生效。
前提条件
- 已安装 Cursor v0.45+
- 一个项目目录
- 对 AI 编程助手有基本了解
什么是 Cursor Rules?
Cursor Rules 是一个指令文件,告诉 Cursor AI 在你的项目里该怎么写代码。把 .cursorrules 文件放到项目根目录,Cursor 的所有 AI 功能——自动补全、聊天、Composer、内联编辑——都会读取它。
<!-- .cursorrules -->
你是资深 React 开发者。
## 代码规范
- 只用函数组件 + hooks
- 优先使用命名导出
- TypeScript strict 模式
## 架构
- 按功能模块组织目录
- 单个组件不超过 200 行
- 公共逻辑提取为自定义 hook
文件和 package.json 或 go.mod 放在同一层。Cursor 自动加载,不需要额外配置。
规则如何生效
┌──────────────┐ ┌──────────────┐ ┌──────────────┐
│ .cursorrules │────▶│ Cursor AI │────▶│ 生成的代码 │
│ (你的规则) │ │ (上下文) │ │ │
└──────────────┘ └──────────────┘ └──────────────┘
▲
│
┌──────────────┐
│ 你的提示词 │
└──────────────┘
规则在每次 AI 交互时被注入。它相当于你项目的系统提示词,确保无论谁在写提示,行为都一致。
前端规则
1. React + TypeScript
最热门的 Cursor 规则。强制函数组件、严格 TypeScript 和现代 React 模式。
<!-- .cursorrules -->
你是 React 和 TypeScript 专家。
## 规则
- 只用函数组件,禁止 class 组件
- TypeScript strict 模式:不用 any,不用隐式返回
- 少用 React.FC,优先显式定义 Props 类型
- 状态管理:全局用 Zustand,局部用 useState
- 样式:Tailwind CSS 原子类,禁止 inline style
## 组件结构
interface Props {
title: string;
onAction: () => void;
}
export function MyComponent({ title, onAction }: Props) {
return <button onClick={onAction}>{title}</button>;
}
适合: 使用 Create React App、Vite 或任何 React + TypeScript 项目的团队。
2. Vue 3 + Composition API
强制使用 <script setup>、Composables 和 Pinia。
<!-- .cursorrules -->
你是 Vue 3 专家,使用 Composition API。
## 规则
- 始终使用 <script setup lang="ts">
- 用 composables (use*) 封装共享逻辑
- 状态管理只用 Pinia
- 禁止 Options API
- defineProps/defineEmits 使用 TypeScript 泛型
## 文件结构
<script setup lang="ts">
import { ref, computed } from 'vue'
const props = defineProps<{ title: string }>()
const count = ref(0)
const doubled = computed(() => count.value * 2)
</script>
适合: Vue 3 项目,特别是从 Options API 迁移的项目。
3. Next.js App Router
聚焦 App Router——Server Components、Server Actions 和 app/ 目录结构。
<!-- .cursorrules -->
你是 Next.js 专家,使用 App Router (v14+)。
## 规则
- 默认 Server Components,只在必要时加 'use client'
- Server Actions 处理表单和数据变更
- app/api/ 放 Route Handler
- 用 Metadata API 做 SEO(generateMetadata,不用 Head)
- 图片优化必须用 next/image
- loading.tsx 和 Suspense 做加载态
适合: Next.js 14+ 的 App Router 项目。Pages Router 请用别的规则。
4. Nuxt 3
覆盖 Nuxt 3 的约定——自动导入、Server Routes 和 composables/ 目录。
<!-- .cursorrules -->
你是 Nuxt 3 专家。
## 规则
- 使用自动导入的 composables(useState, useRoute, useFetch)
- Server routes 放 server/api/,用 defineEventHandler
- 组件从 components/ 自动导入
- layouts/ 放布局,middleware/ 放中间件
- 用 definePageMeta 配置页面级信息
- 默认 SSR;浏览器专属内容用 <ClientOnly>
适合: Nuxt 3 项目。更多 Nuxt 相关工具推荐看 15 个最佳 Claude Code Skill。
5. Tailwind CSS
确保原子类使用一致,避免常见的 Tailwind 反模式。
<!-- .cursorrules -->
## Tailwind CSS 规则
- 组件里不用 @apply,直接写原子类
- 响应式:移动优先(sm:, md:, lg:, xl:)
- 暗色模式:用 dark: 前缀,class 模式
- 自定义值:在 tailwind.config.ts 里扩展,不用任意值
- 间距:使用默认比例(4, 8, 12, 16...),避免随意的 px 值
- 颜色:用项目主题色,不硬编码 hex
后端规则
6. Go (Golang)
强制地道的 Go 风格——错误处理、命名规范和包结构。
<!-- .cursorrules -->
你是 Go 专家,遵循 Go 惯用写法。
## 规则
- 必须显式处理错误,禁止用 _ 忽略 error 返回
- 小作用域用短变量名 (i, j, n),大作用域用描述性名称
- 优先返回 error,不要 panic
- 包名:短小、全小写、不加下划线
- 接口:接受接口,返回结构体
- 并发:第一个参数始终是 context.Context
- 测试:表驱动测试 + 子测试
## 错误处理模式
result, err := doSomething()
if err != nil {
return fmt.Errorf("doSomething failed: %w", err)
}
7. Python (FastAPI)
覆盖类型注解、Pydantic 模型和异步模式。
<!-- .cursorrules -->
你是 Python 专家,使用 FastAPI。
## 规则
- 所有函数签名必须有类型注解
- Pydantic v2 模型定义请求/响应 schema
- 默认 async:路由处理器用 async def
- 依赖注入用 Depends()
- 错误处理:raise HTTPException + 正确的状态码
- 数据库:SQLAlchemy 2.0 async + 类型查询
## 路由模式
@router.get("/users/{user_id}", response_model=UserResponse)
async def get_user(user_id: int, db: AsyncSession = Depends(get_db)):
user = await db.get(User, user_id)
if not user:
raise HTTPException(status_code=404, detail="User not found")
return user
8. Node.js (Express/Hono)
现代 Node 模式——ESM 导入、中间件组合和错误处理。
<!-- .cursorrules -->
你是 Node.js 后端专家。
## 规则
- ESM 导入 (import/export),禁止 CommonJS (require)
- 用 Hono 或 Express + TypeScript
- 中间件:小而专注的中间件函数组合
- 校验:Zod 做请求体校验
- 错误:集中式错误处理中间件
- 环境变量:用 dotenv,禁止硬编码配置
- 日志:pino 结构化 JSON 日志
9. Django
Django 惯例——模型设计、视图、序列化器和 Admin。
<!-- .cursorrules -->
你是 Django 专家。
## 规则
- API 用 Django REST Framework
- Model:显式字段类型,必加 Meta class 定义排序
- View:优先用类视图 (APIView, ViewSet)
- Serializer:在序列化器层做校验
- Migration:自动生成的迁移必须人工审查后再执行
- 安全:使用 Django 内置保护 (CSRF, XSS, SQL 注入)
- 测试:pytest-django + fixtures
10. Rust
所有权模式、Result 错误处理和地道的 Rust 写法。
<!-- .cursorrules -->
你是 Rust 专家。
## 规则
- 函数参数优先用 &str,不用 String
- 可失败操作用 Result<T, E>,库代码禁止 panic
- 常用 trait 都要 derive: Debug, Clone, PartialEq
- 库用 thiserror,应用用 anyhow
- 优先用迭代器,不手写循环
- 生命周期:编译器要求时才标注
全栈规则
11. T3 Stack (Next.js + tRPC + Prisma)
<!-- .cursorrules -->
你是 T3 Stack 专家 (Next.js, tRPC, Prisma, NextAuth)。
## 规则
- tRPC router 放 server/api/routers/,输入用 Zod 校验
- Prisma:总是用 select/include 避免过度查询
- 认证:NextAuth.js + getServerSession
- 类型安全:利用 tRPC 端到端类型推断,不手写 API 响应类型
12. MERN Stack
<!-- .cursorrules -->
你是 MERN 全栈专家 (MongoDB, Express, React, Node)。
## 规则
- 后端:Express + TypeScript,Mongoose ODM
- 前端:React + TypeScript + Vite
- API:RESTful + 正确 HTTP 状态码
- 校验:后端 Zod,前端 React Hook Form
- 认证:JWT + httpOnly Cookie,禁止 localStorage
13. Laravel + Vue
<!-- .cursorrules -->
你是 Laravel + Vue 专家。
## 规则
- Laravel:Eloquent 关系,Form Request 做校验
- Vue:Composition API + <script setup>
- Inertia.js 实现 SPA 导航,不需要 API 路由
- 认证:Laravel Sanctum
- 测试:PHPUnit 后端,Vitest 前端
14. Rails + React
<!-- .cursorrules -->
你是 Ruby on Rails + React 专家。
## 规则
- Rails:遵循 Rails 惯例(胖模型瘦控制器)
- React:通过 Rails 资产管道或独立 Vite 应用
- API:jbuilder 或 Active Model Serializers
- 测试:RSpec + FactoryBot 后端,Jest 前端
- 数据库:用 migration,禁止直接改 schema
15. Supabase 全栈
<!-- .cursorrules -->
你是 Supabase 专家。
## 规则
- 使用 Supabase 客户端库,不直接连 PostgreSQL
- 认证:Supabase Auth + RLS
- 存储:Supabase Storage + Signed URL
- Edge Functions:Deno 运行时 + Supabase 客户端
- 实时:Supabase Realtime 订阅
- 每张表必须启用 RLS——没有例外
通用规则
16. 代码风格强制
<!-- .cursorrules -->
## 代码风格
- 函数最长 30 行
- 文件最长 300 行
- 函数参数最多 4 个(更多用 options 对象)
- 禁止嵌套三元表达式
- 禁止魔法数字——用常量 + 描述性命名
- 注释说明 WHY,不说 WHAT
- 禁止注释掉的代码——删掉它,Git 记得一切
17. 测试标准
<!-- .cursorrules -->
## 测试规则
- 每个新函数至少一个测试
- 命名:describe("函数名") → it("should 做什么 when 什么条件")
- 每个测试遵循 Arrange-Act-Assert
- 测试间无依赖,每个测试独立运行
- mock 外部服务,测试里不调真实 API
- 覆盖率目标:80% 行覆盖率以上
- API 端点优先写集成测试
18. 安全规则
<!-- .cursorrules -->
## 安全规则
- 禁止硬编码密钥、API Key 或密码
- 数据库查询必须参数化,禁止字符串拼接
- 服务端校验并清洗所有用户输入
- 外部 API 调用必须 HTTPS
- CORS 生产环境禁止通配符 (*)
- 密码用 bcrypt (cost factor 12+)
- JWT:短有效期(access 15 分钟,refresh 7 天),httpOnly Cookie
19. Git 提交规范
<!-- .cursorrules -->
## Git Commit 规则
- 遵循 Conventional Commits:type(scope): description
- Types: feat, fix, docs, style, refactor, test, chore
- 标题行最长 72 字符,祈使语气
- Body 解释 WHY,不解释 WHAT(diff 已经展示了 WHAT)
- 每个提交一个逻辑变更
- 禁止提交生成文件、.env 或 node_modules
20. 文档标准
<!-- .cursorrules -->
## 文档规则
- 公开函数:JSDoc 标注 @param, @returns, @throws
- README:项目用途、安装步骤、架构概览
- API 端点:请求/响应 schema + 示例
- 复杂算法:上方注释说明思路
- 架构决策:ADR 格式放 docs/decisions/
- 文档和代码在同一个 PR 里更新,不留过期文档
如何创建自己的 Cursor Rule
第一步:找出你的模式
列出你在代码审查中重复说的前 10 件事,这些就是你的规则。
# 翻看最近 20 个 PR 的评论
# 找到这样的模式:
# - "请用 TypeScript strict 模式"
# - "错误情况没处理"
# - "用我们的 Button 组件,不要原生 <button>"
第二步:写规则文件
<!-- .cursorrules -->
你是 [你的技术栈] 专家,在 [项目名] 上工作。
## 架构
[你的架构决策]
## 代码规范
[团队约定]
## 常用模式
[常见任务的代码模板]
## 避免
[项目特有的反模式]
第三步:测试迭代
# 把文件放到项目根目录
echo "your rules" > .cursorrules
# 打开 Cursor 试试常见任务
# AI 忽略了某条规则?写得更明确
# 某条规则导致坏输出?删掉或重写
第四步:分享给团队
# 提交到仓库
git add .cursorrules
git commit -m "docs: 添加团队 Cursor 编码规范"
想把规则打包成可移植的 Skill,看 如何创建你的第一个 Agent Skill。
Cursor Rules vs Claude Code Skills
Cursor Rules 和 Claude Code Skills 有什么区别?它们解决类似的问题,但工作方式不同。
| 特性 | Cursor Rules | Claude Code Skills |
|---|---|---|
| 格式 | .cursorrules(单文件) | .md 文件在 .claude/commands/ |
| 作用范围 | 整个项目 | 按 Skill(按需触发) |
| 激活方式 | 始终激活 | 通过命令或模式触发 |
| 分发方式 | 仅 Git 仓库 | Git、TokRepo 或自建注册中心 |
| 生态系统 | 社区 .cursorrules 仓库 | TokRepo(500+ Skill) |
| 跨工具 | 仅 Cursor | Claude Code、Codex CLI、Gemini CLI |
| 复杂度 | 简单(一个文件) | 可复杂(多文件、有依赖) |
| 最适合 | 编码规范 | 复杂工作流 & 自动化 |
结论: Cursor Rules 适合在 Cursor 里强制编码规范。Claude Code Skills 更适合复杂的多步骤工作流,比如项目管理、调试和 SEO 审计。很多开发者两个都用——Cursor 里配 Rules,Claude Code 里装 Skills。
想全面了解两者差异,看 Skills vs MCP vs Rules 完整对比。
常见问题
能用多个 .cursorrules 文件吗?
Cursor 只读项目根目录下的一个 .cursorrules 文件。如果项目不同部分需要不同规则,合并到一个文件的不同段落。Monorepo 放在根目录。
.cursorrules 文件应该多长?
控制在 2000 词以内。规则太长会分散 AI 的注意力。聚焦最重要的 10-15 条约定。如果条目更多,优先选那些在代码审查中出现频率最高的。
Cursor Rules 能用在其他 AI 助手上吗?
不能——.cursorrules 是 Cursor 专属格式。Claude Code 用 Agent Skill。GitHub Copilot 用 .github/copilot-instructions.md。Agent Skills Standard 在尝试建立跨工具的通用格式。
下一步
- Skills vs MCP vs Rules 对比 — AI 编程扩展方式的详细比较
- 15 个最佳 Claude Code Skill — 如果你也用 Claude Code
- 浏览 TokRepo Prompt 集合 — 任何 AI 助手都能用的提示词
- 创建你的第一个 Agent Skill — 把 Cursor Rules 转换成可移植的 Skill