Skip to content

Cursor 规则使用

Cursor 规则(Rules)

作用:为 Agent(智能代理)和 Inline Edit(行内编辑)提供系统级指令。可视为项目的持久化上下文、偏好设置或工作流模板。


规则工作原理

大型语言模型不会保留多次补全之间的记忆。规则通过以下方式提供持久化上下文:

  1. 注入机制:规则内容被插入到模型上下文开头
  2. 持续指导:为 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 时自动附加文件类型专属规则
AgentAI 自主决定是否包含需提供明确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 文件仍支持但即将废弃,建议迁移到新版项目规则获得更精细控制。


规则汇总