# Cursor Rules 使用指南

本项目使用 Cursor 的新规则系统（Project Rules + AGENTS.md），遵循 [官方最佳实践](https://cursor.com/cn/docs/context/rules)。

## 📁 规则文件结构

```
competition-management-system/
├── .cursor/rules/                    # 项目规则目录
│   ├── project-overview.mdc          # 项目概述（Always Apply）
│   ├── multi-tenant.mdc              # 多租户规范（Always Apply）⚠️
│   ├── backend-architecture.mdc      # 后端架构（Apply to backend files）
│   ├── frontend-architecture.mdc     # 前端架构（Apply to frontend files）
│   ├── database-design.mdc           # 数据库设计（Apply to prisma files）
│   └── code-review-checklist.mdc     # 代码审查清单（Manual）
├── backend/.cursor/rules/
│   └── backend-specific.mdc          # 后端特定规范（嵌套规则）
├── frontend/.cursor/rules/
│   └── frontend-specific.mdc         # 前端特定规范（嵌套规则）
├── AGENTS.md                         # 简化版指令（Quick Reference）
└── .cursorrules                      # 已废弃，保留作为备份
```

## 🎯 规则类型说明

### 1. Always Apply（总是应用）
- `project-overview.mdc` - 项目技术栈和基本信息
- `multi-tenant.mdc` - **多租户数据隔离规范（最重要）**

### 2. Apply to Specific Files（文件匹配）
- `backend-architecture.mdc` - 匹配 `backend/**/*.ts`
- `frontend-architecture.mdc` - 匹配 `frontend/**/*.vue` 和 `frontend/**/*.ts`
- `database-design.mdc` - 匹配 `backend/prisma/**/*.prisma`

### 3. Nested Rules（嵌套规则）
- `backend/.cursor/rules/backend-specific.mdc` - 仅作用于 backend 目录
- `frontend/.cursor/rules/frontend-specific.mdc` - 仅作用于 frontend 目录

### 4. Apply Manually（手动触发）
- `code-review-checklist.mdc` - 在 Chat 中使用 `@code-review-checklist` 引用

## 🚀 使用方式

### 在 Chat 中引用规则

```
# 自动应用
规则会根据上下文自动应用

# 手动引用
@code-review-checklist 请检查我的代码

# 引用特定文件
@backend-architecture 如何创建一个新的模块？
```

### 查看和管理规则

1. 打开 Cursor Settings（Cmd/Ctrl + ,）
2. 进入 **Rules** 选项卡
3. 查看所有规则的状态和类型

### 编辑规则

直接编辑 `.cursor/rules/` 目录中的 `.mdc` 文件，Cursor 会自动重新加载。

## 📖 快速参考

### 对于快速查阅
使用 `AGENTS.md`（纯 Markdown，无元数据）:
```bash
cat AGENTS.md
```

### 对于详细规范
查看 `.cursor/rules/` 中的具体规则文件。

## 🔄 从旧版本迁移

旧的 `.cursorrules` 文件已被拆分为多个小规则文件：

| 旧内容 | 新位置 |
|-------|--------|
| 项目概述 | `project-overview.mdc` |
| 后端规范 | `backend-architecture.mdc` + `backend-specific.mdc` |
| 前端规范 | `frontend-architecture.mdc` + `frontend-specific.mdc` |
| 数据库规范 | `database-design.mdc` |
| 多租户规范 | `multi-tenant.mdc` |
| 代码审查 | `code-review-checklist.mdc` |

## 💡 最佳实践

### 1. 规则大小
- 每个规则文件 < 500 行
- 聚焦单一主题
- 提供具体示例

### 2. 嵌套规则
- 在子目录创建 `.cursor/rules/` 针对特定区域
- 子规则会与父规则合并
- 更具体的规则优先级更高

### 3. 规则复用
- 将重复的提示词转换为规则
- 使用 `@rule-name` 在对话中引用
- 避免每次重复输入相同指令

## ⚠️ 重要提醒

### 多租户隔离
`multi-tenant.mdc` 规则设为 **Always Apply**，确保所有代码生成都包含租户隔离检查。这是系统安全的核心！

### 规则优先级
规则应用顺序：**Team Rules → Project Rules → User Rules**

## 🔗 参考链接

- [Cursor Rules 官方文档](https://cursor.com/cn/docs/context/rules)
- [MDC 格式说明](https://cursor.com/cn/docs/context/rules#规则结构)
- [最佳实践](https://cursor.com/cn/docs/context/rules#最佳实践)

## 📝 更新日志

- **2025-11-27**: 从 `.cursorrules` 迁移到新的 Project Rules 系统
  - 拆分为 6 个主规则 + 2 个嵌套规则
  - 添加 AGENTS.md 作为快速参考
  - 遵循 Cursor 官方最佳实践

