必须在项目根目录创建小写.cursor/rules/目录并放入含frontmatter的.mdc规则文件,否则AI将按通用结构猜测路径;规则需明确包路径、层路径及命名格式,如com.zte.mcrm.activity为根包、web/controller/存Controller类、service/impl/存实现类等,且须与真实代码树一致。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

要在Cursor中让AI准确理解并遵循你的项目目录结构,必须通过规则文件明确声明包路径、分层关系和命名惯例,否则AI会按通用Java项目猜测结构,导致生成的类放错位置、接口与实现不匹配、Mapper被塞进controller包里。
创建项目级规则目录
在项目根目录下执行命令创建标准规则路径:mkdir -p .cursor/rules。这一步不可跳过,【Cursor只识别 .cursor/rules/ 下的 .mdc 文件为项目规则】,放在其他位置(比如根目录直接放 .cursorrules)将完全不生效。
注意:该目录名区分大小写,必须是小写 .cursor,不能写成 .Cursor 或 cursor。
编写结构规范规则文件
进入 .cursor/rules/ 目录,新建一个文件,例如 project-structure.mdc。
在文件顶部必须写入 frontmatter 声明,这是规则生效的前提:
---
description: ZTE-CRM项目目录与包结构规范
alwaysApply: true
---
Agents 正在你的整个代码库中处理越来越复杂、运行时间更长的任务。本次版本引入了新的 agent 框架改进,以实现更好的上下文管理,并在编辑器和 CLI 中带来了许多提升使用体验的修复。
没有这个 frontmatter,AI 会忽略整个文件内容;缺少 alwaysApply: true,规则仅在手动 @ 提及该文件时才触发,无法保障每次生成都遵守结构。
声明具体目录结构与命名规则
在 frontmatter 下方用 Markdown 正文逐条写明结构要求,避免模糊描述。以下为 ZTE-CRM 项目的实际可用写法:
# 包结构规范
- 根包路径固定为:com.zte.mcrm.activity
- controller 层路径:web/controller/,类名格式:{Module}Controller
- service 层路径:service/,接口名格式:I{Module}Service,实现类路径:service/impl/{Module}ServiceImpl.java
- repository 层路径:repository/mapper/ 和 repository/rep/,Mapper 接口名后缀为 Mapper,Repository 实现类后缀为 Repository
- 公共组件统一放在 common/ 下,其中常量在 common/constant/,枚举在 common/enums/
这一部分必须与你真实代码树完全一致。如果实际项目中 service 接口放在 service/api/ 而你写成 service/,AI 就会把新接口错误生成到默认路径,后续还得手动挪动。
验证规则是否加载成功
保存文件后,在 Cursor 中打开任意 Java 文件 → 按 Ctrl+L(Windows/Linux)或 Cmd+L(macOS)唤出命令面板 → 输入「Reload Window」→ 回车重启窗口。
重启后,在聊天框中输入“帮我写一个用户管理的 Controller”,AI 生成的类会自动落在 web/controller/ 下,包声明为 package com.zte.mcrm.activity.web.controller;,类名为 UserController。

















