项目结构
理解 easystarter 的 monorepo 目录组织方式
概览
apps/*放各端Appspackages/*放跨端复用代码CLAUDE.mdClaude Code agent md文件AGENTS.mdCodex agent md文件
顶层目录
package.json
pnpm-workspace.yaml
turbo.json
tsconfig.json
apps/web是 Web SaaS 前端和文档站、博客内容apps/server是 Hono + Cloudflare Workers 后端apps/native是 Expo 移动端packages/app-config统一业务配置,尤其是支付和存储策略packages/api-client提供共享 API 客户端packages/i18n提供多语言资源packages/shared放跨端工具和基础类型
apps 目录
apps 下面是三个真正面向运行环境的应用。
web面向浏览器,覆盖营销页、博客、文档、认证和后台server面向 API、认证、支付、邮件、数据库和存储native面向移动端,复用同一套后端与共享配置
packages 目录
packages 用来承接跨应用共享逻辑,避免 Web、Server、Native 各写一套。
app-config是业务规则中心,尤其适合放支付套餐、能力开关、存储提供商选择api-client让 Web 和 Native 可以以统一方式调用服务端i18n统一管理多语言消息shared放不依赖具体端的通用能力
Web 应用
如果你主要做 Web 端,核心关注 apps/web 这个应用即可。
source.config.ts
vite.config.ts
wrangler.jsonc
content/是内容层,博客、作者、分类、文档都在这里public/放图片、favicon、OG 图等静态资源scripts/放内容校验之类的脚本src/是 Web 应用主代码e2e/放端到端测试source.config.ts、vite.config.ts、wrangler.jsonc是 Web 构建与部署相关配置
Server 应用
后端能力集中在 apps/server。
drizzle.config.ts
wrangler.jsonc
package.json
src/是服务端主代码drizzle.config.ts是数据库工具配置wrangler.jsonc是 Cloudflare Workers 配置
Native 应用
移动端能力集中在 apps/native。
package.json
app/是移动端页面入口components/和features/承载 UI 与业务模块themes/负责主题样式lib/负责连接基础能力
文档与内容
文档、博客和作者资料统一放在 Web 应用的内容目录中。
content/docs/*是文档内容content/blog/*是博客内容content/author/*是作者资料content/category/*是博客分类
阅读建议
- 想理解产品边界,先看顶层目录和
apps/* - 想理解共享能力,重点看
packages/* - 想改文档或博客,只需要进入
apps/web/content