Skip to content

Tech stack

The starter is a pnpm workspace. This page names the tools you work with directly; the manifests and lockfile are the source of truth for versions, including transitive packages.

Runtime and workspace

Tool Role Canonical file
Node.js 24 or newer Application runtime Root package.json engines
pnpm 11.3.0 Workspace and package manager Root package.json packageManager
TypeScript Type checking and server build Root package.json

Client

Direct dependency Role
React and React DOM UI rendering
Vite Development server and client build
TanStack Router File routes and typed navigation
Axios Browser requests to the Express API
Tailwind CSS and its Vite plugin Styling
shadcn/ui with Base UI Editable components and accessible primitives
Lucide React Interface icons
Fontsource Inter Variable Bundled font

Check apps/client/package.json and apps/client/components.json for the current package set and UI configuration.

Server and data

Direct dependency Role
Express 5 API and production static server
Better Auth Accounts and sessions
Mongoose Application data models and MongoDB connection
Zod 4 Runtime input and configuration validation
Nodemailer Development SMTP delivery
Resend Production email delivery

Check apps/server/package.json for versions. compose.db.yaml and compose.yaml select the MongoDB image.

Email, tests, and deployment

packages/emails/package.json defines React Email; packages/mail/package.json defines MailDev. The root and server manifests define Biome, Vitest, Supertest, and Playwright. deno.json defines the Deno Deploy build and runtime; Dockerfile and compose.yaml define the container path.

For the exact installed dependency graph, inspect pnpm-lock.yaml in the application repository. Update this page when a direct technology or its role changes, not for every lockfile refresh.

References