chore: 初始化仓库结构
- 建立 monorepo 结构:app/ + server/ + docs/ - 纳入全部需求/架构/开发计划文档 - 新增 docs/PROGRESS.md 功能状态总览 - 新增 docs/decisions/ ADR 决策记录(001-004) - 新增根目录 README.md 含 AI 阅读指引 - 新增 .gitignore Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,33 @@
|
||||
# ADR-001 采用 Monorepo 单仓库管理 app / server / docs
|
||||
|
||||
**状态:** 已采纳 ✅
|
||||
**日期:** 2026-05-24
|
||||
|
||||
---
|
||||
|
||||
## 背景
|
||||
|
||||
项目包含前端(app)、后端(server,Phase 4 启动)、文档(docs)三部分,需要决定是用一个 git 仓库还是多个仓库管理。
|
||||
|
||||
## 决策
|
||||
|
||||
所有代码和文档放在同一个 git 仓库,采用 monorepo 结构:
|
||||
|
||||
```
|
||||
life_goals/
|
||||
├── app/
|
||||
├── server/
|
||||
└── docs/
|
||||
```
|
||||
|
||||
## 原因
|
||||
|
||||
- **小团队 / 个人项目**:管理一个仓库比同步多个仓库负担小得多
|
||||
- **前后端强耦合**:同一个功能(如账号体系)需要同时改 app 和 server,monorepo 可以一个 commit 完成
|
||||
- **AI 协作友好**:AI 在同一仓库内能同时看到代码和文档,理解更准确
|
||||
- **文档即代码**:需求变更和代码变更在同一条时间线,不会出现文档滞后
|
||||
|
||||
## 影响
|
||||
|
||||
- `server/` 目前为占位目录,Phase 4 再填充内容
|
||||
- 如未来 server 需要被多个产品复用,再考虑拆出独立仓库
|
||||
@@ -0,0 +1,27 @@
|
||||
# ADR-002 PWA 优先验证市场,再做 Capacitor 原生打包
|
||||
|
||||
**状态:** 已采纳 ✅
|
||||
**日期:** 2026-05-24
|
||||
|
||||
---
|
||||
|
||||
## 背景
|
||||
|
||||
App 需要在手机上使用,面临两个选择:直接打包成原生 App,或先做 PWA 验证需求。
|
||||
|
||||
## 决策
|
||||
|
||||
**Phase 2 先做 PWA**,让用户在手机浏览器「添加到主屏幕」使用。确认产品有市场价值后,**Phase 3 再用 Capacitor 打包** Android APK / iOS IPA。
|
||||
|
||||
## 原因
|
||||
|
||||
- PWA 只需加 `manifest.json` + Service Worker,改动极小
|
||||
- Capacitor 打包需要引入 Vite、替换存储方案、配置 Android Studio / Xcode,成本高
|
||||
- 先用 PWA 以最低成本验证:用户留存率、复盘频率、AI 功能使用率
|
||||
- 验证有价值后再投入打包成本,避免过早优化
|
||||
|
||||
## 影响
|
||||
|
||||
- Artifact Storage API 是 Claude 平台专属,PWA 独立部署后需替换为 localStorage
|
||||
- iOS Safari 对 PWA 支持有限,是已知限制,PWA 阶段接受
|
||||
- Capacitor 打包触发条件:Phase 2 验证指标达标
|
||||
@@ -0,0 +1,33 @@
|
||||
# ADR-003 本地优先存储,账号为可选功能
|
||||
|
||||
**状态:** 已采纳 ✅
|
||||
**日期:** 2026-05-24
|
||||
|
||||
---
|
||||
|
||||
## 背景
|
||||
|
||||
App 需要数据持久化,需要决定是否强制登录,以及何时引入账号体系。
|
||||
|
||||
## 决策
|
||||
|
||||
采用三阶段演进:
|
||||
|
||||
| 阶段 | 登录 | 存储 |
|
||||
|------|------|------|
|
||||
| 开发调试期(当前) | 免登录 | 本地 |
|
||||
| 用户增长期(Phase 2-3) | 可选注册 | 本地(默认)/ 服务端(登录后) |
|
||||
| 商业化期(Phase 4+) | 登录必要 | 服务端 |
|
||||
|
||||
## 原因
|
||||
|
||||
- **降低启动门槛**:打开即用,无需注册,用户转化率更高
|
||||
- **先验证价值**:让用户先体验到产品价值,再引导注册,信任成本低
|
||||
- **账号是收费前置**:Phase 5 会员收费需要账号体系,Phase 4 作为前置建设
|
||||
- **参考案例**:Obsidian、Bear 等 Local-First 应用均采用此模式
|
||||
|
||||
## 影响
|
||||
|
||||
- 游客首次登录时需处理本地数据迁移(按时间戳合并为推荐策略)
|
||||
- 引入后端时,Anthropic API 调用需同步迁移至服务端(保护 API Key)
|
||||
- 换设备 / 清缓存会丢失游客数据,这是已知限制,通过引导注册解决
|
||||
@@ -0,0 +1,33 @@
|
||||
# ADR-004 提供初始化模版降低新用户门槛
|
||||
|
||||
**状态:** 已采纳 ✅
|
||||
**日期:** 2026-05-24
|
||||
|
||||
---
|
||||
|
||||
## 背景
|
||||
|
||||
外部用户首次打开 App 时,面对空白目标树不知道如何填写,容易流失。
|
||||
|
||||
## 决策
|
||||
|
||||
**Phase 2 PWA 上线时**引入初始化模版系统:
|
||||
|
||||
- **通用模版**:纯结构 + 占位符,适合所有人
|
||||
- **6 类人生方向模版**:职业发展 / 创业副业 / 学习提升 / 健康生活 / 家庭生活 / 自由探索
|
||||
- 用户也可选择「空白开始」
|
||||
|
||||
**Phase 5 会员阶段**提供精品行业模版库作为付费内容。
|
||||
|
||||
## 原因
|
||||
|
||||
- 新用户看到结构示例后能快速理解产品价值
|
||||
- 模版是起点,用户可自由编辑,不构成约束
|
||||
- 自用阶段(当前)无需此功能,Phase 2 面向外部用户时引入
|
||||
- 免费模版 vs 付费精品模版形成分层,支撑商业化
|
||||
|
||||
## 影响
|
||||
|
||||
- Phase 2 开发时需新增「欢迎页 + 模版选择」流程
|
||||
- 模版内容需要打磨文案,覆盖主流人群
|
||||
- 精品模版定价和内容在 Phase 5 决策
|
||||
Reference in New Issue
Block a user