- CLAUDE.md 加入会话启动步骤,重开 session 后自动读取进度 - PROGRESS.md 加入当前任务区块,记录正在做/下一步/遗留问题 Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
150 lines
4.9 KiB
Markdown
150 lines
4.9 KiB
Markdown
# CLAUDE.md
|
||
|
||
适用于 `life_goals` 仓库的 Claude Code 协作规则。
|
||
|
||
---
|
||
|
||
## 会话启动
|
||
|
||
每次新 session 开始时,按顺序执行:
|
||
|
||
1. 读取 `docs/PROGRESS.md` — 了解当前功能状态和正在进行的任务
|
||
2. 执行 `git log --oneline -10` — 查看最近提交,了解上次做到哪里
|
||
3. 确认当前所在 Phase,再开始任务
|
||
|
||
> 用户说"继续上次的开发"时,完成以上步骤后直接接续,不需要重新介绍项目背景。
|
||
|
||
---
|
||
|
||
## 项目定位
|
||
|
||
个人成长 App,帮助用户管理人生目标树、每日/每周复盘并通过 AI 教练保持方向感。
|
||
|
||
- **前期用户**:产品作者本人(自用),后续面向外部用户推广
|
||
- **当前阶段**:Phase 0 MVP 已完成,Phase 1 待开发
|
||
- **维护者**:初级开发者 + AI 协作,所有改动优先保证可读、可理解、可接手
|
||
|
||
进入项目先读:
|
||
1. `docs/PROGRESS.md` — 当前各功能状态
|
||
2. `docs/decisions/` — 重要决策的背景和原因
|
||
|
||
---
|
||
|
||
## 目录职责
|
||
|
||
| 目录 | 说明 |
|
||
|------|------|
|
||
| `app/` | React 前端(PWA → Capacitor),Phase 2 迁入代码 |
|
||
| `server/` | 后端 API,Phase 4 账号体系阶段启动,当前为占位 |
|
||
| `docs/` | 所有项目文档,与代码同等重要 |
|
||
| `docs/PROGRESS.md` | 功能状态总览,每次功能变更必须同步更新 |
|
||
| `docs/decisions/` | ADR 决策记录,重要决策必须补文件 |
|
||
| `docs/01~06` | 需求、架构、开发计划等完整文档 |
|
||
|
||
---
|
||
|
||
## 修改原则
|
||
|
||
- 先读现有实现和相关文档,再动手;优先最小化改动范围。
|
||
- 已有实现可复用时,不新增平行实现。
|
||
- 先定位根因,再修复问题,不做只遮盖现象的补丁。
|
||
- 非任务要求,不改数据结构字段名、AI Prompt 格式、存储 key 命名。
|
||
- 涉及 Anthropic API 调用、存储读写、数据结构变更时,必须保守处理。
|
||
|
||
---
|
||
|
||
## 文档同步要求
|
||
|
||
**代码和文档必须同步提交,不允许代码改了文档没跟上。**
|
||
|
||
| 发生什么 | 必须更新 |
|
||
|---------|---------|
|
||
| 完成或开始一个功能 | `docs/PROGRESS.md` 状态标签 |
|
||
| 做了重要架构/产品决策 | `docs/decisions/` 新增 ADR 文件 |
|
||
| 需求发生变化 | `docs/01-需求收集/` 或 `docs/02-需求分析/` |
|
||
| 技术选型变化 | `docs/03-架构设计/技术选型与数据结构.md` |
|
||
| 迭代计划变化 | `docs/05-开发计划/MVP范围与迭代路线图.md` |
|
||
|
||
ADR 文件命名格式:`docs/decisions/00N-简短描述.md`,内容包含:背景、决策、原因、影响。
|
||
|
||
---
|
||
|
||
## 注释要求(面向初级维护者)
|
||
|
||
适量中文注释,只写必要信息。重点给以下场景加注释:
|
||
|
||
- AI Prompt 构建逻辑(字段含义、上下文组装规则)
|
||
- 数据结构的非直觉字段(如 `level` 推断规则、`nodes` flat 结构设计)
|
||
- 存储读写的关键路径(localStorage key 命名、数据合并逻辑)
|
||
- 外部约束(Anthropic API 参数限制、Capacitor 平台差异)
|
||
|
||
不写无效注释(如"给变量赋值"这类显而易见的描述)。
|
||
|
||
---
|
||
|
||
## 技术约定
|
||
|
||
### 当前阶段(Phase 0-1,无构建工具)
|
||
- 框架:React JSX,无 Vite / Webpack,直接运行
|
||
- 样式:Inline CSS + CSS Variables,不引入 CSS 框架
|
||
- 存储:localStorage 为主(Artifact Storage API 仅限 Claude 平台环境)
|
||
- AI:Anthropic API `/v1/messages`,模型 `claude-sonnet-4-20250514`
|
||
|
||
### Phase 2+ 引入后
|
||
- 构建工具引入 Vite 时,需同步更新 `app/README.md` 和架构文档
|
||
- 存储迁移(localStorage → SQLite)需保留数据迁移路径,不破坏已有数据
|
||
- 后端引入时,Anthropic API 调用必须迁移至 `server/`,不再从前端直连
|
||
|
||
---
|
||
|
||
## 安全要求
|
||
|
||
- **严禁**将 API Key、密码、token 提交到 git
|
||
- `.env` / `.env.local` 已在 `.gitignore` 中,永远不提交
|
||
- 当前前端直连 Anthropic API 是临时方案,Phase 4 引入后端后必须改为服务端代理
|
||
|
||
---
|
||
|
||
## 验证要求
|
||
|
||
改动完成后做最小必要验证:
|
||
|
||
- UI 改动:在浏览器确认渲染和交互正常
|
||
- 存储改动:确认数据写入和读取正确,刷新后数据保持
|
||
- AI 相关改动:确认 Prompt 构建正确,API 调用返回符合预期
|
||
- 如无法验证,必须说明原因和风险
|
||
|
||
---
|
||
|
||
## 提交规范
|
||
|
||
格式:`<type>(<scope>): <简短描述>`
|
||
|
||
| type | 用途 |
|
||
|------|------|
|
||
| `feat` | 新功能 |
|
||
| `fix` | 修复问题 |
|
||
| `docs` | 文档变更 |
|
||
| `refactor` | 重构(不改功能) |
|
||
| `chore` | 构建/配置/依赖 |
|
||
|
||
scope 对应目录或阶段,例如:
|
||
|
||
```
|
||
feat(phase1): 完成每周复盘模块
|
||
fix(app): 修复漏打卡日期显示异常
|
||
docs(adr): ADR-005 服务端技术选型
|
||
docs: 更新 PROGRESS.md Phase1 状态
|
||
```
|
||
|
||
---
|
||
|
||
## 提交前检查
|
||
|
||
- [ ] 未改动无关文件
|
||
- [ ] 未引入不必要重构
|
||
- [ ] 未硬编码 API Key、密码、密钥等敏感信息
|
||
- [ ] 未留下临时代码、调试输出、未说明的 TODO
|
||
- [ ] `docs/PROGRESS.md` 状态已同步更新
|
||
- [ ] 重要决策已补 ADR 文件
|