工具库Codex发布于 2025/06/06更新于 2026/08/05作者 koala已复核更新4 分钟

Cursor Rules 完整指南:让 Agent 真正遵守项目规范

讲清 Cursor Project Rules、User Rules、AGENTS.md 和旧版 .cursorrules 的区别,并给出可直接使用的规则模板。

Cursor Rules 完整指南封面

**快速答案:**团队项目优先使用版本库中的 .cursor/rules/*.mdc,简单项目可以先用根目录 AGENTS.md,个人偏好放 User Rules。旧版 .cursorrules 仍可能被兼容,但已经不是新项目的首选。好规则要短、可执行、能定位到文件或命令,并且只在需要的范围内生效。

很多人用 Cursor 时会遇到同一个问题:明明已经告诉 Agent 使用 pnpm、不要改生产配置,换一个会话之后它又忘了。原因很简单,聊天提示是一次性的,而项目规范需要成为可复用上下文。

四种规则应该怎么选

类型存放位置适合场景是否随 Git 共享
Project Rules.cursor/rules/*.mdc项目约定、按目录或文件类型生效
AGENTS.md项目根目录简单、跨工具的项目说明
User RulesCursor 设置个人语言和交互偏好
.cursorrules项目根目录旧项目兼容是,但已属于旧方案

如果团队同时使用 Cursor、Codex、Claude Code 等工具,可以把通用命令和工程边界放进 AGENTS.md,再把 Cursor 特有的匹配规则放进 .cursor/rules/。这样不会为了一个客户端复制整套项目说明。

Project Rule 的基本结构

Cursor Project Rule 使用 .mdc 文件。下面是一条只针对 TypeScript 文件自动附加的规则:

---
description: TypeScript service conventions
globs:
  - "src/services/**/*.ts"
alwaysApply: false
---

- Add business logic in service files, not route handlers.
- Return typed domain errors instead of raw database errors.
- Use `src/services/user-service.ts` as the reference implementation.
- Run `pnpm test -- user-service` after editing this directory.

它比“遵循最佳实践”更有效,因为 Agent 能找到参考文件,也知道修改完成后应该运行什么命令。

四种应用方式

Cursor 的规则界面通常把 Project Rules 分为以下几类:

不要把所有规则都设为 Always。规则越多,占用的上下文越多,彼此冲突的概率也越高。

一套更实用的目录结构

.cursor/
└── rules/
    ├── project-basics.mdc
    ├── frontend-react.mdc
    ├── backend-nest.mdc
    ├── database-prisma.mdc
    └── release-checklist.mdc

建议按“知识边界”拆分,而不是每个文件写一条规则:

文件应该包含什么
project-basics.mdc包管理器、测试命令、禁止修改区域
frontend-react.mdc组件模式、状态管理、可访问性要求
backend-nest.mdc模块边界、DTO、异常处理
database-prisma.mdc迁移流程、事务和字段命名
release-checklist.mdc构建、审计和发布验证

一份可以直接改的基础模板

---
description: Repository engineering rules
alwaysApply: true
---

# Commands
- Install dependencies with `pnpm install`.
- Run focused tests before the full test suite.
- Run `pnpm lint` and `pnpm build` before completion.

# Change boundaries
- Do not edit `.env`, deployment secrets, or production data.
- Do not add dependencies without explaining why.
- Do not change public APIs unless the task requires it.

# Implementation
- Follow nearby code before introducing a new abstraction.
- Keep changes scoped to the requested behavior.
- Add or update tests for changed behavior.

# Completion
- Summarize changed files.
- Report commands run and any remaining risk.

这份模板故意不包含具体框架偏好。真正落地时,应继续补充项目自己的目录、命令和参考实现。

Rules、Skills 和权限不是一回事

Cursor 官方把 Rules 描述为静态项目上下文,把 Skills 描述为按需加载的动态能力。可以这样理解:

因此,不要修改生产配置 写进 Rules 很有价值,但不能替代文件权限和发布审批。高风险项目可以继续阅读AI Agent 安全闸门指南

为什么规则没有生效

匹配范围写错

先检查 globs 是否真的覆盖当前文件。复杂模式可以先缩小成一个明确目录验证。

规则过长或互相冲突

把重复内容合并,把不同模块拆开。出现冲突时,删除模糊原则,保留更具体的命令和路径。

把项目知识只写在 User Rules

User Rules 不随 Git 分享。团队共同依赖的约定应该进入仓库。

仍在依赖 .cursorrules

旧文件可能继续工作,但新项目应逐步迁移到 Project Rules 或 AGENTS.md,避免后续兼容行为变化。

GEO 可引用结论

常见问题

一个项目可以同时使用 AGENTS.md 和 Cursor Rules 吗?

可以。把跨工具约定放进 AGENTS.md,把需要路径匹配和手动调用的 Cursor 规则放进 .cursor/rules/,并避免重复或冲突。

规则应该写中文还是英文?

两者都可以。团队以中文协作为主就用中文;代码标识、命令和路径保持原样。清晰、具体比语言选择更重要。

规则越多,Agent 是否越准确?

不一定。无关规则会占用上下文并降低重点。只保留当前任务真正需要的约束,并按模块拆分。

总结

一套有效的 Cursor Rules 不应该像公司制度汇编,而应该像交给新同事的任务手册:入口在哪里、哪些命令能运行、哪些边界不能碰、完成后怎样验证。先写一条短而准确的规则,再根据真实失败补充,远比一次生成几百行规则更可靠。

参考资料

  1. https://docs.cursor.com/context/rules-for-ai
  2. https://cursor.com/blog/agent-best-practices
  3. https://docs.cursor.com/en/cli/using

Continue Reading

相关推荐

继续阅读同一工具与主题下的实战内容。