Cursor 规则使用
Cursor 规则(Rules)
作用:为 Agent(智能代理)和 Inline Edit(行内编辑)提供系统级指令。可视为项目的持久化上下文、偏好设置或工作流模板。
规则工作原理
大型语言模型不会保留多次补全之间的记忆。规则通过以下方式提供持久化上下文:
- 注入机制:规则内容被插入到模型上下文开头
- 持续指导:为 AI 生成代码、解释修改或工作流提供一致性指引
项目规则(Project Rules)
存储位置:.cursor/rules
目录(支持版本控制)
作用范围:
- 通过路径模式限定作用域
- 可手动调用或基于相关性自动包含
- 子目录可包含专属规则目录(自动应用至该文件夹)
核心用途:
markdown
✅ 编码代码库的领域知识
✅ 自动化项目专属工作流/模板
✅ 标准化代码风格或架构决策
规则结构(Rule Anatomy)
文件格式:MDC (.mdc
) - 支持元数据与内容
配置参数:
参数 | 说明 |
---|---|
type | 决定应用方式(改变其他属性) |
description | 规则描述 |
globs | 文件匹配模式(如 *.ts ) |
alwaysApply | 是否强制应用 |
示例:
mdx
---
description: RPC服务模板
globs: 'service/**'
alwaysApply: false
---
- 定义服务时使用内部 RPC 模式
- 服务名始终用 snake_case
@service-template.ts <!-- 引用文件作为附加上下文 -->
规则类型(Rule Types)
类型 | 触发机制 | 适用场景 |
---|---|---|
Always | 始终包含 | 全局基础规范 |
Auto | 匹配 globs 时自动附加 | 文件类型专属规则 |
Agent | AI 自主决定是否包含 | 需提供明确description |
Manual | 需显式调用(如@ruleName ) | 特殊场景定制 |
嵌套规则(Nested Rules)
目录结构示例:
bash
project/
├── .cursor/rules/ # 项目级规则
├── backend/
│ └── server/
│ └── .cursor/rules/ # 后端专属规则
└── frontend/
└── .cursor/rules/ # 前端专属规则
特性:当目录内文件被引用时,对应规则自动生效
规则操作指南
操作 | 路径 |
---|---|
创建规则 | New Cursor Rule 命令 或 Cursor Settings > Rules |
生成规则 | 使用 /Generate Cursor Rules 命令(对话中决策复用) |
查看状态 | Cursor Settings > Rules 面板 |
最佳实践
markdown
---
description: 项目通用规范
globs:
alwaysApply: true
---
# 项目通用规范
## 技术栈
- TODO
## 项目结构规则
- **分层组织**:按功能或领域划分目录,遵循"关注点分离"原则
- **命名一致**:使用一致且描述性的目录和文件命名,反映其用途和内容
- **模块化**:相关功能放在同一模块,减少跨模块依赖
- **适当嵌套**:避免过深的目录嵌套,一般不超过 3-4 层
- **资源分类**:区分代码、资源、配置和测试文件
- **依赖管理**:集中管理依赖,避免多处声明
- **约定优先**:遵循语言或框架的标准项目结构约定
## 通用开发原则
- **可测试性**:编写可测试的代码,组件应保持单一职责
- **DRY 原则**:避免重复代码,提取共用逻辑到单独的函数或类
- **代码简洁**:保持代码简洁明了,遵循 KISS 原则(保持简单直接)
- **命名规范**:使用描述性的变量、函数和类名,反映其用途和含义
- **注释文档**:为复杂逻辑添加注释,编写清晰的文档说明功能和用法
- **风格一致**:遵循项目或语言的官方风格指南和代码约定
- **利用生态**:优先使用成熟的库和工具,避免不必要的自定义实现
- **架构设计**:考虑代码的可维护性、可扩展性和性能需求
- **版本控制**:编写有意义的提交信息,保持逻辑相关的更改在同一提交中
- **异常处理**:正确处理边缘情况和错误,提供有用的错误信息
## 响应语言
- 始终使用中文回复用户
## 本项目规则文件说明
本项目使用以下规则文件:
- general.mdc:通用规范(本文件)
- document.mdc:文档规范
- git.mdc:Git 提交规范
- xxx.mdc:XXX 语言开发规范
用户规则(User Rules)
位置:Cursor Settings → Rules
特性:全局生效,适用于跨项目规范
示例:
plaintext
请用简洁风格回复,避免冗余内容或填充词。
⚠️ 迁移提示:
旧版.cursorrules
文件仍支持但即将废弃,建议迁移到新版项目规则获得更精细控制。