接手老项目时怎么让 CC 先做体检

真实项目接入教程:接手老项目时先让 Claude Code 做只读体检,梳理运行方式、目录结构、风险文件、历史债务和接入边界。

接手老项目时,最危险的不是不会改,而是还没看懂就让 CC 改。

老项目通常有历史包袱:依赖版本旧、目录结构绕、脚本没人敢动、环境变量缺失、测试不完整、某些代码不能轻易碰。这个时候第一步不是“让 CC 帮我加功能”,而是让它做一次只读体检。

体检和普通只读分析的区别

普通只读分析是为了开始一个任务。

老项目体检是为了判断这个项目能不能安全接入 CC。

它要回答:

这和“第一次让 CC 阅读项目”不同。老项目体检更强调历史风险和接入边界。

第一步:只读体检提示词

请对当前老项目做一次只读体检,不要修改任何文件。

请输出:
1. 项目类型、主要技术栈和包管理器。
2. 启动、构建、测试、部署相关脚本。
3. 核心目录和入口文件。
4. 主要业务模块和调用关系。
5. 高风险区域:认证、权限、支付、数据库、配置、脚本、部署。
6. 当前缺失的信息,例如环境变量、文档、测试、运行说明。
7. 适合先交给 CC 的低风险任务。
8. 不建议现在交给 CC 的高风险任务。

要求:
- 不要修改文件。
- 不要安装依赖。
- 不要运行破坏性命令。
- 不要猜测没有证据的业务结论。

如果项目很大,可以再加一句:

如果项目太大,请先给出目录级体检,不要深入每个模块。

第二步:让 CC 标出未知项

老项目里最重要的不是“已知”,而是“未知”。

继续问:

请列出当前项目体检中的未知项。

格式:
1. 未知项是什么。
2. 为什么这个未知项重要。
3. 可能影响哪些任务。
4. 需要谁确认或需要查看什么资料。
5. 在确认前不建议做什么。

比如:

这些未知项要先记录下来。

体检时要找证据,不要听感觉

老项目里很多说法都可能过时。比如 README 说用某个命令启动,但实际脚本已经变了;某个目录看起来废弃,但线上可能还在用。

让 CC 每个结论都带证据:

请把体检结论改成“结论 + 证据”的格式。

格式:
结论:
证据文件:
证据内容:
可信度:高 / 中 / 低
需要人工确认:

可信度低的结论不要拿来指导修改,只能作为待确认事项。

第三步:给项目分风险区

让 CC 给项目分区:

请把当前项目分成低风险、中风险、高风险区域。

低风险:
适合先用 CC 做文档、样式、小修、说明补充。

中风险:
需要 Plan Mode、diff 审查和运行验证。

高风险:
需要人工确认、备份、回滚或团队评审。

请说明每个区域的依据。

这一步能帮助后面选择任务。

老项目常见危险信号

体检时重点关注这些信号:

危险信号为什么危险
没有锁文件或锁文件很旧依赖安装结果不可控
多套包管理器文件并存容易装出不同依赖树
README 启动命令和脚本不一致文档可能过时
环境变量没有示例新人很难安全启动
测试长期没人跑改动后缺少安全网
部署脚本没人解释容易误触生产流程
权限逻辑分散小改动可能破坏安全边界

这些信号不一定马上要改,但必须进入风险清单。

第四步:第一批任务怎么选

老项目第一次接入 CC,建议选:

不要一开始就做:

第一批任务的标准是:改错了也容易恢复,验收方式明确,不涉及生产和核心数据。

可以让 CC 给任务排序:

请从体检报告中挑选第一批适合用 Claude Code 处理的任务。

要求:
1. 只选低风险任务。
2. 每个任务说明为什么低风险。
3. 每个任务给出验收方式。
4. 不要选择权限、数据库、部署、依赖升级任务。

老项目体检报告模板

可以让 CC 生成:

请把刚才的体检结果整理成一份老项目接入报告。

结构:
1. 项目概览
2. 运行和构建方式
3. 核心目录
4. 主要业务模块
5. 风险区域
6. 未知项
7. 第一批低风险任务建议
8. 禁止事项
9. 下一步需要人工确认的问题

这份报告可以写进团队文档,也可以作为接入 CC 的第一份材料。

体检后不要马上大改

体检报告出来后,建议按这个顺序推进:

1. 人工确认未知项。
2. 补齐启动和运行说明。
3. 做一个低风险小任务。
4. 验证 CC 的项目理解是否准确。
5. 再逐步进入真实需求。

如果第一次小任务就发现 CC 理解错目录、改错文件或验收不充分,说明项目上下文还要继续补。

适合沉淀到 CLAUDE.md 的内容

体检后可以把长期有效的信息写进 CLAUDE.md:

不要把“这次体检发现的问题清单”全部塞进 CLAUDE.md。问题清单更适合放到任务系统或风险台账。

验收结果

完成老项目体检后,应该能回答:

老项目接入 CC 的第一步不是让它干活,而是让它看清边界。先体检,再任务化,风险会小很多。