背景:给一个老项目写cursorrules.
这个是初始版本。
# JSH ERP Agent Guide## 仓库地图-`jshERP-boot`:主 ERP 后端,Spring Boot2+ Java8+ MyBatis -`jsh-ai-service`:AI 服务,Spring Boot3+ Java17+ LangChain4j -`jshERP-web`:前端,Vue2+ Ant Design Vue## 改动边界- 先确认需求属于哪个模块,优先做局部修改,不要无关扩散。 -`jshERP-boot`中保持 controller 薄,业务逻辑放在 service。 - 改 MyBatis 查询时,同时检查 entity、mapper 接口、mapper XML、service 调用链。 - 涉及租户、状态、删除标记、权限过滤的 SQL,修改时要特别小心。 -`jsh-ai-service`通过 HTTP 调用老 ERP。改接口时,一起检查 DTO、URL 和异常处理。 -`jshERP-web`是旧 Vue2栈。优先沿用现有结构和接口调用方式。## 不要改错地方- 不要手改`target/`、压缩包和其他构建产物。 - 不要提交本地密码、Webhook、API Key 等敏感信息。 - 配置里如果有敏感值,优先改成环境变量占位。## 验证习惯- 每次只做与当前改动最相关的最小验证。 - 改`jsh-ai-service`:优先`mvn-fjsh-ai-service/pom.xmltest`- 改`jshERP-web`:优先`npm--prefixjshERP-web run build`- 改`jshERP-boot`的 service、controller、mapper、SQL:至少检查相关接口和映射链路是否闭合。 - 如果没有运行验证,要明确说明。虽然不多,但是也没必要全部注入上下文。
首先问了大模型一个问题,
必须保留在.cursorrules.md 的内容:应该降级到 .cursor/rules/*.md 的内容:应该挪到文档库,作为 P3
handle 的内容:应该直接删除的内容:
基于回答,重点问几个问题
是否每次任务都必须看到?
是否只对某个目录 / 某类文件生效?
是否只是背景知识,不需要常驻?
是否已经过期、重复、互相矛盾?
是否可以通过工具按需读取?
然后进行 .cursorrules 的全局规则;后续想更精细控制,可以再把模块规则拆到 .cursor/rules/*.mdc。
如下
做完基础的拆分之后,还要进一步确定剩下的文字描述是否合适。这个可以直接追问大模型,得到直接的答案