Navigate:
Create T3 App
~$T30.0%

Create T3 App: Full-stack Next.js scaffolding CLI

Interactive CLI for scaffolding typesafe Next.js applications with the T3 Stack technology combination.

LIVE RANKINGS • 10:10 PM • STEADY
OVERALL
#394
42
DEVELOPER TOOLS
#84
13
30 DAY RANKING TREND
ovr#394
·Devel#84
STARS
28.5K
FORKS
1.4K
7D STARS
+4
7D FORKS
+7
See Repo:
Share:

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.

Create T3 App

1

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.

2

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.

3

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" },
    });
  }),
});


vcreate-t3-app@7.40.0

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
vcreate-t3-app@7.38.1

Adds crypto import for older Node versions support.

  • Added an import for crypto in the cli envVars.ts to support older node versions
vcreate-t3-app@7.38.0

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

Loading tweets...


[ EXPLORE MORE ]

Related Repositories

Discover similar tools and frameworks used by developers