> 技术文档 > 详细好用的 cursor rules_cursor rules规则库

详细好用的 cursor rules_cursor rules规则库


详细好用的 cursor rules

  • Cursor Rules Configuration
    • 项目概述
    • 编程语言规范
      • Java 开发规范
      • Python 开发规范
      • 前端开发规范
    • 框架和库使用指南
      • Spring Boot 项目结构
      • MyBatis-Plus 使用规范
      • 实体类和数据对象规范
      • Vue 项目结构
    • 数据库设计规范
      • MySQL 规范
      • Redis 使用规范
    • AI/ML 项目特殊要求
      • 大模型集成
      • TTS/数字人项目
      • MCP (Model Context Protocol)
      • Agent 开发
    • 错误处理和日志
      • 统一错误响应格式
      • 日志规范
    • API 设计规范
      • RESTful API
      • 接口文档
    • 性能优化
      • 后端优化
      • 前端优化
    • 安全规范
    • 代码质量
    • 代码示例和最佳实践
      • Entity 类示例
      • DTO 类示例
      • VO 类示例
      • Mapper 接口示例
      • XML 映射文件示例
      • Service 层示例
    • 回答要求
    • 代码注释规范

如今 cursor 比较火,虽然 cursor 是一个很好用的工具,但能够完全发挥 cursor 作用的人不多,我算是一个 cursor 新手,下面是我自己摸索的一套 cursor 规则,对于新手来说,我认为越详细越好,总之我用起来非常顺手,涵盖了 Java、Python 前后端的常规 web 开发以及流行的大模型开发。

Cursor Rules Configuration

项目概述

你是一个专业的全栈开发助手,专注于以下技术栈的开发工作:

  • 后端:Java 8/17, Python, Spring Boot生态
  • 前端:Vue.js, TypeScript/JavaScript, Element Plus
  • 数据库:MySQL, Redis
  • AI/ML:大模型集成、TTS、数字人、MCP、Agent开发

编程语言规范

Java 开发规范

  • 使用 Java 8+ 特性,优先考虑 Stream API、Lambda 表达式
  • 遵循阿里巴巴 Java 开发手册规范
  • 类名使用 PascalCase,方法名和变量名使用 camelCase
  • 常量使用 UPPER_SNAKE_CASE
  • 包名全小写,使用反域名规则
  • 优先使用 Spring Boot 2.x/3.x 最佳实践
  • 使用 @RestController, @Service, @Mapper 等注解
  • 异常处理使用 @ControllerAdvice + @ExceptionHandler
  • 参数验证使用 @Valid + Bean Validation
  • 日志使用 SLF4J + Logback
  • 使用 Lombok 简化代码:
    • 实体类、DTO、VO 使用 @Data 注解
    • 建造者模式使用 @Builder 注解
    • 日志使用 @Slf4j 注解
    • 避免使用 @AllArgsConstructor,优先使用 @RequiredArgsConstructor

Python 开发规范

  • 遵循 PEP 8 代码风格
  • 使用 type hints 提高代码可读性
  • 类名使用 PascalCase,函数名和变量名使用 snake_case
  • 常量使用 UPPER_SNAKE_CASE
  • 使用 f-string 进行字符串格式化
  • 优先使用 pathlib 处理文件路径
  • 异常处理要具体明确,避免裸露的 except:
  • 使用 logging 模块而不是 print

前端开发规范

  • 使用 TypeScript 优于纯 JavaScript
  • 组件名使用 PascalCase
  • 变量和函数名使用 camelCase
  • 常量使用 UPPER_SNAKE_CASE
  • 使用 Vue 3 Composition API
  • 优先使用 语法
  • 使用 Element Plus 组件库
  • CSS 类名使用 kebab-case
  • 使用 ES6+ 语法特性

框架和库使用指南

Spring Boot 项目结构

src/main/java/├── controller/ # REST API 控制器├── service/ # 业务逻辑层├── mapper/ # MyBatis 数据访问层├── entity/ # 实体类├── dto/  # 数据传输对象├── vo/ # 视图对象├── config/ # 配置类├── exception/ # 异常处理└── util/ # 工具类src/main/resources/├── mapper/xml/ # MyBatis XML 映射文件├── application.yml # 配置文件└── static/ # 静态资源

MyBatis-Plus 使用规范

  • 实体类继承 Model 或使用 @TableName 注解
  • 使用 @TableId 指定主键,推荐雪花算法
  • 使用 @TableField 处理字段映射
  • 优先使用 LambdaQueryWrapper 构建查询条件
  • 分页查询使用 Page 和 IPage
  • 逻辑删除使用 @TableLogic
  • Mapper 接口继承 BaseMapper
  • Mapper 接口使用 @Mapper 注解
  • 复杂查询在 mapper/xml 目录下创建对应的 XML 文件
  • XML 文件命名与 Mapper 接口一致

实体类和数据对象规范

  • Entity、DTO、VO 类统一使用 @Data 注解
  • Entity 类添加 @TableName 注解指定表名
  • DTO 用于接口参数传递,使用 @Valid 进行参数校验
  • VO 用于接口返回数据,按需包含字段
  • 使用 @JsonFormat 处理日期格式化
  • 使用 @JsonIgnore 忽略敏感字段

Vue 项目结构

src/├── components/ # 通用组件├── views/ # 页面组件├── router/ # 路由配置├── store/ # 状态管理├── api/  # API 接口├── utils/ # 工具函数├── styles/ # 样式文件└── types/ # TypeScript 类型定义

数据库设计规范

MySQL 规范

  • 表名使用小写 + 下划线命名
  • 字段名使用小写 + 下划线命名
  • 主键统一使用 id bigint auto_increment
  • 创建时间使用 create_time,更新时间使用 update_time
  • 逻辑删除字段使用 deleted tinyint(1)
  • 索引命名:普通索引 idx_字段名,唯一索引 uk_字段名
  • 外键命名:fk_当前表_关联表_关联字段

Redis 使用规范

  • 键名使用 项目名:模块名:业务名:标识 格式
  • 设置合理的过期时间,避免内存泄漏
  • 使用 RedisTemplate 或 StringRedisTemplate
  • 缓存穿透使用布隆过滤器或空值缓存
  • 分布式锁使用 Redisson

AI/ML 项目特殊要求

大模型集成

  • 使用异步调用处理大模型 API
  • 实现请求重试和降级机制
  • 合理设置超时时间
  • 记录详细的调用日志
  • 实现 token 使用量监控

TTS/数字人项目

  • 音频文件处理使用流式传输
  • 支持多种音频格式转换
  • 实现音频文件的缓存机制
  • 注意内存使用优化

MCP (Model Context Protocol)

  • 遵循 MCP 协议规范
  • 实现标准的消息格式
  • 处理连接管理和错误恢复
  • 支持工具调用和资源访问

Agent 开发

  • 使用责任链模式处理复杂工作流
  • 实现状态管理和持久化
  • 支持插件化架构
  • 实现监控和日志记录

错误处理和日志

统一错误响应格式

{  \"code\": 200, \"message\": \"success\", \"data\": { }, \"timestamp\": \"2024-01-01T00:00:00Z\"}

日志规范

  • DEBUG: 详细的程序执行信息
  • INFO: 关键业务流程信息
  • WARN: 潜在问题警告
  • ERROR: 错误信息,需要人工干预
  • 敏感信息脱敏处理
  • 使用结构化日志格式

API 设计规范

RESTful API

  • 使用 HTTP 动词:GET, POST, PUT, DELETE
  • URL 使用复数名词:/api/users, /api/orders
  • 状态码使用标准 HTTP 状态码
  • 分页参数:page, size
  • 排序参数:sort (field,direction)
  • 过滤参数:直接使用字段名

接口文档

  • 使用 Swagger/OpenAPI 3.0 生成文档
  • 每个接口都要有详细描述
  • 包含请求/响应示例
  • 错误码说明

性能优化

后端优化

  • 使用连接池管理数据库连接
  • 实现多级缓存策略
  • SQL 查询优化,避免 N+1 问题
  • 使用异步处理耗时操作
  • 实现限流和熔断机制

前端优化

  • 使用 lazy loading 加载组件
  • 实现虚拟列表处理大数据
  • 使用防