32

AI Rules 配置实战

⏱️ 30分钟

AI Rules 配置实战

.cursorrulesCLAUDE.md、Skills 是三种互补不是替代的配置格式。混用前必须搞清楚每种擅长什么、不擅长什么,否则就是把同一份规则写三遍——团队里没人维护得动。

如果还没动手写过,先看 Cursor Rules 入门Claude Code Skills 实战 跑通基础。本章讲三种格式怎么分工、怎么在团队里同步。

三种格式的真实定位

格式加载机制粒度最适合
.cursorrulesCursor 启动时全量加载项目级单文件小项目(<500 行规则)、纯 Cursor 团队
.cursor/rules/*.mdc按 glob 自动注入 / agent 触发多文件 + frontmatter glob大项目,按 file pattern 加载不同规则
CLAUDE.mdClaude Code 启动时加载 + 嵌套加载子目录项目级 + 用户级 + 子目录长期持久化的架构规则、domain 知识
Skills~/.claude/skills/按需触发,不进入默认 context命名包,SKILL.md + 资源文件高频但只在特定任务用的复杂工作流(>200 行 SOP)

关键区别:

  • .cursorrules / CLAUDE.md默认 always-on context,写多了 token 就爆
  • Skills 是懒加载,只在 AI 判断需要时才读,可以放很多 SOP 不污染 context
  • .cursor/rules/*.mdc 介于两者之间,按 glob 匹配

内容怎么分

最常见的错误是把所有规则塞进 CLAUDE.md,导致它涨到 2000 行、每次会话烧 5K token。正确分法:

规则类型放哪例子
架构铁律(永远要遵守)CLAUDE.md 顶部"service 不超过 600 行"、"ID 优先用 ObjectId"
代码风格.cursorrules.cursor/rules/style.mdc命名约定、import order、tab vs space
Domain 知识CLAUDE.md 中段"我们的 user 分 free/paid/enterprise 三级,权限走 RBAC"
复杂工作流 SOP(>200 行)Skill部署流程、数据迁移、cert 生成
Tech-stack 特定.cursor/rules/{stack}.mdc 用 globReact-specific 规则只对 *.tsx 生效
个人偏好~/.claude/CLAUDE.md(用户级)"用 bun 不用 npm"、"commit message 用中文"

团队同步策略

规则只有 commit 进 git 才有意义。三个层级,三种处理:

# 1) 项目级 — 全部 commit
git add .cursorrules .cursor/rules/ CLAUDE.md
git commit -m "chore: update AI rules for new auth pattern"

# 2) 项目级 Skills — commit 进 .claude/skills/
git add .claude/skills/deploy-prod/
git commit -m "skill: add prod deploy SOP"

# 3) 用户级 — 不进 repo
# ~/.claude/CLAUDE.md 和 ~/.claude/skills/ 是个人偏好,不要 commit

.gitignore 通常加这两行:

# AI cache + 个人 settings 不进 repo
.claude/settings.local.json
.cursor/settings.local.json

# 但项目级规则必须 commit
# !.cursorrules
# !.cursor/rules/
# !CLAUDE.md
# !.claude/skills/

强制 reviewCLAUDE.md / .cursorrules 的修改必须走 PR,不允许直接 push。这些文件影响每个工程师的 AI 行为,等同于改 lint config,需要团队达成共识。

真实例子:JR Academy 的分层

~/.claude/CLAUDE.md                         # 个人偏好 (50 行)
└─ "用 bun 不用 npm"
└─ "commit 后自动 push"
└─ Projects Registry

jr-academy-ai/CLAUDE.md                     # 项目铁律 (~600 行)
└─ ABSOLUTE RULES (rm 政策、git 安全)
└─ Service 架构 (600 行上限、单一职责)
└─ ID-First Principle (生产事故复盘)
└─ Anti-Template Content Rule
└─ MongoDB / Auth / Testing 约束

.cursor/rules/frontend.mdc                  # glob: *.tsx
└─ styled-components 规则
└─ z-index 约定

.claude/skills/bootcamp-sync/               # 复杂 SOP (~400 行)
└─ SKILL.md:从 curriculum/ 同步到 prod
└─ scripts/diff-check.ts
└─ templates/

.claude/skills/lesson-design/               # 复杂 SOP
└─ SKILL.md

效果:日常会话 context 大约 8K(CLAUDE.md),需要部署或同步时 AI 自动 trigger 对应 skill 加载额外 5-10K。比把所有内容塞 CLAUDE.md 节省 60% token。

常见踩坑

  • 规则写得太抽象 - "代码要清晰可维护" 是废话,AI 用不上。要写成 "service 文件超过 600 行必须拆"
  • 规则之间矛盾 - .cursorrules 写 "用 tab",CLAUDE.md 写 "用 4 空格",AI 行为不可预测。定期 audit
  • Skills 触发条件不写清楚 - SKILL.md 的 description 写"帮助代码审查",AI 永远不会主动用。要写"审查 PR 时自动触发,输入 PR diff,输出 5 类问题清单"
  • 不更新规则 - 团队 6 个月前定的"用 React 17",现在已经升 React 19,AI 还在按老规则写。每季度 audit 一次

下一步

📚 相关资源

❓ 常见问题

关于本章主题最常被搜索的问题,点击展开答案

.cursorrules 和 CLAUDE.md 是干什么的?

它们是把团队的编码规范、架构约定、踩坑记录沉淀给 AI 的『工作手册』。.cursorrules 给 Cursor 用,CLAUDE.md 给 Claude Code 用 —— 写清 tech stack、命名规则、禁止行为、重复出现的 bug 模式。每次开新对话 AI 自动读取,不用每次粘贴 repo 上下文,团队多人协作输出风格也能稳定。

什么时候应该新增一条 AI rule?

5 个触发条件:同一个新技术 / 模式被 3+ 个 file 用到、某类 bug 反复出现且能被规则提前挡掉、code review 反复给出相同反馈、出现新的 security 或 performance 模式、复杂任务需要团队一致做法。规则不是越多越好,没满足这些条件就先别加。

什么时候应该更新已有 AI rule?

5 个信号:codebase 里出现了更好的实现示例、发现新的 edge case、相关规则刚更新需要联动、底层实现细节变了(比如换了框架版本)、团队反馈这条规则容易引起歧义。更新时打 version + 写 breaking changes,不要直接覆盖 —— 老规则可能还有人在引用。

一条好 rule 应该长什么样?

6 段式:Purpose(这条规则解决什么)、When to Apply(什么场景触发)、Implementation(最小可用示例 + 进阶模式)、Common Pitfalls(已知坑 + 怎么避)、References(关联规则 + 外部文档)。质量 checklist 6 项:actionable / specific / tested / complete / current / linked —— 缺一项规则就是『写了但没人按它做』。

怎么衡量一条 AI rule 真的有用?

4 个指标:usage count(这条规则被引用多少次)、error prevention(避免了多少 bug)、time saved(每周省多少小时)、user feedback 评分。月度 review 用量、季度做大更新、年度做 deprecation review。没有指标的规则,3 个月后通常没人记得它存在 —— rule library 会变成 dead weight。