06 · GitHub 集成与 Hooks
05-并行多功能开发 | 下一篇 → 07-Notebook重构与Dashboard
一、GitHub 集成:自动化 PR 工作流
Claude Code 能直接走完整个 Git/GitHub 流程:
帮我把当前改动:
1. 跑一遍测试确认通过
2. 用语义化 commit message 提交
3. 推到新分支 feature/session-history
4. 用 gh 开一个 PR,标题和描述写清楚改了什么、为什么
- 底层用
ghCLI(GitHub 官方命令行)操作 PR、issue。 - 它能写像样的 PR 描述:动机、改动点、测试情况。
- 进阶:结合 GitHub MCP server,让它读 issue、回评论、查 CI 状态。
让它当「自主 PR 机器人」
读 issue #42,理解需求 → 改代码 → 写测试 → 开 PR 关联这个 issue。
二、Hooks:给智能体加护栏
Hooks 是在 Claude Code 生命周期的特定时点自动执行的脚本——把你的规则固化成自动化,不靠每次提醒。
常见 Hook 时点
| 时点 | 触发时机 | 典型用途 |
|---|---|---|
PreToolUse |
调用工具前 | 拦截危险命令(如 rm -rf)、要求确认 |
PostToolUse |
调用工具后 | 改完文件自动 prettier / eslint |
Stop |
一轮任务结束 | 自动跑测试、发通知 |
UserPromptSubmit |
你提交提示词时 | 注入额外上下文 |
配置示例(.claude/settings.json 概念)
{
"hooks": {
"PostToolUse": [{
"matcher": "Edit|Write",
"hooks": [{ "type": "command", "command": "npx prettier --write $FILE" }]
}]
}
}
- 改完代码自动格式化,不用每次叮嘱。
- 提交前自动跑 lint/测试,不合格就拦下。
💡 心法:能固化成 Hook 的规则,就别靠嘴说。 Prompt 里反复强调的约束,做成 Hook 更可靠。
Hooks vs CLAUDE.md vs Skills
| 机制 | 本质 | 何时用 |
|---|---|---|
CLAUDE.md |
自动加载的项目说明(软约束) | 项目背景、约定、命令 |
| Hooks | 生命周期里自动跑的脚本(硬约束) | 必须执行的动作:格式化、测试、拦截 |
| Skills | 可复用的能力包 | 复杂可复用工作流(见 Agent Skills 课) |
本节实操
- 让 Claude 用
gh帮你开一个真实 PR - 配一个
PostToolUseHook:改完文件自动跑 formatter - 配一个
StopHook:任务结束自动pytest
下一篇 → 07-Notebook重构与Dashboard