EasyStarter logoEasyStarter

Project Structure

Understand the monorepo directory organization of easystarter

Overview

  • apps/*: Apps for each platform
  • packages/*: Reusable code across platforms
  • CLAUDE.md: Claude Code assistant md file
  • AGENTS.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 content
  • apps/server: Hono + Cloudflare Workers backend
  • apps/native: Expo mobile platform
  • packages/app-config: Unified business configuration, especially for payment and storage strategies
  • packages/api-client: Provides shared API clients
  • packages/i18n: Provides multi-language resources
  • packages/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/ and features/: 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.

On this page