在上周的面试中,面试官忽然问我:“你使用过 Cursor 吗?那你知道 rules 吗?”
当时我有些愣住,误以为面试官是在提及 Cursor 的缺陷,正准备开始解释,结果被面试官及时纠正了发音。
没关系,若不明白,我们可以去学习。在面试结束后,我便开始研究这个话题。
Cursor 规则是什么
Cursor Rules,简单来说就是一系列的开发规范与约束提示,它们指引 AI 在帮助用户编写代码和生成文件时应遵守的规则。可以将其视作是你在撰写提示时所需的规则,但它的特点是持久有效,并且在全局范围内适用。
Cursor Rules 分为两种类型:全局规则(User Rules)和项目规则(Project Rules)。前者适用于所有项目,而后者则仅限于特定项目。
为何需要这些规则
在日常开发过程中,您可能会遭遇以下问题:
- 代码风格不一致,包括缩进、命名和注释习惯等。
- 技术栈受限,项目要求只能使用 React 18,而 AI 却误用了 React 19 的新语法。
- 项目结构固定,例如组件必须位于 /components 目录,API 请求需放在 api.ts 文件中,但 AI 有时会错误地放在其他地方。
- 安全性或团队规范,敏感信息不得出现在代码中,并且需要遵循 ESLint 规则。
若没有规则,AI 可能会:
- 生成团队不认可的代码风格。
- 写出无法运行或风格不统一的代码,需要手动进行修改。
- 推荐不被允许的依赖或库。
通过制定这些规则,可以在源头上减少以上问题的发生。
如何使用这些规则
- 打开一个项目。
- 点击右上角的设置 ⚙️。
- 选择Rules & Memories。
- 在User Rules中添加全局规则,或在Project Rules中为特定项目进行配置。
用户规则
在 Cursor 设置面板中可以直接进行配置,通常是在这里设置 Cursor 用中文回复我们的偏好。
项目规则
Cursor 会在项目的根目录下创建一个 .cursor 文件夹,我们需要在该文件夹下的 rules 文件夹中新增一个包含规则的配置文件,格式应为 Markdown 语法。
目前有四种应用方式:
| 模式 | 含义 | 触发方式 | 使用场景 |
| --- | --- | --- | --- |
| always | 始终生效 | 无论何种情况均会应用 | 例如:所有代码必须使用 TypeScript,禁止使用 any |
| auto attached | 自动附加 | 当 Cursor 检测到相关上下文时自动加载 | 例如:打开 api/ 目录下的文件时,自动应用“必须使用 fetch”规则 |
| agent requested | 智能体请求时附加 | 当 AI 助手认为需要某个规则时才应用 | 例如:AI 在编写 React 代码时会附加“使用函数组件,而非 class 组件” |
| manual | 手动启用 | 需要用户在规则面板中手动选择 | 例如:某些临时实验性规则,默认不启用,偶尔才开启 |
撰写项目规则时应注意以下几个方面:
- 提供项目背景信息。
- 编码标准。
- 约束首选的库和框架。
- 提供清晰的文件结构信息。
- 文档规范。
以下是一个规则示例
# 项目背景
这是一个在线旅游攻略分享平台,前端使用 React +
后端提供 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 让系统自动生成规则。
Please specify source if reproduced一次面试让我重新发现了Cursor的魅力 - 今日头条 | AI工具导航
