Project Structure
Understand the monorepo directory organization of easystarter
Overview
apps/*: Apps for each platformpackages/*: Reusable code across platformsCLAUDE.md: Claude Code assistant md fileAGENTS.md: Codex agent md file
Top-level Directory
package.json
pnpm-workspace.yaml
turbo.json
tsconfig.json
apps/web: Web SaaS frontend, documentation site, and blog contentapps/server: Hono + Cloudflare Workers backendapps/native: Expo mobile platformpackages/app-config: Unified business configuration, especially for payment and storage strategiespackages/api-client: Provides shared API clientspackages/i18n: Provides multi-language resourcespackages/shared: Tools and base types for cross-platform use
apps Directory
The apps directory contains three applications targeting real running environments.
web: For browsers, including marketing pages, blogs, documentation, authentication, and the dashboard.server: For APIs, authentication, payments, emails, databases, and storage.native: For mobile platforms, reusing the same backend and shared configurations.
packages Directory
The packages directory is used for cross-application shared logic, avoiding duplicate implementations for Web, Server, and Native.
app-config: The business rules center, ideal for payment plans, feature flags, and storage provider selection.api-client: Allows Web and Native to call the server in a unified way.i18n: Unified management of multi-language messages.shared: For general capabilities that do not depend on a specific platform.
Web Application
If you are primarily working on the Web platform, your core focus will be the apps/web application.
source.config.ts
vite.config.ts
wrangler.jsonc
content/: Content layer for blogs, authors, categories, and documentation.public/: Static resources like images, favicons, OG images, etc.scripts/: Scripts for content validation and other tasks.src/: Main code for the Web application.e2e/: End-to-end tests.source.config.ts,vite.config.ts,wrangler.jsonc: Configurations for Web building and deployment.
Server Application
Backend capabilities are concentrated in apps/server.
drizzle.config.ts
wrangler.jsonc
package.json
src/: Main code for the server.drizzle.config.ts: Database tool configuration.wrangler.jsonc: Cloudflare Workers configuration.
Native Application
Mobile platform capabilities are concentrated in apps/native.
package.json
app/: Entry point for mobile pages.components/andfeatures/: UI components and business modules.themes/: Theme styles.lib/: Connects basic capabilities.
Documentation and Content
Documentation, blogs, and author profiles are stored together in the content directory of the Web application.
content/docs/*: Documentation content.content/blog/*: Blog content.content/author/*: Author profiles.content/category/*: Blog categories.
Reading Suggestions
- To understand product boundaries, start with the top-level directory and
apps/*. - To understand shared capabilities, focus on
packages/*. - To edit documentation or blogs, simply go to
apps/web/content.