diff --git a/CLAUDE.md b/CLAUDE.md index eaa0e52..23ca6ad 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -36,7 +36,7 @@ nj/ (一个仓库) │ ├── src/service/ # ~12 Service │ ├── src/handler/ # ~10 Handler │ └── src/{dto,error,event,state}.rs -├── app/ # Flutter 前端 (待创建) +├── app/ # Flutter 前端 ├── config/ # 服务器配置 ├── docker/ # Docker Compose (PG + Redis) ├── docs/ # 产品文档 @@ -327,7 +327,90 @@ chore(docker): 添加 PostgreSQL 16 + Redis 7 开发环境 --- -## 8. 参考文档 +## 8. 上下文管理与会话交接 + +> **核心问题:** 长时间开发会话会触发 "API Error: The model has reached its context window limit.",导致工作中断。 +> **解决方案:** 在上下文即将耗尽前,主动执行会话交接,确保新会话能无缝续接。 + +### 8.1 触发条件 + +当出现以下**任一**信号时,立即执行 §8.2 交接流程: + +- 感觉对话已经很长,处理速度明显变慢 +- 已经完成了 2 个以上独立的功能开发步骤 +- 单次会话中修改了 10+ 个文件 +- 用户提醒上下文快满了 + +### 8.2 会话交接流程 + +**不要等到报错才交接!** 主动在合适的节点(完成一个 Phase、通过测试后)执行: + +**步骤 1 — 收尾当前工作:** +- 确保当前代码改动已提交(`git add` + `git commit`) +- 确认 `cargo check` 和 `cargo test`(涉及前端时 `flutter analyze`)通过 +- 未完成的工作不要提交到 main — 用 stash 或临时分支暂存 + +**步骤 2 — 更新项目记忆文件:** + +更新 `~/.claude/projects/g--nj/memory/project-status.md`,包含: + +```markdown +## 已完成 (截至 YYYY-MM-DD) +- [x] Phase X: 具体完成内容 (commit hash) +- [x] Phase Y: 具体完成内容 (commit hash) + +## 当前进行中 / 未完成 +- 正在做的事情,描述到什么程度了,还剩什么 +- 例如:"F2 认证模块 — Auth BLoC 已完成,角色选择页未开始" + +## 下一步工作 (按优先级) +1. 具体的下一个任务,写清楚要做什么、在哪个文件 +2. 第二个任务 +3. 第三个任务 + +## 本会话的关键决策/发现 +- 记录影响后续工作的决策、踩过的坑、发现的注意事项 +``` + +**步骤 3 — 向用户输出交接摘要:** + +用以下格式明确告诉用户,方便在新会话中说"按计划继续": + +``` +## 交接摘要 + +### 本会话完成 +- ... + +### 下一步 (新会话直接做) +1. ... +2. ... + +### 注意事项 +- ... +``` + +### 8.3 新会话启动指南 + +新会话启动时,AI 应: + +1. **读取记忆文件** — `~/.claude/projects/g--nj/memory/project-status.md` +2. **确认代码状态** — `git log --oneline -5` + `cargo check` +3. **读取规划文档** — `plans/hazy-petting-lampson.md` 中对应阶段 +4. **直接开始工作** — 不要重复已完成的分析,按记忆中的"下一步工作"推进 + +### 8.4 交接质量标准 + +一份合格的交接必须让新会话**无需猜测**就能继续工作: + +- ✅ 下一步是具体的文件和功能,不是模糊的方向 +- ✅ 未完成的工作状态清晰(做了多少、还差什么) +- ✅ 关键决策已记录(为什么这样做、有哪些备选方案被否决) +- ✅ 所有代码已提交,工作区干净 + +--- + +## 9. 参考文档 | 文档 | 位置 | |------|------| @@ -339,37 +422,13 @@ chore(docker): 添加 PostgreSQL 16 + Redis 7 开发环境 --- -## 9. 开发环境 +## 10. 开发环境 -### 后端 +| 文档 | 位置 | +|------|------| +| 产品设计规格 v1.2 | `docs/superpowers/specs/2026-05-31-nuanji-warm-notes-design.md` | +| 实施规划 v2.1 | `plans/hazy-petting-lampson.md` | +| 头脑风暴文档 (8 份) | `.superpowers/brainstorm/734-1780218658/` | +| 基座仓库 | https://git.stableeasy.com/iven/base.git | +| HMS 源码 (只读参考) | G:\hms | -```bash -# 编译检查 -cargo check - -# 运行测试 -cargo test - -# 启动后端 (需要 PG + Redis) -cd crates/erp-server && cargo run - -# Docker 环境 -cd docker && docker compose up -d -``` - -### 前端 (待创建) - -```bash -cd app -flutter pub get -flutter run -flutter test -``` - -### 配置 - -配置文件:`config/default.toml`,环境变量覆盖前缀 `ERP__`,分隔符 `__` - -数据库:PostgreSQL 16 (端口 5432) -Redis:7-alpine (端口 6379) -API:`http://localhost:8080/api/v1/`