林芝市网站建设_网站建设公司_VS Code_seo优化
2025/12/18 21:52:06 网站建设 项目流程

  官方文档:https://cursor.com/cn/docs/context/rules

  规则的工作原理:大型语言模型在不同补全之间不会保留记忆。规则在提示级别提供持久、可重用的上下文。应用后,规则内容会被加入到模型上下文的开头。这为 AI 在生成代码、理解编辑或协助处理工作流时提供一致的指导。

一、什么是 Cursor Rules

  简单来说,Rules 就是你给 AI 助手设定的"行为准则"——告诉它在帮你写代码时应该遵循什么规范、偏好和约束。可以把它理解为:给 AI 配置一份"员工手册",让它按照你的要求来工作。

  简单理解,Cursor Rules 就是你为 AI 设置的一些规则,你可以定义技术栈、代码规范、目录结构、组件规约等各类要求。当 AI 生成代码时,这些规则会约束 AI 的各种“奇思妙想”,以便生成更加符合预期的项目代码。

  当一条规则被触发后,规则中的内容会被附加到提示词中,为 AI 提供参考,无论是在自动补全、代码生成、重构还是错误修复时都能遵循这些规范。

1、全局规则 and 项目规则

  打开 Cursor 的 Settings-Rules 界面进行配置。

  全局规则:User Rules - 这些规则全局起效,适合存放一些个人的编程习惯或实现偏好。例如 Cursor 中文版默认的 “Always respond in 中文” 。

  项目规则:Project Rules - 这些规则仅对当前项目生效,文件格式存储,方便版本控制,适合整个团队共享相同规则。

  点击 Project Rules 右侧的“Add Rules”即可新增。

  注意,新建的 Rules 文件后缀名是 .mdc,而不是原来的 .cursorrules,但 Cursor 依然兼容原来的 cursorrules,记得勾选 “Includes .cursorrules file” 即可。

2、规则类型:主要包括以下几种

  • Always:总是生效,规则内容会始终包含在模型上下文中。
  • Auto Attached:根据后面配置的文件规则才会起效,比如,指定 src 下的文件、指定 java 文件等。
  • Agent Requested:你可以将你的想法写入后面的输入框,AI会判断是否需要追加规则到上下文,比如,当生成界面效果时应用当前规则。
  • Manual:在与 AI 对话时,手动指定规则,比较灵活,仅当通过 @Cursor Rules 显式调用时包含。

  简而言之,如果你想手动调用规则,用 Manual;想自动触发用 Auto Attached;想始终生效用 Always;想让 AI 自己决定是否用,就用 Agent Requested

 3、Rules 文件的结构

---
description:        # 规则描述(可选)
globs:              # 匹配的文件模式,如 "**/*.vue"
alwaysApply: true   # 是否始终应用
---
# 规则内容(Markdown 格式)

  关键配置项:

配置说明
alwaysApply: true 始终生效
globs: "**/*.vue" 仅在编辑 .vue 文件时生效
description 让 AI 按需引用的描述

4、Rules 文件怎么来?

(1)针对全局规则 - 自己整理:这是最可靠的方式,但估计也是大家最不喜欢的方式。一句一句地整理技术栈、代码规约、项目约定等内容,耗费巨大,但是长期效果最佳,毕竟,最适合的才是最好的。

(2)针对项目规则 - 自己整理 + Cursor 自己生成 Rules:这是新版本 Cursor 的一大亮点,直接在 AI 对话框中输入“/”,会弹出快捷指令 “Generate Cursor Rules” 回车后发送指令即可。

  也可以直接在 Chat 中让 AI 分析项目并生成规则:提示词示例

请分析当前项目的技术栈、目录结构和代码风格,
为我生成一份 .cursor/rules/project-guidelines.mdc 规则文件,包含:
1. 项目使用的技术栈约束
2. 代码风格规范
3. 命名规范
4. 组件/模块拆分原则

(3)使用社区规则模板:从 cursor.directory 获取现成的规则模板,按项目技术栈选择

  地址:https://cursor.directory/

二、Cursor 四种规则类型对比

类型存放位置作用范围特点适用场景
User Rules Cursor Settings 所有项目

1.全局生效,所有项目都会应用

2.不会被版本控制,纯个人配置

3.始终加载,无法按文件类型过滤

语言偏好、个人习惯等通用性的

 

Project Rules .cursor/rules/*.mdc 当前项目

1.支持 globs 按文件类型匹配

2.支持 alwaysApply 控制是否始终生效

3.可被 Git 版本控制,团队共享

4.支持子目录独立规则

技术栈约束、代码规范、目录结构、特定文件规则:globs: "**/*.vue"

Team Rules 云端管理 + 本地 团队所有成员

1.需要 Cursor Business/Enterprise 版本

2.管理员可设置「推荐」或「强制」

3.自动同步到团队所有成员

4.适合大型团队统一管理

团队标准、企业编码标准、API 设计规范、安全审计要求、统一的架构模式等

AGENTS.md 项目根目录AGENTS.md 当前项目

1.纯 Markdown 格式,无需 frontmatter

2.适合简单项目,快速上手

3.功能较 Project Rules 简单

4.无法按文件类型过滤

简单场景、小型项目快速配置、开源项目简单说明、不需要复杂规则匹配的场景

1、选择建议

你的需求推荐类型
个人习惯,所有项目通用 User Rules
项目级规范,需要版本控制 Project Rules
大型团队,统一管理 Team Rules
简单项目,快速配置 AGENTS.md
需要按文件类型匹配 Project Rules(globs)

2、优先级(从高到低):User Rules > Project Rules > Team Rules > AGENTS.md

三、最佳实践

1、分层策略:什么规则放哪里

层级放什么内容示例
User Rules 个人习惯、语言偏好 "用中文回复"、"简洁风格"
Workspace Rules 项目规范、技术栈约束 "使用 Vue 3"、"代码不超过500行"
按文件类型的 Rules 特定文件的处理方式 .vue 文件用组合式 API

2、规则文件的组织方式:推荐按功能模块拆分多个规则文件

.cursor/rules/
├── project-guidelines.mdc    # 通用项目规范(alwaysApply: true)
├── vue-components.mdc        # Vue 组件规范(globs: "**/*.vue")
├── api-design.mdc            # API 设计规范(globs: "**/api/**")
└── testing.mdc               # 测试规范(globs: "**/*.test.ts"

  好处:(1)规则按需加载,不会给 AI 太多无关信息(2)便于维护和更新(3)团队成员各司其职

3、编写有效规则的技巧

✅ 好的规则特征

# 具体、可执行、有边界✅ "函数参数不超过 5 个,超过时使用对象参数"
✅ "组件文件使用 PascalCase 命名,如 UserCard.vue"
✅ "API 请求统一使用 src/api/ 下的封装方法"

❌ 避免的写法

# 模糊、主观、无法衡量❌ "写出高质量的代码""保持代码整洁""尽量优化性能"

4、 三种触发模式的选择

模式配置方式适用场景
始终生效 alwaysApply: true 核心规范,如代码风格
按文件匹配 globs: "**/*.vue" 特定文件类型的规范
按需引用 只写 description 参考性内容,AI 自行判断是否需要

  推荐组合:

---
description: "Vue 组件开发规范,包含组合式 API 使用指南"
globs: "**/*.vue"
alwaysApply: false
---

5、实用规则模板(可以自己准备一套,平时积累,不断优化更新)

  少即是多:写 10 条清晰可执行的规则,胜过 100 条模糊的"建议"

6、要充分发挥 Cursor 规则的效果,需要编写简洁、明确的规则并在 Prompt 中正确调用。以下是一些实践建议:

  • 规则简洁具体: 保持规则简洁,控制在 500 行以内是一个不错的目标
  • 拆分复杂概念: 将复杂的概念拆分为多个可组合的小规则
  • 使用示例与代码片段: 在有帮助的情况下提供具体示例或引用的文件
  • 在提示中引用规则: 当需要时,可以在聊天提示中使用 @规则名 来手动应用特定规则。
  • 尽可能清晰: 避免模糊的指导。编写规则的方式应像写一份清晰的内部文档
  • 及时更新: 当你发现自己在对话中重复强调某个事情时,可以将其编写成一条规则
  • 团队协作: 团队内共享同一份规则,定期与团队讨论和更新,确保它们与当前代码实践保持一致。

  通过以上实践,将规则编写与清晰的提示指令结合使用,Cursor AI 就能更智能地理解上下文和需求,从而产生高质量的代码结果。

  Project Rules的三种层级:根据我们的实际开发场景,我们需要用到的 Rules(规则/规范)大致可以分为三个层级:

(1)通用规范:适用于所有项目,不受编程语言和框架影响

(2)编程语言规范:适用特定编程语言的最佳实践,遵循语言设计思想和惯例

(3)框架规范:适用特定框架,确保与框架生态系统兼容和一致性

  这三种规则层层递进,从通用性到特定性,共同构成完整的编码规范体系。

 四、Cursor Rules 的分层设计

  一个新人来到项目首先要看文档,大模型也是一样,Cursor Rules 就是大模型看的项目文档。用好 Cursor Rules,可以让大模型接管中、大型项目的开发工作。

 1、通用开发规则,使用 alwaysAppy: true 代表模型每次请求都需要查看这个 RULES

  适用场景:通用的开发规则,比如让他更新完代码后,要更新 Rules

---
description: *** 项目核心开发规范
globs:
alwaysApply: true
---# *** 项目开发规范
## 技术栈约束
## 目录结构规范
### 组件放置原则
## 命名规范
## 代码风格
## 代码限制
## 禁止行为
## Rules 自更新机制完成功能开发后,检查是否有可抽离的通用模式:### 触发条件- 新增了可复用的组件模式
- 发现了新的代码约定或最佳实践
- 封装了新的组合式函数(compositions)
- 定义了新的 API 调用模式### 更新规则1. **识别模式**:判断本次改动是否具有通用性(≥3 处可复用)
2. **选择文件**- 通用规范 → `project-guidelines.mdc`- Vue 组件相关 → `vue-components.mdc`- API 相关 → `api-design.mdc`
3. **追加规则**:在对应文件中补充新的规范说明
4. **告知用户**:提示已更新的规则内容### 示例**场景**:开发了一个带搜索防抖的输入框组件**AI 分析**- 该模式可复用于多个搜索场景 ✓
- 属于 Vue 组件模式 → 更新 vue-components.mdc**更新内容**:
搜索防抖模式
const keyword = ref('')
const debouncedSearch = useDebounceFn(() => {
fetchData()
}, 300)
watch(keyword, debouncedSearch)**提示用户**> 检测到新增了「搜索防抖」通用模式,已追加到 vue-components.mdc### 不更新的情况- 一次性的业务逻辑
- 已有规则覆盖的场景
- 用户明确拒绝

  这样示例完整包含了:(1)触发场景(2)AI 分析过程(3)实际更新的规则内容(4)给用户的提示

2、精准打击

  适用场景:中大型项目,按模块设计 Cursor Rules,减少 Token 消耗,让模型更好地理解你的需求

  注意,中大型项目一定要使用 Cursor Rules 的 globs功能模块化分层设计

  比如 A 功能,产品代码在 src/components/xxx/* 目录下,那么用好 globs 参数,这样当你动这个目录的功能,会自动关联这个 Rules,实现精准打击

  学会使用 Cursor Rules 的分层设计,你就不会说大模型幻觉,越用越傻的问题了,这其实就是和 AI 协同办公的方式。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询