Create T3 App: Full-stack Next.js scaffolding CLI
Interactive CLI for scaffolding typesafe Next.js applications with the T3 Stack technology combination.
Learn more about Create T3 App
Create T3 App is a command-line interface tool that generates Next.js applications using the T3 Stack, a collection of technologies focused on full-stack type safety. The CLI provides an interactive setup process where developers select from modular components including Next.js, tRPC, Tailwind CSS, TypeScript, Prisma, Drizzle, and NextAuth.js. The tool generates project templates based on specific technology choices rather than providing a fixed template structure. It targets developers building full-stack web applications who prioritize type safety across their entire application stack.
Modular Generation
Generates project structure based on selected technologies rather than using fixed templates. Each component in the T3 Stack is optional and can be included or excluded during setup.
Full-stack Typesafety
Integrates technologies that maintain type safety from database queries through API calls to frontend components. Uses tRPC for type-safe API calls and TypeScript throughout the stack.
Opinionated Defaults
Provides pre-configured integrations between T3 Stack technologies with established patterns and conventions. Includes setup for authentication, database access, and styling systems.
// After running: npm create t3-app@latest my-app
// Example tRPC router (src/server/api/routers/post.ts)
import { z } from "zod";
import { createTRPCRouter, publicProcedure } from "~/server/api/trpc";
export const postRouter = createTRPCRouter({
hello: publicProcedure
.input(z.object({ text: z.string() }))
.query(({ input }) => {
return {
greeting: `Hello ${input.text}`,
};
}),
create: publicProcedure
.input(z.object({ name: z.string().min(1) }))
.mutation(async ({ ctx, input }) => {
return ctx.db.post.create({
data: {
name: input.name,
},
});
}),
getLatest: publicProcedure.query(({ ctx }) => {
return ctx.db.post.findFirst({
orderBy: { createdAt: "desc" },
});
}),
});Updates to Next.js 15 and next-auth v5, adds crypto import for older Node versions, and includes various template fixes.
- –Added an import for crypto in the cli envVars.ts to support older node versions
- –update to next.js 15 and next-auth v5
- –Change drizzle with PostgresQL to use identity columns
- –fix issue with prefetch protected procedure in auth templates
- –with-ia! - Add more scripts in package.json
Adds crypto import for older Node versions support.
- –Added an import for crypto in the cli envVars.ts to support older node versions
Updates to Next.js 15 and next-auth v5, changes Drizzle PostgreSQL to use identity columns, and fixes various template issues.
- –update to next.js 15 and next-auth v5
- –Change drizzle with PostgresQL to use identity columns
- –fix issue with prefetch protected procedure in auth templates
- –with-ia! - Add more scripts in package.json
- –Resolved issue where database startup script did not check for docker daemon being up and running
See how people are using Create T3 App
Top in Developer Tools
Related Repositories
Discover similar tools and frameworks used by developers
Doom Emacs
Modular framework with lazy loading and vim keybindings.
UniTask
Zero-allocation async/await using structs and custom method builders.
Axios
Promise-based HTTP client with unified browser and Node.js interface.
Go
Statically typed, compiled language by Google focused on simplicity, concurrency, and fast compilation.
Dobby
Lightweight function hooking framework for Windows, macOS, iOS, Android, and Linux.