入门
快速开始 入门教程 CLAUDE.md
进阶
进阶内容 Skills 库 MCP 市场 Hooks Agent
最新动态 资源汇总
返回首页

CLAUDE.md 最佳实践

让 Claude Code 深度理解你的项目,写出更符合规范的代码。

什么是 CLAUDE.md?

CLAUDE.md 是 Claude Code 的项目配置文件。它让你可以为 Claude 提供项目背景、编码规范、技术栈信息等上下文,使 Claude 能够生成更符合项目风格的代码。

优先级层次

Claude Code 会按层次读取配置:~/.claude/CLAUDE.md(全局)→ 项目根目录 CLAUDE.md.claude/CLAUDE.md(项目私有)。各层配置会叠加生效。

文件位置

全局 ~/.claude/CLAUDE.md

适用于所有项目的通用配置,如个人编码习惯、常用技术栈偏好、语言设置等。

适用场景:
  • 设置回复语言(如"总是用中文回复")
  • 通用编码风格偏好
  • 常用工具链配置
项目 项目根目录/CLAUDE.md

项目级配置,可以提交到 Git 与团队共享。包含项目架构、技术栈、编码规范等。

适用场景:
  • 项目技术栈说明
  • 团队编码规范
  • 构建/测试命令
私有 项目/.claude/CLAUDE.md

项目私有配置,不应提交到 Git。适合存放个人偏好或敏感信息相关的提示。

适用场景:
  • 个人开发环境路径
  • 私有 API 使用说明
  • 个人工作流偏好

最佳实践

01

保持简洁

CLAUDE.md 内容越长,Claude 处理效率越低。建议控制在 500 行以内,只写最关键的信息。

02

结构化组织

使用清晰的 Markdown 标题层级,分门别类地组织信息,便于 Claude 快速定位相关内容。

03

提供示例

对于编码风格要求,最好附上简短的代码示例。"一个例子胜过千言万语"。

04

说明原因

不只告诉 Claude "要怎么做",也解释 "为什么"。这样它能更好地在类似场景中举一反三。

05

定期更新

随着项目演进,及时更新 CLAUDE.md。过时的信息比没有信息更糟糕。

06

避免冲突

全局配置和项目配置应该互补而非矛盾。项目特定的规则会覆盖全局规则。

推荐模板

适合小型项目
# 项目名称

简短的项目描述。

## 技术栈

- 前端:React + TypeScript
- 后端:Node.js + Express
- 数据库:PostgreSQL

## 开发命令

```bash
npm run dev    # 启动开发服务器
npm run build  # 构建生产版本
npm test       # 运行测试
```

## 注意事项

- 使用 ESLint + Prettier 格式化代码
- 提交前确保通过所有测试
适合中型项目
# 项目名称

## 项目概述

这是一个 [项目类型] 项目,主要功能是 [核心功能描述]。
目标用户是 [目标用户群体]。

## 技术架构

### 前端
- **框架**: React 18 + TypeScript 5
- **状态管理**: Zustand
- **UI 组件**: shadcn/ui + Tailwind CSS
- **路由**: React Router v6

### 后端
- **运行时**: Node.js 20
- **框架**: Express.js
- **ORM**: Prisma
- **数据库**: PostgreSQL 15

## 目录结构

```
src/
├── components/    # 可复用 UI 组件
├── pages/         # 页面组件
├── hooks/         # 自定义 Hooks
├── utils/         # 工具函数
├── types/         # TypeScript 类型定义
└── api/           # API 请求层
```

## 开发规范

### 命名约定
- 组件:PascalCase(如 `UserProfile.tsx`)
- 工具函数:camelCase(如 `formatDate.ts`)
- 常量:SCREAMING_SNAKE_CASE

### 代码风格
- 使用函数式组件和 Hooks
- 优先使用 `const` 声明
- 每个文件不超过 300 行

## 常用命令

```bash
npm run dev       # 启动开发服务器 (http://localhost:3000)
npm run build     # 构建生产版本
npm run test      # 运行单元测试
npm run lint      # 代码检查
npm run db:push   # 同步数据库 schema
```

## 注意事项

- 所有 API 请求需要处理错误状态
- 敏感信息使用环境变量,不要硬编码
- 新功能需要添加对应的单元测试
适合大型/团队项目
# 项目名称

> 一句话描述项目核心价值

## 项目背景

### 业务目标
- 解决 [具体问题]
- 服务 [目标用户]
- 实现 [业务价值]

### 当前阶段
- [x] MVP 开发完成
- [ ] 性能优化进行中
- [ ] 国际化支持计划中

## 技术架构

### 整体架构
```
┌─────────────┐    ┌─────────────┐    ┌─────────────┐
│   客户端     │───▶│   API 网关   │───▶│   微服务     │
│  (React)    │    │  (Express)  │    │  (各业务)    │
└─────────────┘    └─────────────┘    └─────────────┘
                                            │
                                            ▼
                                     ┌─────────────┐
                                     │   数据库     │
                                     │ (PostgreSQL)│
                                     └─────────────┘
```

### 技术栈详情

| 层级 | 技术 | 版本 | 说明 |
|------|------|------|------|
| 前端框架 | React | 18.2 | 函数式组件 |
| 类型系统 | TypeScript | 5.3 | 严格模式 |
| 状态管理 | Zustand | 4.x | 轻量级状态 |
| UI 框架 | Tailwind CSS | 3.4 | 原子化 CSS |
| 后端框架 | Express | 4.18 | RESTful API |
| ORM | Prisma | 5.x | 类型安全查询 |
| 数据库 | PostgreSQL | 15 | 主数据存储 |
| 缓存 | Redis | 7.x | 会话和缓存 |

## 目录结构

```
├── src/
│   ├── app/              # 应用入口和路由配置
│   ├── components/       # 可复用组件
│   │   ├── ui/          # 基础 UI 组件
│   │   └── features/    # 业务功能组件
│   ├── hooks/           # 自定义 React Hooks
│   ├── lib/             # 第三方库封装
│   ├── services/        # API 服务层
│   ├── stores/          # 状态管理
│   ├── types/           # TypeScript 类型
│   └── utils/           # 工具函数
├── server/              # 后端代码
│   ├── routes/          # API 路由
│   ├── controllers/     # 控制器
│   ├── services/        # 业务逻辑
│   └── middleware/      # 中间件
├── prisma/              # 数据库 Schema
└── tests/               # 测试文件
```

## 开发规范

### Git 工作流
- 主分支:`main`(保护分支)
- 开发分支:`develop`
- 功能分支:`feature/功能名`
- 修复分支:`fix/问题描述`

### Commit 规范
```
(): 

类型:feat | fix | docs | style | refactor | test | chore
范围:组件名/模块名
描述:简短说明(不超过 50 字)
```

### 代码审查要点
1. 是否有类型安全问题
2. 是否处理了边界情况
3. 是否有性能隐患
4. 是否符合现有代码风格

### 测试要求
- 新功能需要单元测试,覆盖率 > 80%
- API 需要集成测试
- 关键路径需要 E2E 测试

## 环境配置

### 必需环境变量
```env
DATABASE_URL=postgresql://...
REDIS_URL=redis://...
JWT_SECRET=your-secret-key
```

### 本地开发
```bash
# 安装依赖
npm install

# 启动数据库(Docker)
docker-compose up -d

# 初始化数据库
npm run db:push
npm run db:seed

# 启动开发服务器
npm run dev
```

## 常见问题

### Q: 如何添加新的 API 端点?
1. 在 `server/routes/` 添加路由
2. 在 `server/controllers/` 添加控制器
3. 在 `src/services/` 添加前端调用
4. 更新 API 文档

### Q: 如何处理数据库迁移?
```bash
npm run db:migrate    # 创建迁移
npm run db:push       # 应用到开发库
```

## 联系方式

- 技术负责人:[姓名]
- 文档地址:[链接]
- Issue 追踪:[链接]

常见配置片段

语言设置

- 总是使用中文回复
- 代码注释使用英文
- Git commit message 使用英文

代码风格

## 代码风格

- 使用 2 空格缩进
- 字符串使用单引号
- 行尾不加分号(JS/TS)
- 组件使用函数式写法

文件组织

## 文件组织

- 组件放在 components/ 目录
- 每个组件一个文件夹
- 包含 index.ts 导出
- 测试文件放在同级 __tests__/

安全要求

## 安全注意事项

- 不要在代码中硬编码密钥
- 所有用户输入需要验证
- SQL 查询使用参数化语句
- 敏感日志需要脱敏处理

了解更多

查看官方文档了解 CLAUDE.md 的完整功能,或浏览社区分享的优秀配置示例。

官方文档