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 readRepo 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.
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 flows | apps/web/app |
| App-specific React components | apps/web/components |
| Documentation content | apps/docs/content/docs |
| Database schema or migrations | packages/database |
| Sign-in, sessions, or organizations | packages/auth |
| API endpoints or contracts | packages/api |
| Billing, plans, or webhooks | packages/payments |
| Uploads or object storage | packages/storage |
| Email templates or delivery | packages/email |
| Locale registry or path helpers | packages/i18n |
| Translation catalogs | apps/web/messages |
| Analytics or product events | packages/analytics |
| Shared UI primitives | packages/ui |
| Workspace scripts, tasks, or builds | Root files (package.json, turbo.json) |
Where To Go Next
Conventions
How to name files, flow types, write tests, and extend the starter.
Package Map
What each package owns, what it exports, and where the deep dive lives.
Also useful: Quickstart, Setup, and Troubleshooting.
Troubleshooting
Symptom-indexed fixes grouped by subsystem. Expand an entry for the cause, a specific fix, and a link to deeper docs. Start with pnpm setup:doctor, or use Cmd-F to match what you're seeing.
Conventions
How to name files, flow types from a Zod schema to a React component, write tests, and extend the starter. Quick reference above the subsystem guides.
