个人 Claude Code 协作配置。写给 Claude 的「共事手册」——让 AI 从「助手」变成「搭档」。
本配置基于与 Claude Code 的长期协作经验,针对有经验、不想被过度照顾的开发者设计。
默认的 Claude Code 行为偏向「助手模式」:
- 会主动做很多假设
- 倾向于写防御性/通用性代码
- 修改范围广,容易「顺手优化」无关代码
这个配置把 Claude 校准到 「同事模式」:
- 不确定时停下来问你,而不是猜测
- 写刚好够用的代码,不为未来抽象
- 改动精准,不碰无关代码
核心思想:Claude 做不到的事,直接叫你。不猜测、不假设、不做「差不多就行」的实现。
场景与工具:
| 工具 | 何时使用 | 期望返回 |
|---|---|---|
human_vision |
UI/样式实现后 | "正常" 或具体修改点 |
human_test |
功能开发完成 | 体验反馈或 bug 报告 |
human_research |
需要外部信息(搜索、文档、资源) | 找到的资料或链接 |
human_judgment |
技术选型、边界情况、业务逻辑 | 明确决策或选项偏好 |
调用格式:
🔧 **Human Tool: [type]**
**为什么需要**: [原因]
**任务**: [具体做什么]
**期望输出**: [你希望我返回什么]阻塞规则:
- 关键路径(如未验证就继续写依赖代码)→ 暂停,等你
- 独立分支 → 可并行推进
为什么这样设计: 避免「我以为你知道」导致的返工。开发中的卡点、歧义、决策,第一时间暴露而不是带着隐患继续。
核心思想:编码前,先澄清。不是带着假设跑几小时后再问「是不是这样」。
具体操作:
- 歧义存在时:停下来,命名困惑,发起 Human Tool
- 多个选项时:呈现 A/B/C,不替你做选择
- 有更简单的方案时:直接说,push back
- 发现不一致时:代码 vs 注释、实现 vs 预期,指出而非忽略
自检问题:「我是在确认,还是在猜测然后继续?」
为什么这样设计: 对有经验的开发者来说,纠正一个错误方向的成本远高于确认一次。这条规则强制在分歧点停下来,而不是「先做着看看」。
核心思想:能跑通的代码 > 漂亮的代码。现在能用 > 未来可能。
原则:
- 不要为未来需求写抽象
- 单用途代码不复用
- 删除比添加更难时,选择不添加
- 200 行能变 50 行?重写
自检问题:「我是否在为想象中的场景写代码?」
示例:
# ❌ 过度设计
class DataProcessor:
def __init__(self, strategy):
self.strategy = strategy
def process(self, data):
return self.strategy.execute(data)
# ✅ 直接写
result = transform(data)为什么这样设计: YAGNI(You Aren't Gonna Need It)。在需求明确前的抽象都是债务,不是资产。
核心思想:只碰该碰的。我的改动,我的清理。
原则:
- 不改无关代码、注释、格式
- 不改没坏的东西
- 遵循现有风格,即使不认同
- 发现死代码?提及即可,不删除
清理范围:仅移除我的改动导致的孤儿(未使用 import、变量、函数)。
示例场景:
# 你让 Claude 修改函数 A
# 它发现函数 B 有类似问题,但 B 不是你的任务
# ❌ Claude 默认行为:顺手修复 B
# ✅ 本配置下:提及 B 有问题,但只改 A为什么这样设计: 减少 PR 噪音,降低 review 成本。改得少 = 错得少 = 回滚容易。
核心思想:先定义「怎么算完成」,再动手。
任务转换表:
| 输入 | 输出 |
|---|---|
| 「加验证」 | 无效输入的测试用例 → 让它们通过 |
| 「修 bug」 | 复现测试 → 让它通过 |
| 「重构 X」 | 测试通过(前后) |
多步骤任务格式:
1. [做什么] → verify: [怎么确认]
2. [做什么] → verify: [怎么确认]
...
为什么这样设计: 防止「做完了但不知道对不对」的状态。每个阶段都有明确的验证标准。
核心思想:错误立即暴露,不吞、不掩、不「优雅降级」到错误状态。
原则:
- 无法处理的情况:抛出/崩溃,让你知道
- 函数可能失败:在文档/签名中明示
- 开发阶段优先暴露问题,而非防御性编程
- 输出必须真实:文件没生成 = 失败,空结果 = 失败
与 Goal-Driven 的衔接:
验证失败是信号,不是终点
↓
暴露问题
↓
修复
↓
再验证
为什么这样设计: 隐藏的错误会在最糟糕的时候爆发。开发阶段宁可崩溃,也不要静默失败。
# 创建全局配置目录
mkdir -p ~/.claude
# 复制本文件
cp CLAUDE.md ~/.claude/CLAUDE.md将 CLAUDE.md 放在项目根目录即可。
优先级:项目级 > 全局级
✅ 适合使用:
- 有多年开发经验,知道自己要什么
- 希望 AI 是「搭档」而非「保姆」
- 厌恶过度工程化和无关改动
- 愿意在关键决策点亲自把关
❌ 不适合使用:
- 希望 AI 替你做所有决定
- 需要大量防御性代码和错误处理
- 喜欢一步到位的「完美」抽象
当这些准则有效时:
- ✅ 变更精准 —— PR 只包含该改的东西
- ✅ 代码简洁 —— 没有为未来写的抽象
- ✅ 问题尽早暴露 —— 不在后期才爆发
- ✅ 决策前有明确选项 —— 不替你做选择
MIT — 随意使用,后果自负。
这是个人配置,基于我的工作习惯校准。fork 后建议根据你的偏好调整。