Appearance
Claude Code CLI不丢上下文工作流:checkpoint/recap四命令
让AI从"每次都从零开始"变成"记得住事的同事"。四个命令+三层记忆系统解决CLI最大痛点。
核心痛点
用Claude Code CLI半年,踩过的最大坑:context一压缩,之前聊的全没了。
你花2小时跟它对齐了架构决策、讨论了三种方案选了一个、确认了一堆约束条件——compact之后,它全忘了。下次开session更惨,完全从零开始。
CLAUDE.md解决的是「项目是什么」,解决不了「我们上次聊到哪了」和「之前做了什么决策」。
解决方案:指挥室+流式工作流
指挥室概念
用Claude Code单独开一个文件夹(项目),里面不写任何代码,专门用来管所有项目的节奏——产品决策、需求文档、进度追踪。
技术实现留在各自的repo里,指挥室只管「做什么」和「为什么」。
| 能力 | 说明 |
|---|---|
| 读文件 | 直接读所有项目的代码和文档 |
| 搜索 | 跨项目搜索关键信息 |
| 调工具 | 执行各种自动化操作 |
| 记忆 | 持久化决策和进度 |
跨项目感知靠一个JSON注册表(所有项目的名称和路径)。在指挥室打/recap,AI自动遍历所有项目的进度文件和工作日志,给出全局视图。
四个自定义命令
1. /checkpoint — 随时存档
markdown
/checkpoint — 把当前进展、决策、进行中的事写到 docs/memory/YYYY-MM-DD.md三个关键改进:
| 改进 | 说明 |
|---|---|
| 后台执行 | 交给subagent,不占主对话上下文 |
| 自动触发 | 对话太长快compact时、任务切换时自动存一次 |
| 多重同步 | 写日志 + 同步progress.md + 更新Linear任务状态 |
2. /recap — 秒恢复上下文
markdown
/recap — 读最近的memory和progress,告诉你「上次到哪了,继续哪个?」新session开头打一下,AI就知道:
- 这个人是谁
- 这个项目在做什么
- 上次聊到哪
3. /postmortem — 踩坑变记忆
markdown
/postmortem — 复盘踩过的坑,写入记忆系统执行流程:
- 还原时间线——问题怎么发现的、试了哪些方案、最后怎么解决的
- 分析根因——表面原因 vs 真正原因
- 写入
docs/postmortem/存档 - 判断是否写进memory或全局CLAUDE.md
一个人开发最怕的不是踩坑,是同一个坑踩两次。
4. /init-project — 新项目起步
markdown
/init-project — 基于模板自动生成项目骨架自动创建:
- CLAUDE.md
- docs目录结构(requirements、features、memory、postmortem)
- progress.md
- 初始化git
三层记忆系统
| 层 | 文件 | 解决什么 | 谁写 |
|---|---|---|---|
| auto memory | ~/.claude/projects/*/memory/ | 你是谁、怎么工作、踩过什么坑 | Claude自动+你触发 |
| 工作日志 | docs/memory/YYYY-MM-DD.md | 今天干了什么、做了什么决策 | /checkpoint写入 |
| 当前快照 | docs/progress.md | 现在在做什么、下一步是什么 | /checkpoint同步更新 |
配合方式:
- auto memory跨项目生效(A项目纠正的行为,B项目也知道)
- 工作日志和progress是项目级的
/recap开头把三层都读一遍,完整恢复上下文
全局CLAUDE.md:跨项目一致性
在 ~/.claude/CLAUDE.md 放一份全局的,所有项目的session都会自动加载。
跨项目通用的规则放全局:
- 需求文档必须用三位数字编号
- 必须有9章标准结构
- 每个docs子目录必须有README索引
写一次,所有项目遵守。
项目级的CLAUDE.md只放该项目特有的信息。
文件结构
全局层(所有项目共享)
~/.claude/
├── CLAUDE.md ← 全局规范(文档格式、命名规则)
├── CLAUDE-TEMPLATE.md ← 新项目模板
└── commands/
├── recap.md ← 恢复上下文
├── checkpoint.md ← 存档进展
├── postmortem.md ← 复盘踩坑
└── init-project.md ← 初始化新项目项目层(每个项目各一份)
project/
├── CLAUDE.md ← 项目专属信息(技术栈、命令、架构)
└── docs/
├── progress.md ← 当前快照(在做什么、下一步)
├── memory/
│ └── YYYY-MM-DD.md ← 工作日志(checkpoint写入)
├── requirements/
│ └── README.md ← 需求索引
├── features/ ← 功能文档
└── postmortem/ ← 复盘记录全局层管「你是谁」和「怎么做事」,项目层管「这个项目在做什么」和「做到哪了」。
工作流演进
第一版:start-working + end-working(失败)
开工时跑一遍环境检查,收工时跑一遍同步。听起来很完整,但:
| 问题 | 说明 |
|---|---|
| 假设打卡制 | 实际窗口一直开着,没有明确开始/结束 |
| end-working太重 | 同步文档、检查测试、写日志、git commit——每次收工等好几分钟 |
| 批处理模式 | 不适合连续性工作方式 |
第二版:checkpoint + recap(成功)
从批处理改成流式:
- 随时可存,随时可读
- 没有顺序依赖,没有开始结束
- 想存就存,想恢复就恢复
总结
这套东西解决了一个问题:让AI不要每次都从零开始。
| 命令 | 功能 |
|---|---|
/checkpoint | 随时存档,不丢上下文 |
/recap | 新session秒恢复 |
/postmortem | 踩坑变记忆 |
/init-project | 新项目自带规范 |
本质:把AI需要的上下文从对话里搬到文件里。对话会compact,文件不会。
关键词:Claude Code CLI, 工作流, checkpoint, recap, 上下文, 记忆系统
