Ship faster than your competitors can plan.

Clone a repo. Design your Prisma schema. Run one command. Get a production-ready full-stack app — instantly.

# Clone the template
git clone https://github.com/nestledjs/nestled-template.git my-app
cd my-app && cp .env.example .env && pnpm install
# Set up your workspace
nx g @nestledjs/generators:workspace-setup --name my-app
# Design your schema, then generate everything
pnpm db-update
pnpm prisma db push
# Start development
nx serve api
nx serve web
pnpm sdk watch

Documentation

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.

Forms (coming soon)

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

Name your project and start infrastructure

nx g @nestledjs/generators:workspace-setup --name my-app

This single command renames the workspace throughout the project, spins up Docker (PostgreSQL, Redis, Mailhog), runs database migrations, 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 ran four steps: generated CRUD resolvers for every model, built GraphQL types from your schema, created custom module boilerplate, 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 endpoints use @crudAuth comments in your Prisma schema to declaratively set access levels — no manual guard wiring needed.

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 CRUD API — queries for reading one, reading many with pagination, and counting records, plus mutations for creating, updating, and deleting. All with appropriate auth guards applied automatically.

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.