Cursor 规则配置指南:从三份 TypeScript 示例开始

Cursor 规则该放在哪里,怎样设置才会生效?本文梳理项目、用户与团队规则的区别,说明四种加载方式,并提供可用的 TypeScript 代码风格、测试和安全规则示例。了解如何迁移旧的 .cursorrules 文件,与 CLAUDE.md、AGENTS.md 保持约定一致,再用真实代码改动验证配置,减少重复纠正。

发布于

Cursor 规则配置指南:从三份 TypeScript 示例开始

别再每次打开 Cursor,都要纠正同样的导入写法、补上遗漏的测试,或重写临时拼凑的身份验证代码。用一小组 Cursor 规则,把项目的长期约定留在代码仓库里:哪些规范大家共用、每条规则何时触发,以及与你实际交付的代码一致的示例。先从下面三条简短的 TypeScript 规则开始;只有反复出现的问题,才值得写进规则。

这样做,是为了减少代码审查时的返工。举个时间核算的例子:四名开发者,每人每周做三次、每次五分钟的纠正,就有 60 分钟花在重复落实约定上。这不代表配置规则后就一定能省下这些时间。应该记录哪些纠正不再需要,再扣除维护规则的时间。订阅费用是另一回事,详见 Cursor 价格说明。

Cursor 规则放在哪里?

团队共用的编码约定,应当和代码放在一起。个人对回复方式的偏好,则留在个人设置里。

规则类型存放位置适用内容
项目规则(Project Rules).cursor/rules/*.mdc当前仓库的约定
用户规则(User Rules)Customize → Rules跨项目使用的个人偏好
团队规则(Team Rules)Cursor 控制台,需 Team 或 Enterprise 套餐组织层面的指导要求
AGENTS.md项目根目录或子目录纯 Markdown 格式的项目说明

子目录中的 AGENTS.md 会与上级目录的说明共同生效,作用于所在目录及其下级目录;更具体的说明优先。对于 Team、Project 和 User Rules,文档给出的冲突优先级是 Team → Project → User。Cursor 规则文档

对小团队,我通常会先选项目规则。“使用现有的表单组件”属于仓库约定;“最终回复简短些”属于个人偏好。分开放,个人习惯才不会不知不觉变成团队要求。

四个建筑空间分别展示 .cursor/rules/*.mdc 中的项目规则、Customize 中的个人规则、控制台中的组织规则,以及 AGENTS.md 中的简明说明。
按约定的归属选择存放位置:仓库、个人或组织。需要纯 Markdown 格式时,可以使用 AGENTS.md。

每条规则该在什么时候加载?

规则正文上方那一小段 frontmatter 配置,决定了规则何时加载到上下文中。

使用意图当前界面中的名称Frontmatter 配置
始终加载Always ApplyalwaysApply: true;忽略其他字段
按文件匹配模式自动加载Apply to Specific FilesalwaysApply: false 加 globs;上下文中需有匹配的文件
由 Agent 按需选择Apply IntelligentlyalwaysApply: false 加 description;不设置 globs
手动加载Apply ManuallyalwaysApply: false;另外两个字段都不设置;使用 @rule-name

“由 Agent 按需选择”,是指 Agent 根据规则的描述判断是否使用它。glob 则是用于匹配文件路径的模式。加载行为与语法

可以把规则加载理解为把任务单送到对应的工作台。指令写得再好,如果执行任务时根本没有收到,也起不了作用。安全底线应始终加载,代码风格约定应随相关文件加载;至于是否适用取决于任务内容的指导,再交给 Agent 按需选择。

四条并行的建筑通道展示规则进入 Agent 上下文的不同方式:每次对话都加载、匹配文件、根据描述选择,或通过 @ 提及手动加载。
这些是可供选择的不同触发方式。先选好触发方式,再打磨规则内容。

TypeScript Web 应用可直接使用的三条规则

在仓库中创建以下文件。它们是供团队参考的内部约定,frontmatter 字段和匹配模式语法采用 Cursor 文档中的写法。正文中的指令只是便于调整的起点,并非 Cursor 规定的编码标准。

代码风格:随 TypeScript 文件加载

保存为 .cursor/rules/style.mdc:

Markdown
---
globs: src/**/*.ts, src/**/*.tsx
alwaysApply: false
---

- Follow the nearest existing module's naming and import conventions.
- Prefer named exports unless the framework requires a default export.
- Reuse existing UI components and utilities before adding alternatives.
- Keep formatting in the repository's formatter and linter configuration.

这个示例假设应用代码位于 src/ 下,请根据仓库的实际结构调整路径。它刻意关注格式化工具无法替你决定的事,比如应用里是否已经有合适的按钮组件或日期工具函数。如果团队采用了不同的导出约定,也应相应修改。规则应该描述仓库的实际约定,而不是悄悄替你重新设计项目。

测试:说明哪些任务需要测试

保存为 .cursor/rules/tests.mdc:

Markdown
---
description: Testing requirements when adding features, fixing bugs, or changing TypeScript behavior
alwaysApply: false
---

- Cover changed behavior with a focused regression test.
- Use the existing test runner, fixtures, and file naming conventions.
- Read package.json for the relevant test script; do not invent a command.
- Report the command and actual result, or explain why tests were not run.

目标是得到有用的测试,以及如实报告的执行结果。修复 bug 后,应有证据表明原先出错的情况已被测试覆盖;重构则应保持相关行为不变。这两类工作都不需要另起一套测试框架,也不该把“测试已编写”当成“测试已通过”来汇报。

如果某项任务需要明确使用这份检查清单,就在请求中加上 @tests。如果团队要求每项任务都遵守,则把加载方式改为 Always Apply。这应当是有意识的团队决策:只有描述字段时,选择权仍在 Agent 手中。

安全:底线要求要简短明确

保存为 .cursor/rules/security.mdc:

Markdown
---
alwaysApply: true
---

- Never put secrets in source code, test fixtures, or application logs.
- Use existing server-side authentication and authorization helpers.
- Validate untrusted input at server boundaries with the existing schemas.
- Do not remove permission checks to make a feature or test pass.

知道仓库中相关模块的位置后,就把“现有的辅助函数”替换为实际模块路径。安全底线应当让人在普通功能开发中也能清楚理解。“保证安全”很难让审查者据此检查;“保留授权检查”则是一项具体要求。

这个文件提供的是指令,本身不构成安全边界。仍然需要在代码中执行访问检查,并审查敏感改动。Cursor 也提醒,不要把 AI 指导当作唯一的安全控制措施。Team Rules 说明

用一次真实改动验证配置

选一个过去经常需要反复纠正的小任务。修改表单校验就很合适:既涉及组件,又改变行为,还会接收用户输入。

  1. 先写下预期结果。 明确要复用哪个现有组件、测试什么行为,以及保留哪一处输入校验边界。
  2. 保存这三个文件,并检查规则状态。 Cursor 的 Customize → Rules 中可以查看规则;Agent 中也可使用 /create-rule。创建规则
  3. 把相关文件放入上下文,再提出修改请求。 请求要贴近真实工作。如果在任务里把每条规则都重述一遍,就无法判断规则配置是否发挥了作用。
  4. 检查代码 diff 和报告的检查结果。 要看约定是否实际落实,不能只看一句“已遵守规则”。如果这次验证必须使用测试清单,就明确要求 @tests。
  5. 把有效的规则与代码改动一起提交。 给团队一个可以审查的起点。先把含糊的句子改清楚,再考虑增加文件。

如果某项约定没有被遵守,要分清两种情况:规则根本没有进入任务上下文,还是已经进入上下文却没有发挥作用。前者需要修正加载方式;后者需要更清楚的指令、示例,或自动化检查。

哪些约定值得长期保留?

先处理那些反复出现、给团队带来最大成本的问题。下面这些用途,按可能减少的审查负担排序,供你取舍。

团队遇到的情况值得写进规则的要求预期收益
小型产品团队反复修复 bug,却没有补上回归测试要求编写有针对性的测试,并报告实际结果减少反复索要验证证据的审查轮次
前端开发者总是收到重复实现的 UI 组件指明认可的组件及其导入约定减少清理工作,避免多套抽象并存
SaaS 团队新增路由时,权限检查做法不一致指明现有的授权辅助函数让敏感改动更容易审查
开发者在前端和后端包之间切换写明各个包实际的架构边界减少职责混杂
维护者偶尔需要处理数据库迁移保留一份手动调用的迁移检查清单留住不常用但影响重大的经验,同时避免日常说明不断膨胀

这并不意味着你必须再创建五个文件。没有发生过的问题,先不写。如果机器能精确检查某项要求,就优先使用自动化检查。好的规则,填补的是任务请求与仓库现有工具之间的空白。

旧的 .cursorrules 文件该怎么处理?

按当前文档配置项目规则,应使用 .cursor/rules/*.mdc。截至 2026 年 10 月 11 日,规则文档页面没有提到 .cursorrules,因此无法据此确认旧文件是否仍然有效。当前文档

如果仓库还保留着旧文件,我建议把其中有用的指令迁移到各自职责明确的项目规则中,可以从上面的三个文件开始。先选好触发方式,用真实任务验证,再停用旧文件。不要因为某条约定已经写在那里,就继续保留过时的做法。

与 CLAUDE.md、AGENTS.md 有什么对应关系?

它们的共同思路,都是提供一份长期有效的项目说明:Claude Code 有 CLAUDE.md,Codex 会读取 AGENTS.md 中的工作约定。Cursor 的纯 Markdown 选项也适合这种简单用途,而 .mdc 文件进一步提供了加载方式的选择。底层约定应保持一致,但每个工具如何加载,都需要单独配置;复制文字,并不等于复制了设置。如果团队同时使用多个 Agent,应指定一位共享约定的负责人,避免这些文件各说各话。

配置完成后,值得做的两个小工具

对工程负责人而言,仓库规则检查器更值得尝试:检查文件扩展名、支持的 frontmatter 字段,以及没有匹配到任何已跟踪文件的模式。最小可用版本可以只是在代码审查时运行、输出本地报告的工具。需求信号还比较有限:本文研究中,DataForSEO 返回的 “cursor rules examples”预估月搜索量为 140 次。这说明有人关注相关问题,并不能证明有人愿意付费。局限也很明确:规则的结构即使完全有效,内容仍可能缺乏指导价值。指标定义

团队约定审查材料包,则可能帮助同时维护多个仓库的负责人。把反复出现的审查意见和认可的示例整理成规则修改提案,以 diff 呈现,并为每项改动指定审查者。DataForSEO 返回的 “cursor team rules”预估月搜索量为 70 次。先作为内部工具使用即可;原生 Team Rules 已经解决了分发问题,再做一个存储规则的控制台,产品价值有限。真正有用的工作,是判断哪些内容值得成为长期指令。指标定义

配置时常见的问题

为什么 Cursor 还是不遵守我的规则?

先对照上面的表格,检查文件和加载设置。然后用一个小任务测试,并明确提及规则。如果这样有效,就排查加载环节;如果仍然无效,就检查指令是否含糊或存在冲突,并以实际 diff 判断效果。一次成功的测试是有用的证据,但不能保证后续任务都成功。

项目规则可以保存为普通 .md 文件吗?

放在 .cursor/rules 目录中不可以,这里要求使用 .mdc。需要纯 Markdown 时,请使用 AGENTS.md。文件格式

这些规则会影响 Cursor Tab 的建议吗?

不会。规则不控制 Cursor Tab;User Rules 也不适用于 Inline Edit。功能适用范围

应该把整份团队代码风格指南粘贴到规则里吗?

先写那些总要反复纠正的约定。机械性的格式处理交给工具;含糊的约定则改成简短指令,并配上明确可识别的示例。一份没人维护的长文档,只会让下一次审查更费力。

下周,挑一项反复需要纠正的问题,把对应规则写准确,再用下一个普通的拉取请求试一试。如果你还在考虑是否选择这款产品,可以阅读 Cursor 评测或 Cursor 替代工具推荐。

如果你希望把这套做法接入团队的开发流程,可以了解 AI 生产系统服务。

发布日期
分类
Build
Codex CLI 上手指南:完成首个任务,配好团队协作

Codex CLI 上手指南:完成首个任务,配好团队协作

从安装 Codex CLI、选择 ChatGPT 或 API 密钥登录,到完成首个可验证的小任务,逐步走通检查、修改、测试和审查流程。本文还讲清沙箱与审批的区别、AGENTS.md 团队约定、config.toml 默认设置,以及何时添加 MCP 和 worktree,帮助小团队建立可重复的协作方式。2026年10月11日Build
Claude Code 最佳实践:从验收标准到并行开发,减少返工与浪费

Claude Code 最佳实践:从验收标准到并行开发,减少返工与浪费

Claude Code 最佳实践该从哪里入手?本文按采用顺序,梳理验收检查、Plan 模式、CLAUDE.md、上下文管理、费用衡量、权限、hooks、子代理和 worktrees。结合开发者与小团队的常见任务,说明每种做法能减少哪些浪费、有哪些边界,帮助你减少返工,并衡量通过验收的改动成本。2026年10月11日Build
Codex 插件实战:从开发、安装到团队插件市场

Codex 插件实战:从开发、安装到团队插件市场

Codex 插件如何开发、安装并交给团队使用?本文从三个插件文件和一份市场目录入手,讲清技能、App 连接器与 MCP 的分工,演示通过 GitHub 仓库或本地目录安装,并梳理清单格式兼容、身份验证、凭据隔离和工作区发布限制。还结合 API 评审与新人入职场景,说明试点时应记录什么,以及如何估算重复配置的时间成本。2026年10月11日Build
CLAUDE.md 配置指南:把团队规则写好,让每次会话直接开工

CLAUDE.md 配置指南:把团队规则写好,让每次会话直接开工

从作用域和文件位置,到按路径加载的规则与自动记忆,本文带你完成适合小型产品团队的 CLAUDE.md 配置。提供可调整的团队指令模板,说明如何与 AGENTS.md 共用规则、检查启动时的上下文,以及每月清理过期笔记。把反复交代的要求集中维护,并分清文字指引与权限、钩子控制各自的边界。2026年10月11日Build
Jev 替代方案怎么选?2026 年七种决策模型的价格、部署与适用场景

Jev 替代方案怎么选?2026 年七种决策模型的价格、部署与适用场景

想替换 Jev,却不确定该选哪款决策模型?本文比较 Perplexity、Cloudflare Clef、Microsoft、OpenAI、Liquid d1 与 Strands 的美元输入单价、许可证、输入限制和部署条件,并用月度费用算例说明迁移能省多少,帮助你按工单分流、打标签或本地推理需求缩小候选范围。2026年10月11日Build
OpenAI Decisions API 实战:工单分流、分类评分与迁移取舍

OpenAI Decisions API 实战:工单分流、分类评分与迁移取舍

OpenAI Decisions API 如何用于工单分流、数据标注和智能体操作审核?本文拆解三种请求示例、拒答处理、置信度阈值与输入限制,并用一组明确假设计算费用,说明哪些场景值得试用、哪些情况应保留 Responses API,以及如何通过已标注工单和人工复核,判断迁移是否真正划算。2026年10月11日Build
Claude Code 远程控制教程:手机连接、配置与故障排查

Claude Code 远程控制教程:手机连接、配置与故障排查

Claude Code 远程控制怎么用?本文讲清 CLI、VS Code 与 Desktop 的启动方式,教你用手机或浏览器接入本地会话,配置自动连接与通知,并排查登录凭据、环境变量、网络和组织策略导致的连接失败。同时说明套餐要求、工作区信任、数据同步与断线恢复,帮助你离开电脑后继续推进已有编程任务。2026年10月9日Build
Cursor 远程控制:用 iPhone 跟进本地 AI 编程任务

Cursor 远程控制:用 iPhone 跟进本地 AI 编程任务

用 iPhone 查看并指挥电脑上的 Cursor 智能体:从账号登录、设备配对到保持电脑唤醒,逐步理清设置流程。本文说明电源、上盖和联网要求、企业管理员开关与订阅价格,比较本地远程控制、云端智能体、Claude Code 和 Codex 的连接方式,并给出适合手机处理的任务场景与连接问题排查清单。2026年10月9日Build
订阅通讯

每周日,一封信。写运转中的系统,不写热评。

每周一期。无垃圾邮件。随时退订。