源码地图
以下路径均相对于 Folo-dev/ 源码快照。
| 主题 | 首先阅读 | 接着追 |
|---|---|---|
| workspace / 构建 | package.json、pnpm-workspace.yaml、turbo.json | 各 app/package 的 package.json |
| 桌面启动 | apps/desktop/layer/main/src/index.ts | bootstrap.ts、preload/index.ts、renderer/src/router.tsx |
| Web/SSR | apps/ssr/index.ts | src/router/global.ts、client/router.tsx、client/pages |
| 数据库 | packages/internal/database/src/schemas/index.ts | db.desktop.ts、db.rn.ts、migrator.ts |
| Store | packages/internal/store/src/hydrate.ts | modules/*/store.ts、hooks.ts、morph/api.ts |
| 内容解析 | packages/readability/src | apps/desktop/layer/main、阅读器组件 |
| 移动启动 | apps/mobile/src/App.tsx | initialize/、providers/、modules/ |
| OTA | apps/ota/src/index.ts | routes/、lib/、publish-ota.yml |
| 发布 | .github/workflows/ | tag.yml、sync.yaml、平台 build workflow |
推荐的追踪任务
任务 A:追一条 Entry
从 client-sdk 的 EntryWithFeed 开始,进入 store/src/morph/api.ts,再看 entry/store.ts、database/schemas/index.ts、Entry 列表模板和 SSR 分享页面。
任务 B:追一次标记已读
从 modules/entry 或 modules/unread 的 hook 开始,观察 action 如何 patch Store、如何批处理 API、如何写数据库,再读对应的 store.test.ts。
任务 C:追一次移动 OTA
从 apps/mobile/package.json 的 update:export 开始,进入 .github/scripts/build-ota-release.mjs、publish-ota.yml、apps/ota/src/routes/manifest.ts 和 policy.ts。
任务 D:追一次分享链接
从 apps/ssr/client/pages/(main)/share 的 metadata 文件开始,进入 meta-handler、globalRoute、hydration script 和客户端 Query。