docs: 添加上下文管理与会话交接规范 (CLAUDE.md §8)
- 新增 §8 上下文管理与会话交接流程 - 定义触发条件、交接步骤、新会话启动指南 - 修正 Flutter 前端状态 (已安装可用) - 修复重复章节编号
This commit is contained in:
127
CLAUDE.md
127
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/`
|
||||
|
||||
Reference in New Issue
Block a user