压缩包:

在 Cursor 中长期协作会遇到一个共性问题:规则写得不少,模型的遵守率却不稳定。表现为回答风格漂移、技术方案深度不够、编码规范偶发遗漏。根因通常有三点:

  1. 上下文稀释——一次性注入的规则过多、过长,模型注意力被摊薄;
  2. 规则冲突——例如「保持简洁」与「保留固定表达」互相打架,模型倾向优先简洁;
  3. 缺少兜底——规则只是提示词(prompt),没有任何一环在输出前后做强制校验。

针对这三点,我把规则拆成了分层加载 + 运行时校验的工程化结构。

设计目标

  • 入口精简:常驻上下文只保留最小必要规则,降低稀释;
  • 按需加载:语言/框架相关的细则,仅在相关文件打开时生效;
  • 可校验:在回答生成前后各加一道检查,把「软约束」尽量变成「可执行约束」;
  • 可迁移:全部以文件形式管理,便于版本控制与备份还原。

整体架构

Settings 全局规则(常驻入口,定义优先级)

alwaysApply 规则(.mdc):交流语言 / 回答风格 / 技术说明标准 / 开发流程与自检

按文件触发规则(globs):打开 .java / .xml 时加载分层、Mapper、JavaDoc 等细则

Skill(回答前自检):核对优先级与硬性要求

Hooks(回答后校验):stop 阶段检查,不合规则触发重写

分层说明

1. 全局入口(Settings User Rules)

只承担「优先级定义」和「最高约束」,不堆细节。明确各类规则的冲突顺序,并声明「简洁」只能删冗余,不能牺牲既定要求。作用是给模型一个稳定的裁决依据。

2. 常驻规则(alwaysApply: true

每轮都加载,但保持精简,包括:交流语言、回答风格、技术说明标准(组件/依赖/方案对比/调用链/接口/函数级实现)、开发流程与提交前自检。

3. 按文件触发规则(globs

将语言相关的细则(分层架构、Mapper/XML、命名与常量、代码风格、异常与安全、JavaDoc 等)标注 glob,仅在编辑对应文件时注入,避免在无关对话中占用上下文。

4. Skill:回答前自检

一个始终可命中的个人 Skill,作为「执行入口」,在生成回答前对照规则清单逐条核对(语言、风格、技术细节完整性、是否基于真实代码而非臆测)。

5. Hooks:回答后校验

利用 Cursor 的 stop Hook,在一轮回答结束时读取输出做规则校验;命中问题时返回续跑指令,要求模型按规则重写,并设置循环上限避免死循环。这是把「提示词约束」升级为「运行时约束」的关键一环。

工程化收益

  • 遵守率提升:从「全靠模型自觉」变为「入口裁决 + 前置自检 + 后置校验」三重保障;
  • 上下文更干净:细则按需加载,减少无关规则对回答质量的干扰;
  • 易维护、可回滚:规则、Skill、Hook 均为纯文本文件,可纳入版本管理,一键备份还原;
  • 风格与规范解耦:交流风格与编码规范各自独立,可分别调整,互不影响。

适用场景

  • 希望 Cursor 长期记住个人/团队约定,而非每次重新交代;
  • 从事 Spring Boot + MyBatis 等后端开发,需要把编码规范嵌入工作流;
  • 既要求技术细节完整,又希望统一交流风格与输出结构。

小结

规则的价值不在「写下来」,而在「被执行」。通过分层加载控制上下文密度、用 Skill 做前置提醒、用 Hooks 做后置兜底,可以显著提升 AI 在长期协作中的稳定性。这套结构与具体内容无关,任何人都能按同样思路,沉淀出属于自己的 Cursor 规则体系。

Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐