学习目标
一条有明确作用域的规则和两种匹配场景记录。
适用场景
项目的表单约定被写进全局规则,改后端脚本时 AI 也不断创建 UI 校验组件。本篇只定位范围与激活问题;现有入门教程仍负责一般规则写作。
准备条件
- Cursor 项目规则可用,并能查看规则是否附加到当前上下文。
- 真实项目中存在一组共享同一约定的文件,先核对目录。
操作步骤
先选一条真正局部的约定
例如“修改表单组件时沿用本目录现有校验方式”。长期适用于全仓库的约束保留全局或项目通用说明;局部规则不要堆成一份随处激活的清单。先找一个匹配文件和一个无关文件做对照。
创建有范围的 .mdc 文件
在 .cursor/rules/forms.mdc 放置下面示例,并将 glob 改成真实路径。普通 .md 不能当成此格式的 Project Rule 使用。alwaysApply=false 配合 globs,目的是在匹配文件被纳入上下文时附加规则,不是简单判断当前打开哪个标签。
示例 .cursor/rules/forms.mdc--- description: 表单组件的现有校验与错误呈现约定 globs: "src/forms/**/*.tsx" alwaysApply: false --- 修改匹配文件前,先查看同目录的表单与测试。 沿用当前校验入口和错误文案结构,不另建第二套校验库。 验证空值、非法值和提交失败;缺少既有实现时说明实际情况。在两个干净上下文做对照
在一个任务引用真实匹配文件,另一个新任务只引用无关后端文件;先不要显式点名这条规则。查看规则加载证据和实际行为,避免前一次上下文残留影响结果。路径不匹配、规则未发现和触发后不遵守是不同问题。
正反场景记录正例:引用 src/forms/ProfileForm.tsx,修改一项必填校验。 反例:只引用 scripts/rebuild-index.ts,修复参数解析。 前提:这两个路径仅为示意,先替换成项目实际文件。 记录:实际附加的规则、任务结果、是否越界。 预期:正例使用局部表单约定,反例不因它引入表单逻辑。 实际:未运行。只收窄冲突规则,不重复叠加
若无关任务也触发,检查 alwaysApply、glob 和其他同义规则;若被附加但行为错,修规则内容和验收。保留一次失败请求作为回归,不用再加一条相反规则掩盖冲突。升级 IDE 后对关键规则复验。
常见误区
- 只要文件放到 rules 目录就认为自动生效。
- 核对 .mdc 格式、字段、路径和宿主实际附加证据。
- 在同一长对话中测完正例马上测反例。
- 规则可能仍在上下文中;用独立任务减少混杂因素。
验收清单
- glob 对应实际目录。
- 有匹配与不匹配场景。
- 激活判断有证据,不只依靠模型自述。
- 没有重复或矛盾规则,现有约束仍保留。
资料与版本
本文为原创整理,示例需按项目调整;工具界面与功能以当前版本为准。