【教程】CLAUDE.md 与 AGENTS.md 完全指南:让 AI 编程助手更懂你的项目
本文详细介绍了CLAUDE.md和AGENTS.md这两个AI编程助手的配置文件。CLAUDE.md是Claude Code的专属配置文件,用于让AI了解项目上下文,包括构建命令、代码风格、项目架构等;AGENTS.md则是通用AI编程代理的开放标准配置文件。文章对比了传统README.md与AI配置文件的区别,解释了CLAUDE.md的文件位置优先级和内容规范,并提供了完整的配置示例。这些文件能
【教程】CLAUDE.md 与 AGENTS.md 完全指南:让 AI 编程助手更懂你的项目
本文详细介绍 CLAUDE.md 和 AGENTS.md 两个配置文件的作用、格式和最佳实践,包括文件位置优先级、内容规范、实践案例。适合已使用过 Claude Code、Cursor 等 AI 编程助手的进阶开发者阅读。
【教程】CLAUDE.md 与 AGENTS.md 完全指南:让 AI 编程助手更懂你的项目

1. 为什么需要这两个文件
在 AI 辅助编程的时代,我们已经习惯了让 AI 帮我们写代码、调试、重构。但你有没有遇到过这样的情况:
- AI 生成的代码风格和项目规范不一致
- 每次都要重复告诉 AI 项目的构建命令
- AI 不知道项目的特殊约定,总是犯同样的错误
- 团队成员使用 AI 时,得到的结果参差不齐
说白了,这些问题的根源在于:AI 不了解你的项目上下文。
每个项目都有一个 README.md 供人类阅读,但 AI 编程助手需要的信息和人类不同。人类可以通过经验推断很多细节,而 AI 需要明确、具体的指令。
这就是 CLAUDE.md 和 AGENTS.md 存在的意义——它们是写给 AI 的项目说明书。
打个比方:README.md 像是产品说明书,而 CLAUDE.md/AGENTS.md 像是给新员工的入职培训手册——事无巨细,确保 AI 能按照你的期望工作。
1.1 两个文件的定位
| 文件 | 定位 | 适用工具 | 标准化程度 |
|---|---|---|---|
CLAUDE.md |
Claude Code 专属配置文件 | Claude Code | Anthropic 官方标准 |
AGENTS.md |
通用 AI 编程代理配置文件 | Cursor、GitHub Copilot、Codex、Gemini CLI 等 | 开放标准(60,000+ 项目采用) |
简单来说:
- CLAUDE.md 是 Claude Code 的"专属记忆",每次启动时自动加载
- AGENTS.md 是一个跨平台的开放标准,被主流 AI 编程工具广泛支持
1.2 传统 README.md vs AI 配置文件
传统的 README.md 是写给人看的,它关注的是:
- 项目是什么
- 如何安装和使用
- 功能特性介绍
而 CLAUDE.md 和 AGENTS.md 是写给 AI 看的,它们关注的是:
- 如何构建和测试这个项目
- 代码风格和命名规范是什么
- 有哪些特殊约定和注意事项
- 遇到特定问题应该怎么处理
2. CLAUDE.md 深度解析
2.1 什么是 CLAUDE.md
CLAUDE.md 是 Anthropic 为 Claude Code 设计的配置文件。当你启动 Claude Code 时,它会自动读取这个文件的内容并加入到对话上下文中。
这意味着你在 CLAUDE.md 中写的任何内容,Claude 在整个会话过程中都会"记住"。
2.2 文件位置与优先级
Claude Code 支持在多个位置放置 CLAUDE.md,并按以下优先级读取:
优先级从高到低:
1. 当前工作目录的 CLAUDE.local.md(本地配置,不提交到 git)
2. 当前工作目录的 CLAUDE.md(项目配置,提交到 git)
3. 父目录的 CLAUDE.md(适用于 Monorepo)
4. ~/.claude/CLAUDE.md(全局配置,适用于所有项目)
这什么玩意?不要着急,慢慢来。
打个比方,假设你有一个 Monorepo 项目:
my-monorepo/
├── CLAUDE.md # 根目录配置(通用规则)
├── packages/
│ ├── frontend/
│ │ └── CLAUDE.md # 前端子项目配置
│ └── backend/
│ └── CLAUDE.md # 后端子项目配置
└── CLAUDE.local.md # 本地私有配置(.gitignore)
当你在 packages/frontend/ 目录下工作时,Claude 会同时读取:
packages/frontend/CLAUDE.mdmy-monorepo/CLAUDE.md
这种层级结构让你可以在根目录定义通用规则,在子目录定义特定规则。说白了,就是"继承"的思想。
2.3 CLAUDE.md 应该包含什么
根据 Anthropic 官方最佳实践,CLAUDE.md 应该包含以下内容:
2.3.1 常用命令
# 常用命令
## 构建
- `npm run build` - 构建生产版本
- `npm run dev` - 启动开发服务器
## 测试
- `npm test` - 运行所有测试
- `npm test -- --watch` - 监听模式运行测试
- `npm run test:coverage` - 生成覆盖率报告
## 代码检查
- `npm run lint` - 运行 ESLint
- `npm run typecheck` - 运行 TypeScript 类型检查
2.3.2 代码风格指南
# 代码风格
## JavaScript/TypeScript
- 使用 ES modules(import/export),不使用 CommonJS(require)
- 优先使用解构导入:`import { foo } from 'bar'`
- 使用 const 声明不变的变量,let 声明需要重新赋值的变量
- 函数优先使用箭头函数
- 字符串使用单引号
## 命名规范
- 组件使用 PascalCase:`UserProfile.tsx`
- 工具函数使用 camelCase:`formatDate.ts`
- 常量使用 UPPER_SNAKE_CASE:`MAX_RETRY_COUNT`
- CSS 类名使用 kebab-case:`user-profile`
2.3.3 项目架构说明
# 项目架构
## 目录结构
- `src/components/` - React 组件
- `src/hooks/` - 自定义 Hooks
- `src/utils/` - 工具函数
- `src/api/` - API 请求封装
- `src/types/` - TypeScript 类型定义
## 关键文件
- `src/config/index.ts` - 全局配置
- `src/store/index.ts` - 状态管理入口
- `src/router/index.tsx` - 路由配置
2.3.4 开发规范和注意事项
# 开发规范
## Git 提交
- 提交信息格式:`<type>(<scope>): <subject>`
- type 可选值:feat, fix, docs, style, refactor, test, chore
- 示例:`feat(user): add login functionality`
## 注意事项
- 不要直接修改 `node_modules` 中的代码
- 环境变量必须以 `VITE_` 开头才能在前端使用
- API 请求统一使用 `src/api/request.ts` 中的封装方法
2.4 CLAUDE.md 完整示例
下面是一个假设的全栈项目 TaskFlow(任务管理系统)的完整 CLAUDE.md 配置:
# TaskFlow 项目配置
## 项目概述
TaskFlow 是一个基于 React + Node.js 的任务管理系统,支持团队协作、任务分配、进度追踪等功能。
## 技术栈
- 前端:React 18 + TypeScript + Vite + TailwindCSS
- 后端:Node.js + Express + TypeScript
- 数据库:PostgreSQL + Prisma ORM
- 测试:Jest + React Testing Library
## 常用命令
### 开发
- `pnpm dev` - 同时启动前后端开发服务器
- `pnpm dev:client` - 仅启动前端(端口 5173)
- `pnpm dev:server` - 仅启动后端(端口 3000)
### 构建
- `pnpm build` - 构建前后端
- `pnpm build:client` - 仅构建前端
- `pnpm build:server` - 仅构建后端
### 测试
- `pnpm test` - 运行所有测试
- `pnpm test:client` - 运行前端测试
- `pnpm test:server` - 运行后端测试
- `pnpm test:e2e` - 运行端到端测试
### 数据库
- `pnpm db:migrate` - 运行数据库迁移
- `pnpm db:seed` - 填充测试数据
- `pnpm db:studio` - 打开 Prisma Studio
### 代码质量
- `pnpm lint` - 运行 ESLint
- `pnpm typecheck` - 运行类型检查
- `pnpm format` - 运行 Prettier 格式化
## 代码风格
### TypeScript
- 严格模式开启,不允许 any 类型
- 优先使用 interface 定义对象类型
- 使用 type 定义联合类型和工具类型
- 函数返回值必须显式声明类型
### React
- 使用函数组件 + Hooks,不使用类组件
- 组件 props 使用 interface 定义
- 状态管理使用 Zustand
- 表单处理使用 React Hook Form + Zod
### API 设计
- RESTful 风格
- 响应格式:`{ code: number, data: T, message: string }`
- 错误码:200 成功,400 参数错误,401 未授权,500 服务器错误
## 目录结构
taskflow/
├── client/ # 前端代码
│ ├── src/
│ │ ├── components/ # 通用组件
│ │ ├── features/ # 功能模块(按业务划分)
│ │ ├── hooks/ # 自定义 Hooks
│ │ ├── lib/ # 第三方库封装
│ │ ├── stores/ # Zustand stores
│ │ └── types/ # 类型定义
│ └── tests/ # 前端测试
├── server/ # 后端代码
│ ├── src/
│ │ ├── controllers/ # 控制器
│ │ ├── services/ # 业务逻辑
│ │ ├── middlewares/ # 中间件
│ │ ├── routes/ # 路由定义
│ │ └── utils/ # 工具函数
│ └── tests/ # 后端测试
├── prisma/ # Prisma 配置和迁移
└── e2e/ # 端到端测试
## 开发规范
### Git 工作流
- 主分支:main(生产)、develop(开发)
- 功能分支:feature/xxx
- 修复分支:fix/xxx
- 提交前必须通过 lint 和 typecheck
### 提交信息格式
<type>(<scope>): <subject>
<body>
<footer>
type 可选值:
- feat: 新功能
- fix: 修复 bug
- docs: 文档更新
- style: 代码格式(不影响功能)
- refactor: 重构
- test: 测试相关
- chore: 构建/工具相关
### Code Review 要求
- 每个 PR 至少需要一个 approve
- PR 标题格式与提交信息一致
- 必须关联对应的 Issue
## 注意事项
### 环境变量
- 前端环境变量以 `VITE_` 开头
- 后端环境变量在 `.env` 文件中配置
- 敏感信息不要提交到代码库
### 数据库操作
- 所有数据库操作通过 Prisma 进行
- 复杂查询使用 Prisma 的 raw query
- 迁移文件不要手动修改
### 测试要求
- 新功能必须有对应的单元测试
- 核心业务逻辑测试覆盖率 > 80%
- API 接口必须有集成测试
## 常见问题
### Q: 启动报错 "Cannot find module"
A: 运行 `pnpm install` 重新安装依赖
### Q: 数据库连接失败
A: 检查 `.env` 中的 `DATABASE_URL` 配置,确保 PostgreSQL 服务已启动
### Q: TypeScript 类型错误
A: 运行 `pnpm typecheck` 查看详细错误,确保类型定义正确
2.5 创建 CLAUDE.md 的方法
有两种方式创建 CLAUDE.md:
方法一:使用 /init 命令自动生成
# 在项目目录中启动 Claude Code
claude
# 运行初始化命令
> /init
Claude 会分析你的项目结构,自动生成一个基础的 CLAUDE.md 文件。不过说实话,自动生成的内容比较基础,还需要自己补充完善。
方法二:手动创建
touch CLAUDE.md
然后根据上面的模板填充内容。
2.6 CLAUDE.md 优化技巧
-
迭代优化:不要一次性写太多内容,像调优 Prompt 一样逐步实验和调整。
-
使用强调词:对于重要规则,可以使用 “IMPORTANT”、“YOU MUST”、“NEVER” 等词汇提高遵循度。
## 重要规则
**IMPORTANT**: 所有 API 请求必须经过 `src/api/request.ts` 封装
**YOU MUST**: 提交代码前运行 `pnpm lint` 和 `pnpm typecheck`
**NEVER**: 不要在前端代码中硬编码 API 地址
-
使用 # 快捷指令:在 Claude Code 对话中按
#键,可以快速将当前对话中的重要信息添加到CLAUDE.md。 -
区分本地和共享配置:
- 团队共享的规则放在
CLAUDE.md(提交到 git) - 个人偏好放在
CLAUDE.local.md(加入 .gitignore)
- 团队共享的规则放在
3. AGENTS.md 深度解析
3.1 什么是 AGENTS.md
AGENTS.md 是一个开放的标准格式,专门为 AI 编程代理设计。与 Claude Code 专属的 CLAUDE.md 不同,AGENTS.md 被广泛的 AI 编程工具支持:
- OpenAI Codex
- Google Gemini CLI / Jules
- Cursor
- GitHub Copilot
- Aider
- VS Code、Zed、Warp 等 IDE
目前已有超过 60,000 个开源项目采用了这个标准。这个数字确实让我有点惊讶,说明 AI 编程助手的配置文件标准化已经成为趋势。
3.2 AGENTS.md vs CLAUDE.md
| 特性 | CLAUDE.md | AGENTS.md |
|---|---|---|
| 适用工具 | Claude Code 专属 | 跨平台通用 |
| 标准化组织 | Anthropic | Agentic AI Foundation (Linux Foundation) |
| 文件位置 | 支持多级目录和全局配置 | 主要在项目根目录和子目录 |
| 内容格式 | 自由 Markdown | 自由 Markdown |
| 优先级机制 | 支持 local 文件覆盖 | 就近原则(最近的文件优先) |
选择建议:
- 如果团队主要使用 Claude Code,可以只用
CLAUDE.md - 如果团队使用多种 AI 工具,建议同时维护两个文件,或只用
AGENTS.md - 两个文件可以共存,内容可以相同或针对不同工具做优化
3.3 AGENTS.md 的优先级机制
AGENTS.md 采用"就近原则":
优先级从高到低:
1. 用户在聊天中的直接提示词(最高优先级)
2. 距离当前编辑文件最近的 AGENTS.md
3. 根目录的 AGENTS.md
在 Monorepo 中的应用:
my-monorepo/
├── AGENTS.md # 根目录(通用规则)
├── packages/
│ ├── web/
│ │ └── AGENTS.md # Web 子项目(前端规则)
│ ├── api/
│ │ └── AGENTS.md # API 子项目(后端规则)
│ └── shared/
│ └── AGENTS.md # 共享库(库开发规则)
当你在 packages/web/src/ 下编辑文件时,AI 会优先读取 packages/web/AGENTS.md,然后是根目录的 AGENTS.md。
3.4 AGENTS.md 应该包含什么
根据官方规范,AGENTS.md 应该包含以下内容:
3.4.1 项目概述
# AGENTS.md
## Project Overview
TaskFlow is a task management system built with React and Node.js.
This is a monorepo managed by pnpm workspaces.
3.4.2 构建和测试命令
## Setup Commands
- Install dependencies: `pnpm install`
- Start dev server: `pnpm dev`
- Run tests: `pnpm test`
- Build for production: `pnpm build`
3.4.3 代码风格和规范
## Code Style
- Use TypeScript strict mode
- Use ESLint + Prettier for formatting
- Follow Airbnb style guide
- Use functional components with hooks (no class components)
3.4.4 测试说明
## Testing Instructions
- Find CI plans in `.github/workflows/`
- Run `pnpm test` before committing
- Ensure all tests pass before creating PR
- Write unit tests for new features
3.4.5 PR 和提交规范
## PR Instructions
- Title format: `[<scope>] <description>`
- Link related issues in PR description
- Request review from at least one team member
- Squash commits before merging
3.5 AGENTS.md 完整示例
继续使用 TaskFlow 项目,这是对应的 AGENTS.md 配置:
# AGENTS.md
## Project Overview
TaskFlow is a full-stack task management application.
- Frontend: React 18 + TypeScript + Vite
- Backend: Node.js + Express + TypeScript
- Database: PostgreSQL + Prisma
- Package Manager: pnpm (monorepo)
## Setup Commands
- Install deps: `pnpm install`
- Start dev: `pnpm dev`
- Run tests: `pnpm test`
- Build: `pnpm build`
- Lint: `pnpm lint`
- Type check: `pnpm typecheck`
## Database Commands
- Run migrations: `pnpm db:migrate`
- Seed data: `pnpm db:seed`
- Open Prisma Studio: `pnpm db:studio`
## Code Style Guidelines
### TypeScript
- Strict mode enabled, no `any` types
- Prefer `interface` for object types
- Explicit return types for functions
- Use `type` for unions and utility types
### React
- Functional components only
- Use Zustand for state management
- Use React Hook Form + Zod for forms
- Component files use PascalCase
### API Design
- RESTful conventions
- Response format: `{ code, data, message }`
- Error codes: 200 OK, 400 Bad Request, 401 Unauthorized, 500 Server Error
## Project Structure
taskflow/
├── client/ # Frontend (React)
│ ├── src/
│ │ ├── components/ # Shared components
│ │ ├── features/ # Feature modules
│ │ ├── hooks/ # Custom hooks
│ │ ├── stores/ # Zustand stores
│ │ └── types/ # Type definitions
├── server/ # Backend (Express)
│ ├── src/
│ │ ├── controllers/ # Route handlers
│ │ ├── services/ # Business logic
│ │ ├── middlewares/ # Express middlewares
│ │ └── routes/ # Route definitions
├── prisma/ # Database schema & migrations
└── e2e/ # End-to-end tests
## Testing Instructions
- Check CI config in `.github/workflows/ci.yml`
- Run `pnpm test` for unit tests
- Run `pnpm test:e2e` for E2E tests
- Coverage target: 80% for core business logic
- All tests must pass before PR merge
## PR Instructions
- Title format: `<type>(<scope>): <description>`
- Types: feat, fix, docs, style, refactor, test, chore
- Link related issues using `Closes #<issue_number>`
- Request review from at least one maintainer
- Ensure CI passes before requesting review
## Security Notes
- Never commit `.env` files
- Use environment variables for secrets
- Sanitize all user inputs
- Use parameterized queries (Prisma handles this)
## Common Issues
### "Module not found" error
Run `pnpm install` to reinstall dependencies.
### Database connection failed
Check `DATABASE_URL` in `.env` and ensure PostgreSQL is running.
### Type errors after pulling
Run `pnpm typecheck` and fix any type mismatches.
3.6 配置特定工具识别 AGENTS.md
某些工具需要额外配置才能识别 AGENTS.md:
Aider:
# .aider.conf.yml
read: AGENTS.md
Gemini CLI:
// .gemini/settings.json
{
"contextFileName": "AGENTS.md"
}
Cursor:Cursor 原生支持 AGENTS.md,无需额外配置。
3.7 从 AGENT.md 迁移到 AGENTS.md
如果你的项目之前使用的是 AGENT.md(单数形式),可以通过以下命令迁移:
# 重命名文件并创建符号链接保持兼容
mv AGENT.md AGENTS.md && ln -s AGENTS.md AGENT.md
这样既更新到了新标准,又保持了对旧工具的兼容。
4. 实践案例:从零配置新项目
假设我们要创建一个新项目 TaskFlow,这是一个任务管理系统。下面演示如何从零开始配置 CLAUDE.md 和 AGENTS.md。
4.1 项目背景
项目名称:TaskFlow
项目类型:全栈 Web 应用
技术栈:
- 前端:React 18 + TypeScript + Vite + TailwindCSS
- 后端:Node.js + Express + TypeScript
- 数据库:PostgreSQL + Prisma
- 包管理:pnpm (Monorepo)
团队情况:
- 3 名前端开发
- 2 名后端开发
- 使用 GitHub 进行代码管理
- CI/CD 使用 GitHub Actions
4.2 创建项目结构
首先,创建基础的项目结构:
# 创建项目目录
mkdir taskflow && cd taskflow
# 初始化 pnpm
pnpm init
# 创建 Monorepo 结构
mkdir -p client/src server/src prisma e2e
# 创建配置文件
touch CLAUDE.md AGENTS.md .gitignore
4.3 配置 CLAUDE.md
针对 Claude Code 用户,创建 CLAUDE.md:
# TaskFlow 项目配置
这是一个基于 React + Node.js 的任务管理系统,使用 pnpm monorepo 管理。
## 快速开始
# 安装依赖
pnpm install
# 启动开发环境
pnpm dev
# 运行测试
pnpm test
## 技术栈
| 层级 | 技术 |
|------|------|
| 前端 | React 18, TypeScript, Vite, TailwindCSS, Zustand |
| 后端 | Node.js, Express, TypeScript |
| 数据库 | PostgreSQL, Prisma ORM |
| 测试 | Jest, React Testing Library, Supertest |
## 代码规范
### TypeScript
- 严格模式,禁止 any
- 使用 interface 定义对象类型
- 函数必须声明返回类型
### React
- 只使用函数组件 + Hooks
- 状态管理使用 Zustand
- 表单使用 React Hook Form + Zod
### 命名规范
- 组件:PascalCase(UserProfile.tsx)
- 函数/变量:camelCase(getUserById)
- 常量:UPPER_SNAKE_CASE(MAX_RETRY)
- CSS 类:kebab-case(user-profile)
## 目录结构
taskflow/
├── client/ # 前端
│ └── src/
│ ├── components/ # 通用组件
│ ├── features/ # 功能模块
│ ├── hooks/ # 自定义 Hooks
│ ├── stores/ # Zustand stores
│ └── types/ # 类型定义
├── server/ # 后端
│ └── src/
│ ├── controllers/ # 控制器
│ ├── services/ # 业务逻辑
│ ├── middlewares/ # 中间件
│ └── routes/ # 路由
├── prisma/ # 数据库
└── e2e/ # E2E 测试
## Git 规范
### 分支策略
- main:生产环境
- develop:开发环境
- feature/*:功能开发
- fix/*:Bug 修复
### 提交格式
<type>(<scope>): <subject>
type: feat | fix | docs | style | refactor | test | chore
示例:`feat(task): add task creation API`
## 重要提醒
**IMPORTANT**:
- 所有 API 请求必须通过 `client/src/lib/api.ts` 封装
- 数据库操作只能通过 Prisma,不要写原生 SQL
- 前端环境变量必须以 `VITE_` 开头
**NEVER**:
- 不要在代码中硬编码密钥或密码
- 不要直接修改 node_modules
- 不要跳过 TypeScript 类型检查
## 常见问题
### 依赖安装失败
rm -rf node_modules pnpm-lock.yaml
pnpm install
### 数据库连接失败
检查 `.env` 中的 `DATABASE_URL`,确保 PostgreSQL 已启动。
### 类型错误
运行 `pnpm typecheck` 查看详细错误信息。
4.4 配置 AGENTS.md
为了支持其他 AI 工具(Cursor、Copilot 等),创建 AGENTS.md:
# AGENTS.md
## Project: TaskFlow
A full-stack task management application using React + Node.js monorepo.
## Quick Start
- Install: `pnpm install`
- Dev: `pnpm dev`
- Test: `pnpm test`
- Build: `pnpm build`
- Lint: `pnpm lint`
## Tech Stack
- Frontend: React 18, TypeScript, Vite, TailwindCSS, Zustand
- Backend: Node.js, Express, TypeScript
- Database: PostgreSQL, Prisma
- Testing: Jest, React Testing Library
## Code Style
### TypeScript
- Strict mode, no `any`
- Use `interface` for objects
- Explicit return types
### React
- Functional components only
- Zustand for state
- React Hook Form + Zod for forms
### Naming
- Components: PascalCase
- Functions: camelCase
- Constants: UPPER_SNAKE_CASE
## Structure
client/src/
├── components/ # Shared UI
├── features/ # Feature modules
├── hooks/ # Custom hooks
├── stores/ # State management
└── types/ # TypeScript types
server/src/
├── controllers/ # Request handlers
├── services/ # Business logic
├── middlewares/ # Express middleware
└── routes/ # API routes
## Testing
- Run `pnpm test` before commit
- Coverage target: 80%
- E2E tests in `e2e/` directory
## PR Guidelines
- Format: `<type>(<scope>): <description>`
- Types: feat, fix, docs, style, refactor, test, chore
- Link issues: `Closes #123`
- Require 1 approval
## Security
- No hardcoded secrets
- Use env variables
- Sanitize user input
4.5 配置子目录的 AGENTS.md
对于 Monorepo,可以在子目录创建特定的配置:
client/AGENTS.md(前端特定配置):
# Frontend AGENTS.md
## Overview
React frontend for TaskFlow application.
## Commands
- Dev: `pnpm dev:client`
- Test: `pnpm test:client`
- Build: `pnpm build:client`
## Component Guidelines
- Use TailwindCSS for styling
- Prefer composition over inheritance
- Extract reusable logic to hooks
- Keep components under 200 lines
## State Management
- Local state: useState/useReducer
- Global state: Zustand stores in `stores/`
- Server state: React Query
## File Naming
- Components: `ComponentName.tsx`
- Hooks: `useHookName.ts`
- Utils: `utilName.ts`
- Types: `types.ts` or `ComponentName.types.ts`
server/AGENTS.md(后端特定配置):
# Backend AGENTS.md
## Overview
Express.js backend API for TaskFlow.
## Commands
- Dev: `pnpm dev:server`
- Test: `pnpm test:server`
- Build: `pnpm build:server`
## API Design
- RESTful conventions
- Base path: `/api/v1`
- Response: `{ code, data, message }`
## Error Handling
- Use custom error classes
- Centralized error middleware
- Log errors with context
## Database
- All queries through Prisma
- Use transactions for multi-step operations
- Index frequently queried columns
## Authentication
- JWT tokens in Authorization header
- Refresh token rotation
- Rate limiting on auth endpoints
4.6 配置本地私有设置
创建 CLAUDE.local.md 用于个人配置(不提交到 git):
# 本地配置
## 我的开发环境
- Node.js: v20.10.0
- pnpm: 8.15.0
- IDE: VS Code
## 个人偏好
- 使用 Vim 键位
- 终端使用 iTerm2 + zsh
- 调试时优先使用 console.log
## 本地数据库
- Host: localhost
- Port: 5432
- Database: taskflow_dev
别忘了将其加入 .gitignore:
# .gitignore
CLAUDE.local.md
4.7 验证配置效果
配置完成后,可以通过以下方式验证:
Claude Code:
claude
> 请帮我创建一个新的 Task 组件
Claude 应该会:
- 使用 TypeScript 和函数组件
- 遵循 PascalCase 命名
- 使用 TailwindCSS 样式
- 放置在正确的目录
Cursor / Copilot:打开项目,让 AI 生成代码时观察是否遵循了 AGENTS.md 中的规范。
5. 最佳实践与进阶技巧
5.1 内容组织原则
-
简洁明了:AI 的上下文窗口有限,不要写太多无关内容。
-
结构清晰:使用标题、列表、表格组织内容,便于 AI 解析。
-
可操作性强:提供具体的命令和示例,而不是抽象的描述。
# 不好的写法
我们的代码风格比较严格,请注意保持一致性。
# 好的写法
## 代码风格
- 使用 2 空格缩进
- 字符串使用单引号
- 行尾不加分号
- 运行 `pnpm lint` 检查
5.2 优先级和强调
对于重要规则,使用强调词提高遵循度:
## 关键规则
**CRITICAL**: 所有数据库迁移必须经过 review
**IMPORTANT**: API 响应必须包含错误码
**MUST**: 提交前必须通过所有测试
**NEVER**: 永远不要在日志中打印敏感信息
**ALWAYS**: 总是使用参数化查询防止 SQL 注入
5.3 团队协作策略
-
分层配置:
- 根目录:团队通用规则
- 子目录:项目/模块特定规则
- local 文件:个人偏好
-
版本控制:
CLAUDE.md和AGENTS.md提交到 gitCLAUDE.local.md加入 .gitignore
-
定期更新:
- 项目规范变化时同步更新配置文件
- Code Review 时检查配置文件是否需要更新
5.4 常见问题解决
问题 1:AI 不遵循配置文件中的规则
解决方案:
- 检查文件名是否正确(大小写敏感)
- 使用更强的强调词(MUST、NEVER)
- 将重要规则放在文件开头
- 减少文件总长度,突出重点
问题 2:多个配置文件冲突
解决方案:
- 理解优先级机制(就近原则)
- 在子目录配置中明确覆盖父目录规则
- 保持配置文件间的一致性
问题 3:配置文件太长,AI 可能忽略部分内容
解决方案:
- 精简内容,只保留最重要的规则
- 使用
@import语法引用其他文件(如果工具支持) - 将详细文档放在单独文件,配置文件只放摘要
5.5 与 CI/CD 集成
可以在 CI 中验证代码是否符合配置文件中的规范:
# .github/workflows/ci.yml
name: CI
on: [push, pull_request]
jobs:
lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: pnpm/action-setup@v2
- run: pnpm install
- run: pnpm lint
- run: pnpm typecheck
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: pnpm/action-setup@v2
- run: pnpm install
- run: pnpm test
5.6 配置文件模板
为了快速启动新项目,可以创建团队通用的配置模板:
前端项目模板:
# [PROJECT_NAME] Frontend
## Tech Stack
- Framework: React/Vue/Svelte
- Language: TypeScript
- Styling: TailwindCSS/CSS Modules
- State: Zustand/Pinia/Redux
## Commands
- `pnpm dev` - Start dev server
- `pnpm build` - Production build
- `pnpm test` - Run tests
- `pnpm lint` - Lint code
## Code Style
[团队前端规范]
## Testing
[测试要求]
后端项目模板:
# [PROJECT_NAME] Backend
## Tech Stack
- Runtime: Node.js/Go/Python
- Framework: Express/Gin/FastAPI
- Database: PostgreSQL/MySQL/MongoDB
- ORM: Prisma/GORM/SQLAlchemy
## Commands
- `pnpm dev` - Start dev server
- `pnpm build` - Build for production
- `pnpm test` - Run tests
- `pnpm db:migrate` - Run migrations
## API Design
[API 设计规范]
## Security
[安全要求]
6. 总结
写这篇文章的过程中,我对 CLAUDE.md 和 AGENTS.md 的理解更加深刻了。说实话,一开始我也觉得这不就是写个配置文件嘛,有什么难的?但是深入研究后发现,这里面的门道还挺多的。
6.1 核心要点回顾
-
CLAUDE.md 是 Claude Code 专属的配置文件,每次启动时自动加载到上下文。
-
AGENTS.md 是一个开放标准,被 60,000+ 项目和主流 AI 工具采用。
-
两个文件的核心目的相同:为 AI 提供项目上下文,让它更好地理解和遵循你的开发规范。
-
配置文件应该包含:
- 常用命令(构建、测试、部署)
- 代码风格指南
- 项目结构说明
- 开发规范和注意事项
-
最佳实践:
- 保持简洁,突出重点
- 使用强调词提高遵循度
- 分层配置,支持团队协作
- 定期更新,与项目同步
6.2 选择建议
| 场景 | 建议 |
|---|---|
| 只用 Claude Code | 使用 CLAUDE.md |
| 只用 Cursor/Copilot | 使用 AGENTS.md |
| 团队使用多种工具 | 同时维护两个文件 |
| 开源项目 | 优先使用 AGENTS.md(更通用) |
6.3 未来展望
随着 AI 编程助手的快速发展,配置文件的标准化趋势会越来越明显。AGENTS.md 作为一个开放标准,正在被越来越多的工具和项目采用。
未来可能会出现:
- 更智能的配置文件解析
- 跨工具的配置同步
- 基于项目分析的自动配置生成
- 配置文件的版本管理和继承机制
无论工具如何演进,核心理念不会变:让 AI 更好地理解你的项目,才能更好地帮助你。
现在就开始为你的项目创建 CLAUDE.md 或 AGENTS.md 吧!
以后还需要继续努力。加油!
参考资料
更多推荐


所有评论(0)