Claudepedia
Claude 官方文档中文导读
官方课程 · Claude Code 进阶(面向开发者)

Claude Code in Action 深度导读

Claude Code 进阶导读——Hooks 系统、SDK 编程接口、MCP 集成、GitHub Actions 与 CI/CD 全链路自动化。

目录

目录

Claude Code 进阶导读——Hooks 系统、SDK 编程接口、MCP 集成、GitHub Actions 与 CI/CD 全链路自动化。

课时
21 课时
来源
Anthropic 官方
平台
SkillJar 课程
关于本页
本页内容基于 Anthropic 官方课程与文档的中文导读整理。
2
Chapter 01

Section 1 · 什么是 Claude Code

Claude Code 是 Anthropic 的 Agentic 编程 CLI 工具:它不仅能回答编程问题,更能在你的真实代码仓库中规划、执行和验证多步骤编程任务。本节建立对 Claude Code 架构和 Agentic 编程范式的理解。

Lesson 1-3
核心概念架构

What Is Claude Code — Architecture and Agentic Coding

Claude Code 是 Anthropic 的 Agentic 编程 CLI 工具:它不仅能回答编程问题,更能在你的真实代码仓库中规划、执行和验证多步骤编程任务。本节建立对 Claude Code 架构和 Agentic 编程范式的理解。

传统 AI 编程助手

  • 在 IDE 中提供内联建议
  • 一次建议一段代码片段
  • 无法执行命令或验证结果
  • 理解范围限于当前文件

Claude Code (Agentic)

  • 在终端中独立工作
  • 规划多步骤任务并逐步执行
  • 读写文件、运行命令、验证输出
  • 理解整个代码仓库的上下文
1
CLI 入口 — 在终端输入 claude 启动交互会话
2
上下文引擎 — 自动读取 CLAUDE.md、项目结构、Git 历史
3
工具循环 — 规划→执行→观察→调整→执行……直到任务完成
4
权限守门 — 高风险操作(文件写入、命令执行)需要用户确认
💡
Claude Code 与 Claude Code 101 的区别:Claude Code 101 是入门课程(安装、基本命令、CLAUDE.md 基础),本课程 Claude Code in Action 是进阶课程——深入 Hooks、SDK、自动化和 CI/CD 集成。
3
Chapter 02

Section 2.1 · 环境搭建与上下文配置

正确的环境配置和上下文提供是 Claude Code 产出质量的基石。本节覆盖安装、项目初始化和 CLAUDE.md 的进阶用法。

Lesson 4-5
安装CLAUDE.md

Setup and Giving Claude Context

正确的环境配置和上下文提供是 Claude Code 产出质量的基石。本节覆盖安装、项目初始化和 CLAUDE.md 的进阶用法。

1
安装:npm install -g @anthropic-ai/claude-code
2
初始化:在项目根目录运行 claude
3
创建 CLAUDE.md — 项目级规范入口
4
可选:配置 .claude/settings.json 定义权限和工具白名单

CLAUDE.md 不仅仅是"项目说明"——它是你与 Claude Code 之间的操作契约。写得好的 CLAUDE.md 能让 Claude 的输出质量提升 2-3 倍。

CLAUDE.md 的四层结构
层级位置作用内容示例
全局~/.claude/CLAUDE.md所有项目的默认规则编码风格、语言偏好、Git 规范
项目./CLAUDE.md本项目的架构和规范技术栈、命名约定、测试要求
模块./src/api/CLAUDE.md模块级别的特殊规则API 设计规范、认证流程
动态.claude/settings.json运行时配置工具权限、超时设置
Example: 高质量 CLAUDE.md 模板
# CLAUDE.md

## Project Overview
E-commerce platform (Next.js 14 + tRPC + Prisma + PostgreSQL)

## Commands
- Build: `pnpm build`
- Test: `pnpm test`
- Lint: `pnpm lint`

## Code Style
- Use TypeScript strict mode
- Prefer named exports over default exports
- Error handling: use Result type, never throw in business logic
- Tests: co-locate with source files (*.test.ts)

## Architecture Decisions
- Server Components by default; Client Components only for interactivity
- API routes via tRPC; no REST endpoints
- Database migrations via Prisma; never modify schema manually
4
Chapter 03

Section 2.2 · 代码修改与自定义命令

掌握 Claude Code 的核心工作流:从描述需求到代码落地、从自定义 Slash Command 到利用记忆系统保持会话连贯性。

Lesson 6-8
代码变更Slash Commands

Making Changes, Custom Commands, and Memory

掌握 Claude Code 的核心工作流:从描述需求到代码落地、从自定义 Slash Command 到利用记忆系统保持会话连贯性。

01
需求描述优先

先描述"要什么"而非"怎么做"。Claude 会自动搜索相关代码、理解依赖关系、规划修改步骤。

02
审查 Diff

Claude 每次修改后会展示完整 diff。逐个审查,按 y 接受、n 拒绝、或给出修改意见让 Claude 调整。

03
自定义 Slash Commands

.claude/commands/ 目录创建 Markdown 文件,定义可复用的工作流。例如 /review/test-coverage/deploy

Example: 自定义 /review 命令
# .claude/commands/review.md

Review the staged changes for:
1. Logic errors and edge cases
2. Security vulnerabilities (SQL injection, XSS, auth bypass)
3. Performance issues (N+1 queries, unnecessary re-renders)
4. Missing test coverage for new code paths

Output format:
- CRITICAL: Must fix before merge
- WARNING: Should fix, create issue if not now
- NOTE: Nice-to-have improvements

Claude Code 的记忆系统让它跨会话保持对项目的理解:

记忆类型存储位置特点
项目记忆.claude/memory.md项目级的长期记忆,所有会话共享
会话记忆会话内缓存当前会话的所有操作和上下文
CLAUDE.md项目根目录显式规范,每次会话自动加载
5
Chapter 04

Section 2.3 · MCP 集成与 GitHub 工作流

通过 MCP (Model Context Protocol) 连接外部工具和服务,并将 Claude Code 深度集成到 GitHub 工作流中——从 PR 创建到代码审查全链路自动化。

Lesson 9-12
MCPGitHub

MCP Integration and GitHub Workflows

通过 MCP (Model Context Protocol) 连接外部工具和服务,并将 Claude Code 深度集成到 GitHub 工作流中——从 PR 创建到代码审查全链路自动化。

MCP(外部工具集成)

  • 连接数据库(PostgreSQL、MongoDB……)
  • 访问 API(Jira、Linear、Notion……)
  • 操控浏览器(Playwright、Puppeteer)
  • 自定义工具服务器(用 Python/Node 开发)

GitHub 集成

  • 自动创建 PR 并填写描述
  • 在 PR 评论中触发 Claude Code
  • CI/CD Pipeline 中作为 reviewer
  • Issue → Branch → PR 全链路自动化
Example: MCP 配置(连接 GitHub + Playwright)
# .claude/settings.json

{
  "mcpServers": {
    "github": {
      "command": "npx",
      "args": ["-y", "@anthropic-ai/github-mcp-server"],
      "env": { "GITHUB_TOKEN": "env:GITHUB_TOKEN" }
    },
    "playwright": {
      "command": "npx",
      "args": ["@anthropic-ai/playwright-mcp-server"]
    }
  }
}
1
描述需求 → Claude Code 在本地编写代码并运行测试
2
使用 /pr 命令自动创建 Pull Request
3
Claude 自动填写 PR 标题、描述、变更说明
4
CI 触发自动化审查(可选:Claude 作为 Reviewer)
6
Chapter 05

Section 3.1 · Hooks 系统

Hooks 是 Claude Code 的事件系统:在特定时间点(会话开始、工具调用前后、消息发送后等)自动执行自定义脚本。它让你能在不修改 Claude Code 本身的前提下,注入自定义逻辑。

Lesson 13-15
Hooks自动化

The Hooks System — Automating Claude Code's Behavior

Hooks 是 Claude Code 的事件系统:在特定时间点(会话开始、工具调用前后、消息发送后等)自动执行自定义脚本。它让你能在不修改 Claude Code 本身的前提下,注入自定义逻辑。

Hook 事件类型
Hook触发时机典型用途
PreToolUse工具调用之前阻止危险操作、记录操作日志
PostToolUse工具调用之后自动格式化代码、触发测试
PreSendMessage发送消息给模型前注入额外上下文、修改提示词
PostSendMessage收到模型响应后日志记录、质量检查
SessionStart会话开始时加载环境变量、初始化工具
SessionEnd会话结束时清理临时文件、生成报告
Example: PostToolUse Hook — 自动运行 lint
# .claude/settings.json

{
  "hooks": {
    "PostToolUse": [
      {
        "matcher": "edit_file",
        "command": "npx eslint --fix $CLAUDE_FILE_PATH",
        "timeout": 10000
      }
    ]
  }
}

# 效果:每次 Claude 编辑文件后,自动运行 ESLint 修复
# 如果 lint 失败,Claude 会看到错误并自行修复
💡
Hooks 的最大价值在于"守门"——你可以用 PreToolUse Hook 阻止 Claude 在未运行测试的情况下提交代码,或阻止它修改特定的受保护文件。
7
Chapter 06

Section 3.2 · Claude Code SDK 与 CI/CD

Claude Code SDK 让你以编程方式调用 Claude Code 的全部能力——将 Agentic 编程嵌入到脚本、CI/CD Pipeline 和自动化工作流中。

Lesson 16-19
SDKCI/CD

SDK, Automation, and CI/CD Integration

Claude Code SDK 让你以编程方式调用 Claude Code 的全部能力——将 Agentic 编程嵌入到脚本、CI/CD Pipeline 和自动化工作流中。

01
非交互模式

使用 claude -p "task" 在脚本中运行单次任务。适合 CI/CD Pipeline 中的代码审查、文档生成。

02
SDK 编程接口

通过 TypeScript/Python SDK 创建自定义的 Agentic 工作流——把 Claude Code 作为其他系统的"大脑"。

03
GitHub Actions 集成

在 PR 创建时自动触发 Claude Code 进行代码审查,审查结果作为 PR Comment 自动发布。

04
批量处理

结合 claude -p 和 Shell 脚本,批量处理仓库中的任务:迁移 API、更新依赖、生成文档。

Example: GitHub Actions — PR 自动审查
# .github/workflows/claude-review.yml

name: Claude Code Review
on:
  pull_request:
    types: [opened, synchronize]

jobs:
  review:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - name: Claude Code Review
        run: |
          npx @anthropic-ai/claude-code -p \
            "Review the changes in this PR.
             Focus on: bugs, security, performance.
             Output as GitHub PR comment format." \
            --allowedTools "Read,Grep,Glob" \
            | gh pr comment ${{ github.event.pull_request.number }} \
              --body-file -
        env:
          ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}
          GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
模式命令适用场景
交互式claude日常开发、探索、调试
单任务claude -p "task"脚本、CI/CD、自动化
管道cat file | claude -p "analyze"处理 stdin 输入
SDKTypeScript/Python API自定义 Agentic 系统
8
Chapter 07

Section 3.3 · 调试与故障排除

当 Claude Code 的行为不符合预期时,如何系统性地排查问题。

Lesson 20
调试最佳实践

Debugging Claude Code

当 Claude Code 的行为不符合预期时,如何系统性地排查问题。

常见问题排查
症状可能原因排查步骤
Claude 不遵循 CLAUDE.md 规则文件位置/格式错误确认 CLAUDE.md 在项目根目录;检查语法
工具调用被拒绝权限配置不足检查 .claude/settings.json 的 allowedTools
修改了错误的文件上下文不足在 CLAUDE.md 中明确文件结构和修改范围
测试未自动运行Hook 未配置或超时检查 hooks 配置;增加 timeout 值
MCP Server 连接失败环境变量/依赖缺失手动运行 MCP server 命令确认可用
调试检查清单
  • claude --version 确认版本是最新
  • claude doctor 运行内置诊断
  • 检查 ~/.claude/logs/ 中的详细日志
  • 使用 claude --verbose 获取详细输出
  • 尝试新会话(claude --new)排除上下文污染
9
Chapter 08

Section 4 · 课程总结与进阶方向

回顾课程核心概念,并展望 Claude Code 的进阶使用方向。

Lesson 21
总结进阶

Assessment and Next Steps

回顾课程核心概念,并展望 Claude Code 的进阶使用方向。

主题关键概念实践要点
架构Agentic Loop、权限模型理解 Claude Code 不是 Copilot,是独立的编程 Agent
上下文CLAUDE.md 四层结构、记忆系统投资时间写好 CLAUDE.md,回报是 2-3x 输出质量
工作流Slash Commands、MCP、GitHub把重复工作流抽象为自定义命令
自动化Hooks、SDK、CI/CD从手动审查过渡到自动化守门
01
从小做起

先用 Claude Code 完成一个简单的 Bug 修复或文档更新。体验完整的 Agentic 循环。

02
建立 CLAUDE.md

为你的主要项目写一份高质量的 CLAUDE.md。这是 ROI 最高的单一投入。

03
尝试自动化

把一个重复性的代码审查或部署流程用 Hooks + SDK 自动化。

04
加入社区

关注 Anthropic Docs、GitHub Discussions、Discord 社区获取最新最佳实践。

ℹ️
Claude Code 正在快速迭代。本课程覆盖了截至当前版本的核心功能。建议定期查阅 docs.anthropic.com 获取最新功能和 API 变更。
10
内容基于 Anthropic 官方文档SkillJar 课程 的中文导读整理,仅供学习参考。