首页 > 教程攻略 > ai资讯 >Cursor Rules怎么配置后端项目规范?

Cursor Rules怎么配置后端项目规范?

来源:互联网 时间:2026-07-31 12:26:29

后端项目想用AI辅助写代码,最怕什么?怕它自由发挥,随手塞个Lombok、自己try-catch处理异常、或者绕过你精心设计的全局拦截器。反复提醒?不现实,AI记不住。真正管用的做法,是把项目规范固化进项目根目录的.cursorrules文件——这个文件一放,AI每次生成代码都会自动读取,不再凭空猜测你的架构意图。

Cursor Rules怎么配置后端项目规范?

说白了,就是让AI在生成代码时自动遵守你定好的规则:Spring Boot项目统一返回Result、Service层加@Transactional、异常全部抛出由全局处理器拦截;Go项目则限定Gin+GORM+Zap技术栈、Handler必须用*gin.Context、日志用zap、错误调用customError.New。下面直接聊配置方法,不绕弯子。

创建项目级规则文件

在项目根目录下新建一个纯文本文件,命名为.cursorrules,不要加任何扩展名。这个文件必须放在最外层,和srcpom.xmlgo.mod同级,否则AI根本找不到它。文件名必须是.cursorrules,不能是.cursorrules.md.cursorrules.txt。操作很简单,终端里执行:touch .cursorrules 即可。

写入Spring Boot核心约束

如果你用的是Spring Boot,下面这段规则可以直接复制粘贴进去。它强制AI遵守你项目的实际分层逻辑,避免那些“看上去对但实际跑不起来”的代码:

你是一个Ja va后端开发专家,精通SpringBoot3.x。
项目约束:
所有Controller返回Result统一包装
Service层方法必须标注@Transactional,禁止用SqlSession手动提交
异常全部throw出去,由GlobalExceptionHandler统一拦截处理
数据库逻辑删除字段必须用@TableLogic注解,严禁物理DELETE
RESTful路由严格使用名词复数形式:/users、/orders
数据库字段名用snake_case,Ja va实体属性用camelCase
禁止在Controller里捕获业务异常并return null或new HashMap()

注意最后一条,这可能是最关键的一道防线。不写这条,AI大概率会自作主张try-catch,然后return new Result(),直接破坏你已有的全局异常处理流程。

配置Go后端行为契约

Go项目不需要Spring那套,但更需要明确边界。按以下三步来写:

第一步:声明AI角色定位


你是一个专注Go微服务的工程师,熟悉Gin+GORM+Zap技术栈。

第二步:定义不可逾越的红线


所有HTTP Handler函数必须接收*gin.Context参数,禁止用net/http原生Handler
数据库操作必须走GORM实例,禁止直接调用database/sql
日志输出必须用zap.Sugar().Info/Error,禁止fmt.Println或log.Printf

第三步:指定结构体字段映射规则


JSON响应字段用json:"user_id"标签,对应数据库列user_id,Go结构体字段命名为UserID
所有错误返回必须调用customError.New("xxx"),该函数已在internal/error包中定义

这里有个关键提醒:第三步中的customError.New必须真实存在,否则AI会虚构一个函数,导致编译失败。规则文件里引用的函数名,一定要和你项目里实际定义的保持一致。

启用规则引擎并验证

打开Cursor设置 → Editor → AI → 勾选Enable Rules Engine,然后重启编辑器。验证是否生效很简单:在任意Controller里输入“// 生成用户查询接口”,看AI返回的代码是否自动包裹Result.success(...)、是否跳过try-catch、是否用了@GetMapping("/users/{id}")而不是@GetMapping("/user")。如果一切符合预期,说明规则已经生效,AI终于开始“懂规矩”了。