Claude Code 高级用法与自定义配置
Claude Code 的强大之处不仅在于内置能力,更在于其高度可定制的配置体系。通过 CLAUDE.md、MCP Server 和 Hooks,开发者可以构建完全适配自身工作流的编程智能体。
CLAUDE.md 项目规则
CLAUDE.md 是 Claude Code 的项目级配置文件,放置在项目根目录下。它定义了智能体在当前项目中应遵循的规则和约定:
markdown
# CLAUDE.md
## 项目概述
这是一个基于 Next.js 14 的电商后台系统,使用 App Router 和 Server Components。
## 代码规范
- 使用 TypeScript strict 模式,禁止 `any` 类型
- 组件使用函数式声明,优先使用 Server Components
- API 路由统一返回 `{ success: boolean, data?: T, error?: string }` 格式
- 数据库操作使用 Drizzle ORM,禁止原始 SQL
## 测试要求
- 所有新功能必须包含单元测试
- API 路由需要集成测试
- 测试覆盖率不低于 80%
## 目录结构
- `app/` - Next.js App Router 页面
- `components/` - 可复用 UI 组件
- `lib/` - 工具函数和共享逻辑
- `db/` - 数据库 schema 和迁移CLAUDE.md 最佳实践
CLAUDE.md 应保持精简(建议 200 行以内),只包含模型无法从代码推断的规则。过于冗长的规则会被截断或降低权重。
MCP Server 集成
MCP Server 允许 Claude Code 调用外部工具和服务。配置位于 .claude/settings.json:
json
{
"mcpServers": {
"github": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-github"],
"env": {
"GITHUB_TOKEN": "${GITHUB_TOKEN}"
}
},
"postgres": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-postgres"],
"env": {
"POSTGRES_URL": "postgresql://localhost:5432/mydb"
}
}
}
}Hooks 机制
Hooks 是 Claude Code 的事件钩子系统,允许在特定事件触发时执行自定义逻辑:
json
{
"hooks": {
"PostToolUse": [{
"matcher": "write_file",
"command": "npx prettier --write $FILE_PATH"
}],
"Stop": [{
"command": "npm test"
}]
}
}Hooks 性能影响
每个 Hook 都会增加工具调用的延迟。PostToolUse Hook 在每次文件写入后执行,如果格式化工具较慢,会显著影响体验。建议仅对关键操作配置 Hook。
自定义工作流示例
结合 CLAUDE.md + MCP + Hooks,可以构建完整的自动化工作流:
- 代码审查工作流:PostToolUse Hook 触发 ESLint,MCP Server 调用 GitHub API 创建 PR
- 数据库迁移工作流:CLAUDE.md 约定迁移规范,MCP Server 连接数据库验证
- 文档同步工作流:代码变更后自动更新 API 文档