A modern monorepo setup with infrastructure services and development tools.
-
Install dependencies
pnpm install
-
Set up environment variables
Some apps require
.env.localfiles (look for.env.local.examplefiles in each app). -
Start infrastructure services (optional, see Infrastructure Services)
docker compose up -d
-
Start development
pnpm dev
Add shadcn components to your app from the root of your workspace:
# To add components to your app, run the following command at the root of your app:
pnpm dlx shadcn@latest add [component-name] -c apps/[app-name]
# This will place the ui components in the packages/ui/src/components directory.Generate a secure secret for Better Auth configuration:
pnpx @better-auth/cli@latest secretThis generates a cryptographically secure random string to use as BETTER_AUTH_SECRET in your .env.local files.
Generate the Better Auth database schema:
pnpm auth:generateManage your database schema with Drizzle Kit:
# Generate migrations from schema
pnpm db:generate
# Run pending migrations
pnpm db:migrate
# Push schema changes directly to database (development only)
pnpm db:pushFor Docker or bare metal deployments, you need to enable standalone output mode in next.config.ts file. This optimizes the build by:
- Creating a minimal standalone build
- Reducing the Docker image size
- Including only necessary dependencies
This project includes Docker Compose infrastructure services that can be started independently.
For detailed information about available services, ports, credentials, and management commands, see the Infrastructure README.