EasyStarter logoEasyStarter

项目结构

理解 easystarter 的 monorepo 目录组织方式

概览

  • apps/* 放各端Apps
  • packages/* 放跨端复用代码
  • CLAUDE.md Claude Code agent md文件
  • AGENTS.md Codex 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.tsvite.config.tswrangler.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

On this page