一次面试让我重新认识了 Cursor

上周面试的时候,面试官突然问我:"你用过 Cursor 对吧,那你知道 rules 嘛?"

当时小爱一愣,把问题听成了Cursor的弱势,本来一张嘴就要编了,结果被面试官及时制止,强行纠正了下发音

没事,不明白咱可以学。面试完了,小爱同学就去了解了下这个点

什么是 Cursor Rules

Cursor Rules也就是Cursor规则 ,本质上就是一组"开发规范/约束提示",告诉 AI 在帮你写代码、生成文件时要遵守的规则。类似于你在写 prompt,但它是持久的,全局生效

Cursor Rules 有两种类型:全局规则 (User Rules)、项目规则(Project Rules),全局适用于所有项目,项目则只对指定的生效

为什么需要它

在日常开发里,你可能遇到过这些问题:

  • 代码风格不一致(缩进、命名、注释习惯)

  • 技术栈有约束(项目规定只能用 React18,结果 AI 给你写了 React19 新语法)

  • 项目结构固定(组件必须放在 /components 目录,API 请求要放到 api.ts,但 AI 一不小心就写到别的地方)

  • 安全或团队规范(敏感信息不能出现在代码里,要遵守 ESLint 规则)

如果没有规则,AI 可能会:

  • 给你生成团队不接受的写法

  • 写出跑不通或风格不统一的代码,需要手动去修改

  • 推荐你不允许的依赖或库

有了Rules,就能在源头上减少这些麻烦

怎么使用

  • 打开一个项目

  • 点击右上角的设置 ⚙️

  • 选择 Rules & Memories

  • 在 User Rules 里添加全局规则,或者在 Project Rules 里为单个项目配置

User rules

在Cursor Settings的面板中可以直接配置,这边一般是设置Cursor用中文回复我们

Project rules

Cursor会在项目根目录下生成一个.cursor文件夹,我们需要在这个文件夹下的rules文件夹中新建一个包含rules的配置文件,内容格式为Mardown语法

目前包含四种应用方式

模式 含义 触发方式 使用场景
always 始终生效 无论什么情况都会应用 比如:所有代码都必须用 TypeScript,不允许 any
auto attached 自动附加 Cursor 在检测到相关上下文时自动加载 比如:打开 api/ 目录下的文件,就自动应用"必须用 fetch"规则
agent requested 智能体请求时附加 当 AI Agent(助手)判断需要用到某个规则时才应用 比如:AI 在写 React 代码时才会附加 "用函数组件,不要 class 组件"
manual 手动启用 需要用户在规则面板里手动点选 比如:某些临时实验性规则,默认不启用,偶尔才开

编写一个项目的rules主要有以下几方面需要注意:

  1. 提供项目背景
  2. 编码标准
  3. 约束首选库和框架
  4. 提供清晰的文件结构信息
  5. 文档规范

以下是一个rules示例

markdown 复制代码
# 项目背景
这是一个在线旅游攻略分享平台,前端使用 React + TypeScript + TailwindCSS,
后端提供 RESTful API。目标是让用户能快速分享和浏览旅游日记。

# 编码标准
- 所有代码必须使用 TypeScript,不允许使用 JavaScript。
- 变量命名统一使用 camelCase。
- React 组件必须使用 PascalCase。
- 自定义 Hooks 必须以 `use` 开头。

# 库和框架约束
- 必须使用 React 18,不要用 React 19 新特性。
- 样式必须使用 TailwindCSS,不要写内联 style。
- 网络请求必须使用 `fetch`,不允许用 axios。

# 文件结构
- 业务组件放在 `src/components` 下。
- API 调用必须封装在 `src/api` 下。
- 所有页面文件放在 `src/pages` 下。
- 公共工具函数放在 `src/utils` 下。

# 文档规范
- 导出的 API 方法必须写 JSDoc 注释。
- 复杂逻辑的 Hooks 必须写注释,说明参数和返回值。
- 每个页面组件文件顶部必须有模块说明注释。

# 安全规范
- 不要把明文 API Key、token 写在代码里。
- 所有配置从 `.env` 里读取,通过 `process.env` 使用。

另外可以参考 awesome-cursorrules ,当然还可以输入 /Generate Cursor Rules 让系统自动生成规则

相关推荐
keke.shengfengpolang几秒前
2027届大数据管理与应用求职:采购数字化岗位JD数据能力拆解
面试
liangshanbo12155 分钟前
Monorepo 工程化面试题:如何设计 Web + Node.js 中间层 + Shared + Scripts 的 Monorepo?
前端·node.js
IT_陈寒7 分钟前
Redis集群切换主节点时,服务竟然全员掉线
前端·人工智能·后端
wangbing112512 分钟前
开发指南147-WebSocket-前端
前端·websocket·网络协议
吴声子夜歌14 分钟前
Nginx应用与运维——Nginx Web服务应用实战(伪流媒体服务器的搭建)
运维·前端·nginx
ss27338 分钟前
AI全栈实战 | 2.4-01 Node 与前端工程化:前端为什么离不开 Node,它不只是构建工具的宿主
前端
aixingpan39 分钟前
aixingpan.cn API开发文档:api_docs_transit接口指南
前端·php
鬓戈43 分钟前
Volta:解决 nvm「不能同时存在多个 Node 版本」的痛点
前端
吴声子夜歌1 小时前
Nginx应用与运维——Nginx Web服务应用实战(HTTP增强协议服务器的搭建)
运维·前端·nginx
扶风ff10 小时前
新品知识更新太快?用练题簿在线刷题,安排企业培训的小测与复盘
前端·学习·小程序