Getting Started
Getting started
Clone a repo. Design your Prisma schema. Run one command. You have a production-ready full-stack app with authentication, organizations, teams, roles, permissions, billing, an admin dashboard, and a fully generated GraphQL API — instantly.
Installation
Step-by-step guide to cloning the template, configuring your environment, and starting development.
Architecture
Understand how Nestled structures your app — monorepo layout, code generation, auth, and multi-tenancy.
Generators
Reference for every Nestled generator and what it creates under the hood.
Automatic Updates
Pull template security patches, dependency bumps, and new features into your project with one command — verified, on a branch, no lock-in.
Forms
Nestled's standalone forms library for building type-safe, validated forms with ease.
Nestled is a template starter kit for building production-ready full-stack applications. It gives you a complete Nx monorepo with a NestJS GraphQL API, a React frontend with React Router 7, Prisma for your database, Stripe for billing, and a full authentication system — all wired together and ready to go. The more time you spend designing your Prisma schema, the less code you'll ever need to write.
Quick start
Get a fully working application in five minutes.
Clone the template and set up
git clone https://github.com/nestledjs/nestled-template.git my-app
cd my-app
cp .env.example .env
pnpm install
Stay up to date
Nestled evolves over time — auth changes, security patches, new patterns. Because everyone's codebase diverges, we publish AI upgrade specs for major updates: drop the spec into your AI agent and it will intelligently reconcile the changes with your existing code.
Name your project and start infrastructure
nx g @nestledjs/generators:workspace-setup --name my-app
This single command renames the workspace throughout the project, ensures .env exists, validates that your database URL is local, spins up Docker (PostgreSQL, Redis, Mailhog), runs database migrations, generates Prisma and GraphQL types, and seeds your database. The --name becomes your workspace namespace — all your imports will use @my-app/..., so keep it short, lowercase, with dashes for spaces.
Design your schema
Open libs/api/prisma/src/lib/schemas/schema.prisma and define your data models. The template comes with a comprehensive schema including users, organizations, teams, roles, permissions, and billing — but you can modify it to fit your needs.
Generate everything
pnpm db-update
pnpm prisma db push
pnpm db-update is the single most important command in Nestled. It reads your Prisma schema and regenerates your entire API — CRUD resolvers, GraphQL types, TypeScript models, and a frontend SDK with typed queries and mutations. Every time you change your schema, run this command and everything updates automatically.
Start development
Run these in separate terminals:
nx serve api # API on http://localhost:3000
nx serve web # Web app on http://localhost:4200
pnpm sdk watch # Auto-regenerate types on changes
Visit http://localhost:4200 and register your first account — the first user to register automatically becomes the super admin with full access to the admin dashboard and all management features.
What just happened?
With one command, pnpm db-update regenerated the Prisma client, generated admin-only CRUD resolvers for every model, built GraphQL models from your schema, maintained the custom API library, and generated a typed SDK for your frontend. Learn more about how this works →
What you get out of the box
Nestled is a proven foundation used in live production applications serving hundreds of thousands of users. Here's what's included and working from day one:
Authentication
Complete auth system with registration, login, password reset, and email verification. JWT tokens with session tracking, cookie-based persistence, and admin emulation for debugging user issues. OAuth (Google, GitHub) and two-factor authentication infrastructure included.
Organizations, teams, and members
Multi-tenant architecture where users belong to organizations through memberships. Organizations have teams, and a tenancy middleware automatically scopes all queries to the active organization. Invite system for adding members with role assignment.
Role-based access control
Roles and permissions model with guard-based authorization. Generated CRUD is always super-admin-only; user-facing operations declare their own guards and enforce application-specific user or tenant scope.
Stripe billing
Full Stripe integration with subscription management, webhook handling, product and price syncing, and a checkout flow. Test mode works out of the box with Stripe CLI.
Generated GraphQL API
Every model in your Prisma schema gets a complete admin CRUD API — queries for reading one, reading many with pagination, and counting records, plus mutations for creating, updating, and deleting. Every generated resolver is protected by the admin guard.
Admin dashboard
Built-in admin area for managing users, organizations, and data. Every model gets admin CRUD in the web frontend through the generated SDK.
Code generation pipeline
The pnpm db-update command regenerates your entire stack from your Prisma schema — API resolvers, GraphQL types, TypeScript models, and a fully-typed frontend SDK. Change your schema, run one command, everything stays in sync.
Production infrastructure
Docker configuration, GitHub Actions CI/CD, E2E testing with Vitest, email testing with Mailhog, multi-provider file storage (S3, Cloudinary, ImageKit, GCS), and deployment-ready Docker builds.
Getting help
Submit an issue
Found a bug or have a feature request? Visit our GitHub repository to report bugs, request features, or submit pull requests.
Join the community
Connect with other Nestled developers through GitHub Discussions, browse real-world examples, and stay up to date with the latest releases.

