摘要本文详细介绍了 Cursor Rules.cursorrules的配置与使用这是一个项目级的 AI 指令文件能够显著提升 AI 生成代码与项目规范的一致性。文章从背景问题出发解释了 Rules 的工作原理提供了 Java Spring Boot、Python FastAPI、JavaScript/TypeScript 以及项目架构速览四种实用模板并分享了按语言区分规则、结合不同 AI 模型等进阶用法帮助开发者一次性配置让 AI 在后续所有代码生成中都能遵循项目约定。先交代一下背景用了 Cursor 两个月后我发现一个问题——同一个项目里AI 生成代码的质量差异很大。写工具类的时候质量很高但一涉及到项目特有的架构约定AI 就开始乱来了。比如我项目里统一用 Result 类包装返回值、异常用全局拦截器处理、数据库字段用了逻辑删除……这些东西 AI 不知道。所以它生成的代码经常自作主张地直接return user而不是return Result.success(user)直接捕获异常而不是抛出去让拦截器处理。后来我发现了 Cursor 的一个功能叫Rules或者叫 .cursorrules。这玩意能帮你告诉 AI我们这个项目有什么约定、什么禁止、什么必须用。用了之后效果立竿见影——AI 生成的代码和项目风格匹配度从 60% 提高到 95% 以上。今天就把这东西怎么配、配什么完整写出来。Cursor Rules 是什么简单说Cursor Rules 是一个项目级 AI 指令文件。你把它放到项目根目录命名为.cursorrulesCursor和 Windsurf如果是 .windsurfrules每次生成代码的时候会把 Rules 文件的内容作为对话上下文注入给 AI。你可以理解成——你给 AI 发了一份「项目员工手册」上面写清楚了你的项目规范。AI 每次干活前先读一遍手册然后再开工。这个文件的作用范围是整个项目不是单个文件。所以一次配置所有生成都受益。怎么配置在项目根目录创建.cursorrules文件your-project/ ├── .cursorrules ← 新建这个文件 ├── src/ ├── pom.xml └── ...然后往里面写内容格式就是纯文本。下面是几个实用模板你直接抄就行。模板一Java Spring Boot 项目专用你是一个 Java 后端开发专家精通 Spring Boot 3.x。 项目约束 所有 Controller 返回 ResultT 统一封装 Service 层必须 Transactional不能用 SqlSession 手动提交 异常全部 throw 出去由 GlobalExceptionHandler 统一处理 数据库逻辑删除用 TableLogic不要物理删除 RESTful 风格名词复数路由GET 查/POST 增/PUT 改/DELETE 删 数据库字段名用下划线snake_caseJava 属性用驼峰camelCase 禁止在 Controller 里写业务逻辑 输出规范 代码注释用中文简洁每段逻辑只加一条注释 生成 Java 文件时包含 import 语句 Controller 层使用 Valid Validated 做参数校验 Service 层方法签名不要 throws Exception把这套规则放进.cursorrules后AI 生成的 Controller 会自动PostMapping(/users) public ResultUser createUser(Valid RequestBody UserCreateRequest request) { User user userService.createUser(request); return Result.success(user); // 自动用 Result 包装 }而不是以前那种PostMapping(/addUser) public String addUser(RequestBody UserCreateRequest request) { // 直接在 Controller 里写业务逻辑 userMapper.insert(request.toUser()); return ok; }差距就是这么大。模板二Python FastAPI 项目专用你是一个 Python 后端开发者精通 FastAPI。 项目约束 所有响应用 Pydantic BaseModel 定义 Schema 数据库操作用 SQLAlchemy 2.0 async session 密码用 bcrypt 加密 JWT token 认证从 header 取出 token 后解析 user_id 错误码统一用自定义的 AppException 抛出 日志用 structlog 结构化日志 输出规范 代码注释用中文一句一注释 类型注解必须完整 所有 API 路径前加 /api/v1/ 每个 API 函数添加 summary 和 description 参数看这就是一份员工手册。AI 每次生成都按这个规范走不会有任何偏差。模板三通用 JavaScript/TypeScript 项目你是一个前端/Node.js 开发者精通 TypeScript。 项目约束 函数用箭头函数不要 function 关键字 所有接口返回类型用 axios 泛型定义 组件文件用 PascalCase工具函数文件用 camelCase React 组件用函数组件 hooks不用 class 组件 不允许使用 any 类型 不允许使用 var 输出规范 import 按顺序第三方库 → 内部模块 → 样式 组件 props 用 interface 定义不要 inline 状态管理用 zustand不用 redux 异步操作一律用 async/await不用 .then模板四项目架构/技术栈速览适合接手老项目## 项目技术栈 - Spring Boot 2.7.3 MyBatis Plus 3.5.2 - MySQL 8.0 Redis 6.x RabbitMQ - Maven 多模块common / dal / service / web 核心架构约定 dal 层只操作数据库不写业务逻辑 service 层业务逻辑事务边界在这里 web 层只做参数校验和结果包装 跨模块调用必须走 Service 接口不要直接依赖 Mapper 常见模式 分页查询用 PageHelper.startPage() PageInfo 包装 缓存用 Cacheable 注解缓存 key 格式为 prefix:id 异步用 Async 注解自定义线程池配置接手老项目的时候放一个AI 生成的东西直接和项目的技术栈匹配。不用你反复纠正。一些进阶用法按语言区分规则如果项目是前后端混合可以在.cursorrules里分类写## 处理 Java 代码时 (Spring Boot 规范) 处理 JavaScript 代码时 (React 规范)Cursor 会根据你当前编辑的文件类型自动匹配对应的规则。结合 Claude 和 GPT 的限制不同模型对 Rules 文件的支持程度不同- Cursor 内置模型完全支持- Claude 3.5 Sonnet高度兼容- GPT-4基本兼容如果发现 AI 没有严格遵守 Rules可以手动说一句「记住项目根目录的 .cursorrules 文件」它就会重新加载。总结.cursorrules的本质是什么它不是你给 AI 的约束——是你给 AI 的上下文。你的项目有自己的技术栈、编码规范、架构约定AI 刚进来看不到这些。.cursorrules 就是告诉它「你好这个项目是这样的请按这种方式干活。」我建了个自己常用的模板库项目每次新建项目直接拷贝一份对应的 Rules 进去后续 AI 生成代码的质量稳得一批。你也试试把项目规范写进去然后观察 AI 生成代码的变化——你会觉得自己换了一个 AI。下一篇预告AI 写 SQL——把需求描述丢进去生产级SQL就出来了私信回复「666」一次性领走面试宝典Java 高频考点速查表、HashMap/ConcurrentHashMap 源码笔记、JVM 调优案例、Spring Boot 面试 50 问AI 编程工具箱Cursor/Copilot/Codex 六工具对比表、10 个 Prompt 模板、Debug 万能公式、Cursor 速查手册、AI 图片生成入门、30 效率工具包一份资料包两个专栏都能用。「唠点键盘之外的」只讲干货。