Skip to content
Docs
Start hereUpdated 2026-08-20

Project structure

Find the product routes, domain modules, provider adapters, content, migrations, tests, and delivery tooling.

Top-level directories

text
content/                    typed blog, legal, changelog, and docs content
docs/                       repository-side architecture and acceptance records
drizzle/                    generated D1 migrations
messages/                   Paraglide source messages
scripts/                    setup, email preview, and E2E orchestration
src/                        product and server source
tests/                      unit and Playwright acceptance

Domain modules

text
src/
├── activity/               durable activity stream
├── admin/                  user and waitlist administration
├── ai/                     TanStack AI service and local fallbacks
├── api-keys/               hashing, validation, usage, revocation
├── auth/                   Better Auth server, client, and session helpers
├── billing/                normalized payments and entitlements
├── cache/                  KV contract and adapter
├── dashboard/              dashboard aggregation
├── db/                     Drizzle schema and D1 accessor
├── files/                  user-owned R2 workflow
├── mail/                   React Email templates and mail registry
├── newsletter/             Resend and Beehiiv registry
├── notification/           Discord and Feishu registry
├── payment/                Stripe, Creem, and Waffo registry
├── storage/                R2 storage adapter
└── waitlist/               position, referral, and status workflow

Routes and components

  • src/routes/ contains page routes and server API handlers.
  • src/components/layout/ contains the public shell.
  • src/components/app/ contains the authenticated product shell.
  • src/components/docs/ contains the documentation shell and renderer.
  • src/components/ui/ contains reusable Base UI and Shadcn-compatible primitives.

Configuration and environment

  • src/config/website.ts is the central product configuration.
  • src/env.ts parses public and server environment variables.
  • wrangler.jsonc declares runtime bindings and custom domains.
  • worker-configuration.d.ts is generated from Wrangler.

Tests

  • tests/unit/ validates module contracts, security invariants, and CLI behavior.
  • tests/e2e/ validates public, authenticated, provider-preview, mobile, dark-mode, and accessibility workflows.

Generated files

Do not hand-edit generated route trees, Content Collections output, Drizzle metadata, or Worker binding types. Change their source configuration and run the corresponding generator instead.

TanStarter SES documentationBuilt with TanStack Start and Content Collections.