name: 创建claude规则 description: 在创建或修复 .claude/rules/ 文件时使用 - 提供正确的路径frontmatter(不是glob模式),并避免使用Cursor特定字段如alwaysApply
创建Claude规则
概述
.claude/rules/ 中的规则是通过glob模式限定到特定文件的模块化指令。它们会自动加载,优先级与 CLAUDE.md 相同。
何时使用
- 在 .claude/rules/ 中创建新规则
- 修复使用错误frontmatter的规则(使用
globs而不是paths) - 将Cursor规则迁移到Claude格式
- 组织项目特定的约定
快速参考
| 字段 | Claude | Cursor |
|---|---|---|
| 路径模式 | paths |
globs |
| 始终应用 | 省略 paths |
alwaysApply: true |
| 描述 | 未记录 | description |
Frontmatter
路径限定规则
---
paths:
- "src/api/**/*.ts"
- "tests/**/*.test.ts"
---
或单个模式:
---
paths: src/**/*.{ts,tsx}
---
全局规则
完全省略frontmatter - 适用于所有文件:
# TypeScript约定
在导入中使用.js扩展名。
常见错误
# ❌ 错误 - globs是Cursor格式
---
globs:
- "**/*.ts"
---
# ✅ 正确 - Claude使用paths
---
paths:
- "**/*.ts"
---
# ❌ 错误 - alwaysApply仅适用于Cursor
---
alwaysApply: true
---
# ✅ 正确 - 对于全局规则只需省略paths
# (不需要frontmatter)
# ❌ 错误 - 未引用的模式
---
paths:
- **/*.ts
---
# ✅ 正确 - 引用glob模式
---
paths:
- "**/*.ts"
---
目录结构
.claude/rules/
├── testing.md # 路径限定或全局
├── typescript.md
└── frontend/ # 支持子目录
└── react.md
递归发现文件。使用子目录进行组织。
Glob模式
| 模式 | 匹配 |
|---|---|
**/*.ts |
任何位置的.ts文件 |
src/**/* |
src/下的所有内容 |
*.md |
仅根目录的Markdown文件 |
**/*.{ts,tsx} |
.ts和.tsx文件 |
{src,lib}/**/*.ts |
src/或lib/中的.ts文件 |
参考
https://code.claude.com/docs/en/memory#modular-rules-with-claude/rules/