T3 Stack

The best way to start a full-stack, typesafe Next.js app

README

Logo for T3

create-t3-app


Interactive CLI to start a full-stack, typesafe Next.js app.

Get started with the T3 Stack by running npm create t3-app@latest

PRs-Welcome Discord NPM version Downloads

Video thumbnail of Theo with an indecipherable expression on his face

Watch Theo's overview on Youtube here

Table of contents


The T3 Stack
T3 Axioms
Getting Started
Community
Contributors

The T3 Stack


The "T3 Stack"is a web development stack made by Theo focused on simplicity, modularity, and full-stack typesafety. It consists of:

Next.js
tRPC
Tailwind CSS
TypeScript
Prisma
NextAuth.js

So... what is create-t3-app? A template?


Kind of? create-t3-appis a CLI built by seasoned T3 Stack devs to streamline the setup of a modular T3 Stack app. This means each piece is optional, and the "template" is generated based on your specific needs.

After countless projects and many years on this tech, we have lots of opinions and insights. We’ve done our best to encode them into this CLI.

This is NOTan all-inclusive template. We expectyou to bring your own libraries that solve the needs of YOURapplication. While we don’t want to prescribe solutions to more specific problems like state management and deployment, we do have some recommendations listed here .

T3 Axioms


We'll be frank - this is an opinionated project. We share a handful of core beliefs around building and we treat them as the basis for our decisions.

1. Solve Problems


It's easy to fall into the trap of "adding everything" - we explicitly don'twant to do that. Everything added to create-t3-appshould solve a specificproblem that exists within the core technologies included. This means we won'tadd things like state libraries (zustand, redux) but we willadd things like NextAuth.js and integrate Prisma and tRPC for you.

2. Bleed Responsibly


We love our bleeding edge tech. The amount of speed and, honestly, funthat comes out of new shit is really cool. We think it's important to bleed responsibly, using riskier tech in the less risky parts. This means we wouldn't⛔️bet on risky new database tech (SQL is great!). But we happily✅bet on tRPC since it's just functions that are trivial to move off.

3. Typesafety Isn't Optional


The stated goal of create-t3-appis to provide the quickest way to start a new full-stack, typesafe web application. We take typesafety seriously in these parts as it improves our productivity and helps us ship fewer bugs. Any decision that compromises the typesafe nature of create-t3-appis a decision that should be made in a different project.

Getting Started


To scaffold an app using create-t3-app, run any of the following three commands and answer the command prompt questions:

npm


  1. ``` shell
  2. npm create t3-app@latest
  3. ```

yarn


  1. ``` shell
  2. yarn create t3-app
  3. ```

pnpm


  1. ``` shell
  2. pnpm create t3-app@latest
  3. ```

For more advanced usage, check out the CLI docs .

Community


For help, discussion about best practices, or any other conversation that would benefit create-t3-app:

Join the T3 Discord Server

Contributors


We 💖contributors! Feel free to contribute to this project but please read the Contributing Guidelines before opening an issue or PRso you understand the branching strategy and local development environment. We also welcome you to join our Discord community for either support or contributing guidance.

A table of avatars from the project's contributors