Skip to content

Claude Code 高级用法与自定义配置

Claude Code 的强大之处不仅在于内置能力,更在于其高度可定制的配置体系。通过 CLAUDE.md、MCP Server 和 Hooks,开发者可以构建完全适配自身工作流的编程智能体。

Claude Code 配置体系

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,可以构建完整的自动化工作流:

  1. 代码审查工作流:PostToolUse Hook 触发 ESLint,MCP Server 调用 GitHub API 创建 PR
  2. 数据库迁移工作流:CLAUDE.md 约定迁移规范,MCP Server 连接数据库验证
  3. 文档同步工作流:代码变更后自动更新 API 文档

相关资源

最近更新