创建自定义规则
自定义规则让 Claude Code 更好地理解您的项目约定和编码标准。
规则类型
1. 编码规范规则
定义代码风格和格式要求:
markdown
# 编码规范规则
## 命名约定
- 组件: PascalCase (UserProfile)
- 变量/函数: camelCase (getUser)
- 常量: UPPER_SNAKE_CASE (MAX_RETRY)
- 文件: kebab-case (user-profile.ts)
## TypeScript 规则
- 启用严格模式
- 禁止使用 any
- 优先使用 interface
- 显式类型声明
## 注释要求
- 导出函数必须有 JSDoc
- 复杂逻辑需要行内注释2. 架构规则
定义项目架构和设计原则:
markdown
# 架构规则
## 目录结构
src/
├── components/ # 可复用组件
├── pages/ # 页面组件
├── hooks/ # 自定义 Hooks
├── utils/ # 工具函数
└── api/ # API 调用
## 设计原则
- 单一职责原则
- 关注点分离
- 组件组合优于继承3. 安全规则
定义安全相关要求:
markdown
# 安全规范
## 数据验证
- 所有用户输入必须验证
- 前后端双重验证
## 敏感信息
- API 密钥使用环境变量
- 不在代码中硬编码凭证
## 认证授权
- 所有 API 请求必须认证
- 实现 RBAC 权限控制创建规则
命令行方式
bash
# 创建规则
claude-code rules create --name typescript-rules
# 创建分类
claude-code rules create --name react-rules --category framework
# 创建项目特定规则
claude-code rules create --name my-project-rules --scope project手动创建
在 .claude-code/rules/ 创建规则文件:
bash
touch .claude-code/rules/typescript.md
touch .claude-code/rules/react.md
touch .claude-code/rules/security.md规则示例
TypeScript 规则
文件:.claude-code/rules/typescript.md
markdown
# TypeScript 编码规范
## 类型定义
### 优先使用 interface
使用 interface 定义对象类型,type 定义联合类型或工具类型。
### 禁止使用 any
避免使用 any 类型,优先使用 unknown 或具体类型。
### 显式类型声明
所有函数参数和返回值必须显式声明类型。
## 泛型使用
- 泛型参数命名: T, U, V
- 泛型约束使用 extends
- 提供合理的默认类型
## 类型工具
- 使用 Partial 可选化属性
- 使用 Required 必选化属性
- 使用 Readonly 只读化属性
- 使用 Pick/Exclude/Omit 精确控制类型React 规则
文件:.claude-code/rules/react.md
markdown
# React 编码规范
## 组件定义
- 使用函数组件
- 使用 Hooks
- Props 使用 interface 定义
## Hooks 使用规则
- Hooks 必须在组件顶层调用
- 禁止在条件语句、循环或嵌套函数中使用 Hooks
- 自定义 Hooks 必须以 use 开头
## 性能优化
- 使用 React.memo 优化纯组件
- 使用 useMemo 缓存计算结果
- 使用 useCallback 缓存函数
- 避免不必要的重渲染
## 事件处理
- 使用 useCallback 稳定回调函数
- 事件处理函数以 handle 开头
### Git 规则
**文件**:`.claude-code/rules/git.md`
```markdown
# Git 工作流规范
## 分支命名
- feature/xxx: 新功能
- fix/xxx: Bug 修复
- refactor/xxx: 重构
- docs/xxx: 文档更新
- test/xxx: 测试相关
- chore/xxx: 构建/工具更新
## 提交信息格式
格式:`<type>(<scope>): <subject>`
其中 `<body>` 和 `<footer>` 是可选部分。
### Type 类型
- feat: 新功能
- fix: Bug 修复
- docs: 文档变更
- style: 代码格式
- refactor: 重构
- test: 测试
- chore: 构建/工具
### 示例feat(auth): add user login functionality
- Add login form component
- Integrate with auth API
- Add JWT token management
Closes #123
规则优先级
规则按照以下优先级应用:
项目规则 (最高优先级)
- 位置:
project/.claude-code/rules/
- 位置:
工作空间规则
- 位置:
workspace/.claude-code/rules/
- 位置:
全局规则
- 位置:
~/.claude-code/rules/
- 位置:
默认规则
- Claude Code 内置规则
管理规则
查看规则
bash
# 列出所有规则
claude-code rules list
# 查看规则详情
claude-code rules info --name typescript
# 预览规则内容
claude-code rules show --name typescript编辑规则
bash
# 在编辑器中打开
claude-code rules edit --name typescript
# 更新规则
claude-code rules update --name typescript --file ./new-rule.md删除规则
bash
claude-code rules delete --name old-rule规则最佳实践
1. 具体明确
markdown
✅ 好的规则:
所有组件必须使用 TypeScript interface 定义 Props
❌ 不好的规则:
组件要有类型2. 提供示例
markdown
## 组件命名
### 使用 PascalCase
✅ UserProfile
✅ ShoppingCart
❌ userProfile
❅ shopping_cart3. 分类组织
.claude-code/rules/
├── language/
│ ├── typescript.md
│ └── python.md
├── framework/
│ ├── react.md
│ └── vue.md
└── workflow/
├── git.md
└── code-review.md下一步:工具配置