🔥 Cursor Rules 终极封神配置:从 AI 瞎写到代码秒生成,零修改直接上线
(全网可直接抄作业,个人 / 团队通用,效率直接拉满 10 倍)
你是不是已经被 Cursor 的「人工智障」时刻逼疯了?
- 让它写 React 组件,转头给你整一堆 class 组件,而你项目全是函数式 + Hooks;
- 每次写代码都要反复叮嘱「用 TypeScript!别写 any!用 ES 模块!」,下一次它全忘光;
- 团队协作更离谱,每个人用 AI 生成的代码风格千奇百怪,code review 一半时间都在改格式、统一规范;
- 更别说生成的代码没错误处理、没类型定义、不符合项目架构,改它的时间比自己手写还久!
别再跟 AI 斗智斗勇了!Cursor 的 Rules 配置,就是解决这些问题的终极答案 ------ 一套能让 AI永久记住你的编码习惯、项目规范、技术栈偏好的机制,直接把 AI 从「瞎写的工具人」变成「懂你项目的专属高级开发」,效率翻 10 倍真的不是吹!
🚨 为什么 90% 的开发者,都把 Cursor 用成了低配记事本?
大多数人用 Cursor,永远停留在「问一句写一句」的初级阶段,却不知道:Cursor Rules 能让 AI 彻底读懂你的项目,生成的代码零修改、零返工、零规范问题,直接就能上线!
配置完你会解锁什么神仙体验?
- 不用每次重复「用 TS 写函数组件」,AI 默认就按你的标准来
- 不用手动改 AI 生成的不符合 ESLint 的代码,天生就过校验
- 新同事入职,不用啃几万字的规范文档,AI 自动生成符合团队标准的代码
- 重构项目时,AI 自动遵循你的架构设计原则,绝不乱改结构
- 写 API、写组件、写测试,全链路都有统一规范,再也不用跟 AI 反复掰扯
这不是幻想,是配置完 Rules 后的日常操作!
🚀 5 分钟极速上手:3 步配好你的第一条规则(小白零门槛)
1. 先选对规则作用域(全局 + 项目组合,万能方案)
表格
| 类型 | 适用场景 | 配置入口 | 优先级 |
|---|---|---|---|
| 全局规则 | 所有项目通用偏好(代码风格、技术栈选型、个人习惯) | Cursor 设置 → Rules → User Rules | 低 |
| 项目规则 | 当前项目专属规范(架构设计、命名规则、团队标准、第三方库) | 项目根目录创建.cursor/rules文件夹 |
高 |
✅ 黄金搭配:全局规则放个人通用习惯,项目规则放团队 / 项目专属规范,兼顾通用性和精准性。
2. 2 种方式创建规则文件,新手闭眼选第一种
方式一:可视化操作(新手首选,零出错)
- 打开 Cursor 设置(Windows:
Ctrl+Shift+J/ Mac:Cmd+Shift+J) - 找到 Rules 板块,点击「+ Add new rule」
- 填写规则名称,选择规则类型
- 复制下文的规则内容粘贴,保存直接生效
方式二:手动创建(适合高级用户 / 团队协作)
bash
# 项目根目录执行一行命令,直接创建文件夹和规则文件
mkdir -p .cursor/rules && touch .cursor/rules/project-standards.mdc
规则文件用
.mdc格式,支持 Markdown 语法和 YAML 元数据配置,上手零成本。
3. 第一条规则直接抄!粘贴完立即生效
在project-standards.mdc里粘贴以下内容,保存后 AI 立刻就能读懂你的标准:
yaml
---
description: React+TypeScript项目通用编码规范
alwaysApply: true # 始终生效,无需手动触发
priority: high # 高优先级,覆盖低阶规则
---
# 技术栈强制规范
- 全程使用TypeScript,禁止使用JavaScript,绝对禁止出现`any`类型
- React必须使用函数组件+Hooks,绝对禁止使用class组件、过时生命周期方法
- 状态管理优先使用React Context+useReducer,大型模块用Redux Toolkit
- 样式方案使用Tailwind CSS,组件隔离样式用CSS Modules
# 代码风格与命名规范
- 变量/普通函数:小驼峰camelCase,常量:大写+下划线UPPER_SNAKE_CASE
- React组件:大驼峰PascalCase,自定义Hooks必须以use开头(如useFetchData)
- 布尔值变量/函数,必须以is/has/should开头(如isLoading、hasPermission)
- 2个空格缩进,单行代码不超过80字符,优先使用箭头函数
# 强制最佳实践
- 所有组件必须声明Props类型接口,禁止隐式any
- 所有异步操作必须用try/catch处理错误,禁止无兜底的Promise调用
- 列表渲染必须用唯一ID做key,绝对禁止用数组索引
- 复杂逻辑必须添加JSDoc注释,禁止出现无注释的魔法数字
✅ 保存完立刻测试!让 AI 写一个 React 登录组件,你会发现,它生成的代码完全符合你的规范,不用改一个字!
🎯 封神级进阶技巧:让 AI 比你自己还懂你的项目
1. 条件触发规则:只对指定文件生效,精准度拉满
不用怕规则泛滥,给特定文件类型设置专属规则,比如只对 React 组件生效、只对 API 文件生效,AI 会自动匹配文件触发对应规则。
举个例子,React 组件专属规则,只对.tsx 组件文件生效:
yaml
---
description: React组件专属开发规范
globs: ["src/components/**/*.tsx", "src/pages/**/*.tsx"] # 匹配目标文件
autoAttached: true # 打开匹配文件自动生效,无需手动操作
---
# React组件开发铁律
- 组件必须是纯函数,副作用统一放在useEffect中处理
- 复用逻辑必须抽离为自定义Hooks,禁止组件内冗余重复逻辑
- 组件拆分原则:一个组件只做一件事,复杂业务拆分为容器组件+展示组件
- 路由组件严格遵循Next.js App Router规范,禁止硬编码路由
2. 优先级与冲突解决:再也不怕规则打架
Cursor 规则优先级从高到低排序,高优先级规则会直接覆盖低优先级规则,按这个顺序配置绝对不会乱:
- 手动附加的临时规则(命令面板添加)
- 项目规则(
.cursor/rules文件夹内的文件) - 全局规则(User Rules 里的配置)
- Cursor 默认规则
✅ 小技巧:核心强制规范,直接设置priority: highest,确保永远不会被覆盖。
3. 规则模块化:大型项目 / 团队协作必备
别把所有规则都塞在一个文件里,按功能拆分,维护起来超方便,团队协作也能各司其职修改对应规则:
bash
.cursor/rules/
├── base-standards.mdc # 基础编码规范(全项目通用)
├── react-spec.mdc # React专属开发规则
├── typescript-strict.mdc # TypeScript严格模式规则
├── api-request.mdc # API请求处理规范
├── git-team-rules.mdc # 团队协作Git提交规范
└── testing-standards.mdc # 单元测试编写规则
⚡ 实战痛点绝杀:用 Rules 解决 99% 的 AI 写代码翻车问题
痛点 1:AI 总生成过时语法、class 组件、var 声明
✅ 绝杀方案:禁止过时语法规则,直接锁死正确写法
yaml
---
description: 禁止使用过时/不规范语法
alwaysApply: true
priority: highest
---
# 绝对禁止使用的语法
- ❌ 禁止class组件,必须使用React函数组件+Hooks
- ❌ 禁止var声明变量,必须使用const优先,let次之
- ❌ 禁止使用function关键字定义匿名函数,优先箭头函数
- ❌ 禁止使用React.createClass、过时生命周期方法
- ❌ 禁止使用==做相等判断,必须使用===严格相等
痛点 2:团队命名规范不统一,code review 改到崩溃
✅ 绝杀方案:全场景统一命名规则,AI 生成直接符合规范
yaml
---
description: 全场景统一命名规范
alwaysApply: true
priority: high
---
# 命名铁律
## 变量与函数
- 布尔值:is/has/should前缀(isDisabled、hasAuth)
- 数组:复数形式(users、orderList)
- 事件处理函数:on+动作+主体(onSubmitForm、onClickDelete)
## 组件与文件
- 页面组件:名称+Page(HomePage、UserProfilePage)
- 容器组件:名称+Container(UserContainer)
- 展示组件:名称+Card/Item/Modal(UserCardComponent)
## API请求函数
- GET请求:get+资源+By+条件(getUserById、getProductByCategory)
- POST请求:create+资源(createUser、createOrder)
- PUT请求:update+资源(updateUserInfo)
- DELETE请求:delete+资源(deleteUser)
痛点 3:AI 生成的代码无错误处理,上线就崩
✅ 绝杀方案:强制错误处理规则,全场景兜底不翻车
yaml
---
description: 全场景强制错误处理规范
alwaysApply: true
priority: high
---
# 错误处理铁律
## 异步操作
- 所有async/await必须包裹在try/catch中,禁止无兜底异步代码
- 所有Promise必须添加catch处理,禁止只写then不处理错误
- API请求必须同时处理网络错误、业务状态码错误、超时错误
## 组件与渲染
- 所有业务组件必须用ErrorBoundary包裹,处理渲染异常
- 可选链必须处理null/undefined情况,禁止出现「Cannot read properties of undefined」报错
- 数据渲染必须添加骨架屏/空状态兜底,禁止白屏
## 函数与参数
- 函数入参必须做类型校验,可选参数必须设置默认值
- 边界值必须做兼容处理,禁止无校验直接操作入参
📦 直接抄!全场景现成规则模板(解压到项目直接用)
下面是整理好的 5 个核心规则文件,覆盖 99% 的前端开发场景,直接在.cursor/rules文件夹里创建对应文件,粘贴内容就能用,个人开发 / 团队协作全适配。
文件 1:base-standards.mdc(基础编码规范,全项目通用)
yaml
---
description: 项目基础编码规范,全文件通用
alwaysApply: true
priority: high
---
# 基础语法规范
- 全程使用TypeScript开发,禁止使用JavaScript,禁止隐式any类型
- 变量声明优先使用const,仅当变量需要重新赋值时使用let,绝对禁止var
- 相等判断必须使用===和!==,禁止使用==和!=
- 代码缩进使用2个空格,单行代码不超过80字符,禁止行尾空格
- 优先使用箭头函数,禁止使用function关键字定义匿名函数
- 禁止使用魔法数字,必须用常量声明并添加注释
- 复杂逻辑必须添加JSDoc注释,函数必须说明入参、返回值和作用
# 代码质量规范
- 启用ESLint+Prettier,代码必须通过校验,禁止忽略lint错误
- 禁止提交console.log、debugger语句,调试完成后必须删除
- 禁止嵌套超过3层的if/else语句,优先使用提前return、卫语句优化
- 禁止出现超过50行的函数,复杂逻辑必须拆分为多个小函数
- 禁止重复代码,可复用逻辑必须抽离为工具函数或自定义Hooks
# 安全规范
- 所有用户输入必须做校验和转义,防止XSS攻击
- 禁止在前端代码中硬编码敏感信息(密钥、token、密码)
- 接口请求必须携带鉴权信息,敏感操作必须做二次权限校验
文件 2:react-spec.mdc(React 专属开发规则)
yaml
---
description: React+Next.js专属开发规范
globs: ["src/**/*.tsx", "app/**/*.tsx", "pages/**/*.tsx"]
autoAttached: true
priority: high
---
# React组件开发规范
- 必须使用函数组件+React Hooks,绝对禁止使用class组件
- 组件必须使用大驼峰PascalCase命名,与文件名保持一致
- 所有组件必须显式声明Props类型接口,禁止使用any类型
- 组件必须默认导出,一个文件只写一个核心组件
- 自定义Hooks必须以use开头,必须声明入参和返回值类型
- 副作用必须统一放在useEffect中处理,禁止组件渲染时直接执行副作用
# 状态与性能规范
- 状态提升到最近的公共父组件,禁止冗余状态和重复请求
- 频繁更新的状态必须做优化,合理使用React.memo、useCallback、useMemo
- 列表渲染必须使用唯一业务ID作为key,绝对禁止使用数组索引
- 禁止在渲染函数中创建新的对象、数组和函数,避免不必要的重渲染
- 大数据列表必须做虚拟滚动、懒加载处理,禁止一次性渲染全量数据
# Next.js专属规范
- 优先使用App Router,遵循文件系统路由规范
- 服务端组件优先,仅当需要使用Hooks/交互时,才添加"use client"指令
- 数据获取优先使用服务端async/await fetch,配置缓存与重验证策略
- 图片必须使用next/image组件,禁止原生img标签,设置宽高与懒加载
- 路由跳转必须使用next/link组件,禁止原生a标签跳转
文件 3:typescript-strict.mdc(TypeScript 严格模式规则)
yaml
---
description: TypeScript严格模式开发规范
alwaysApply: true
priority: high
---
# TypeScript严格配置
- 项目必须启用tsconfig.json中的strict: true严格模式
- 禁止使用any类型,未知类型必须使用unknown+类型守卫处理
- 禁止使用非空断言!,必须通过类型收窄处理可选值
- 函数必须显式声明入参类型和返回值类型,禁止隐式推断any
- 禁止使用@ts-ignore、@ts-nocheck跳过类型校验
# 类型命名规范
- 接口命名使用I前缀(如IUserProps、IOrderInfo)
- 类型别名使用T前缀(如TUserId、TStatusEnum)
- 枚举类型使用E前缀(如EOrderStatus、EUserRole)
- 泛型参数使用有意义的名称,禁止单字母泛型(优先用TData、TParams而非T)
# 类型最佳实践
- 固定值集合必须使用enum枚举,禁止硬编码字符串/数字
- 优先使用interface定义对象类型,type别名用于联合类型、交叉类型
- 禁止重复定义类型,公共类型必须抽离到types/目录统一管理
- 接口必须做字段必填/可选区分,禁止全量可选
文件 4:api-request.mdc(API 请求处理规范)
yaml
---
description: API请求与接口处理规范
globs: ["src/services/**/*.ts", "src/api/**/*.ts", "app/api/**/*.ts"]
autoAttached: true
priority: high
---
# 请求基础规范
- 必须使用axios封装基础请求实例,配置统一的请求/响应拦截器
- 拦截器必须统一处理token注入、鉴权失效、错误提示、超时兜底
- 接口地址必须统一管理,禁止在业务代码中硬编码接口URL
- 必须使用async/await语法处理请求,禁止Promise回调地狱
# 接口类型规范
- 所有接口必须声明请求参数Params和响应数据Data的类型接口
- 接口响应必须使用统一格式:{ code: number; msg: string; data: T }
- 业务状态码必须统一管理,使用枚举类型声明,禁止硬编码
- 分页接口必须声明统一的分页参数和分页响应格式
# 错误与兜底规范
- 所有接口请求必须包裹在try/catch中,处理网络错误和业务错误
- 接口请求必须配套loading状态管理,禁止无loading的接口调用
- 接口失败必须有错误提示和兜底逻辑,禁止静默失败
- 重复请求必须做防抖/节流、取消请求处理,禁止重复提交
文件 5:team-collaboration.mdc(团队协作规范)
yaml
---
description: 团队协作与工程化规范
alwaysApply: true
priority: high
---
# Git提交规范
- 代码提交前必须执行npm run lint和npm run test,禁止提交有报错的代码
- 提交信息必须遵循Angular规范:<type>(<scope>): <subject>
- type可选值:feat(新功能)、fix(缺陷修复)、docs(文档更新)、style(格式调整)、refactor(代码重构)、test(测试相关)、chore(工程化/依赖)
- scope:修改的模块/页面,subject:简短清晰的修改说明
- 禁止直接提交到main/master分支,必须通过PR/MR合并代码
- PR必须经过至少1人code review通过,方可合并
# 测试规范
- 测试框架使用Jest+React Testing Library,E2E测试使用Playwright
- 测试文件命名:[业务文件名].test.ts/[业务文件名].test.tsx
- 核心业务模块单元测试覆盖率不低于90%,通用模块不低于80%
- 测试用例必须覆盖正常场景、边界场景、异常场景
- 新功能必须同步编写单元测试,bug修复必须补充对应的测试用例
# 文档规范
- 新增功能必须同步更新README.md、接口文档、使用说明
- 通用组件、工具函数必须编写使用文档和示例
- 项目架构、技术选型、环境配置必须有完整的说明文档
- 新成员入职文档必须包含环境搭建、开发规范、上线流程全流程说明
🚀 现在就行动,5 分钟解锁 Cursor 的真正实力
- 项目根目录执行命令,创建规则文件夹:
mkdir -p .cursor/rules - 把上面 5 个规则文件,复制到
.cursor/rules文件夹中 - 保存后重启 Cursor,规则立即生效,AI 写代码直接符合你的所有规范
- 把规则文件夹提交到 Git,团队所有成员直接共用,零成本统一规范
最后想说:Cursor Rules 从来不是「锦上添花」的小功能,而是 AI 辅助开发的「基础设施」。
没配置 Rules 的 Cursor,只是个能写代码的记事本;配置完 Rules 的 Cursor,才是真正能帮你提效、帮你兜底、懂你项目的专属开发助手。
现在就动手配置,你会发现:原来 AI 写代码,真的可以零修改直接上线!