Skip to content
Overview

Project Structure

How the apps and packages in the SyntaxKit pnpm + Turborepo monorepo are organized. apps/ holds deployable surfaces; packages/ holds the shared product modules. Use this page as the visual map; deeper subsystem guides live under Build With SyntaxKit.

Last updated on

4 min read

Repo At A Glance

Each row notes what it owns. Expand apps/ and packages/ to see the surfaces and modules underneath. Shared tooling configs (typescript-config, eslint-config) live in Package Map: Dev-Only Configs and are omitted from this product tree on purpose.

package.jsonRoot scripts, dependencies, and workspace metadata
pnpm-workspace.yamlDeclares apps/* and packages/* as pnpm workspaces
turbo.jsonTurborepo task pipeline and caching rules
app/Next.js App Router routes, layouts, and pages
components/App-specific React components
lib/Server helpers, clients, and app-level config
api/oRPC routers and application API behavior
Better Auth logoauth/Better Auth setup, sessions, access control, and admin bootstrap
Prisma logodatabase/Prisma schema, migrations, and client
Stripe logopayments/Stripe billing, subscriptions, and webhooks
AWS logostorage/S3-compatible file uploads and object storage
email/React Email templates and delivery modes (log / Plunk)
i18n/Locale registry, path helpers, and locale labels
PostHog logoanalytics/PostHog tracking and product event helpers
Radix UI logoui/Shared UI components and primitives
shared/Schemas, abuse/env helpers, and cross-package utilities

How It's Layered

Two apps sit on top of shared packages. Read the repo top-down: pick the app surface you care about, then follow ownership into the package that owns the subsystem.

Package Map

For exports, public import paths, and every package in one directory, see Package Map.

Apps

Core spine

The packages every other module leans on. Touch these when you change schemas, sessions, or the typed API contract.

Product capabilities

Single-responsibility packages that own a SaaS subsystem behind a stable interface.

UI

Where To Start For Common Tasks

You want to change…Start in
Routes, pages, or dashboard flowsapps/web/app
App-specific React componentsapps/web/components
Documentation contentapps/docs/content/docs
Database schema or migrationspackages/database
Sign-in, sessions, or organizationspackages/auth
API endpoints or contractspackages/api
Billing, plans, or webhookspackages/payments
Uploads or object storagepackages/storage
Email templates or deliverypackages/email
Locale registry or path helperspackages/i18n
Translation catalogsapps/web/messages
Analytics or product eventspackages/analytics
Shared UI primitivespackages/ui
Workspace scripts, tasks, or buildsRoot files (package.json, turbo.json)

Where To Go Next

Also useful: Quickstart, Setup, and Troubleshooting.

Was this page helpful?

On this page