Navigate:
Create T3 App
~$T30.1%

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 • 03:09 AM • STEADY
OVERALL
#326
114
DEVELOPER TOOLS
#68
30
30 DAY RANKING TREND
ovr#326
·Devel#68
STARS
28.5K
FORKS
1.4K
7D STARS
+22
7D FORKS
+4
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

create-t3-app@7.40.0: #2010 - Added an import for crypto in the cli envVars.ts to support older node versions.

  • #2010 - Added an import for crypto in the cli envVars.ts to support older node versions.
  • #2000 - update to next.js 15 and next-auth v5
  • #2002 - Change drizzle with PostgresQL to use identity columns
  • #1969 - fix issue with prefetch protected procedure in auth templates
  • #1997 -with-ia! - Add more scripts in `package.json`
vcreate-t3-app@7.38.1

create-t3-app@7.38.1: #2010 - Added an import for crypto in the cli envVars.ts to support older node versions.

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

create-t3-app@7.38.0: #2000 - update to next.js 15 and next-auth v5

  • #2000 - update to next.js 15 and next-auth v5
  • #2002 - Change drizzle with PostgresQL to use identity columns
  • #1969 - fix issue with prefetch protected procedure in auth templates
  • #1997 -with-ia! - Add more scripts in `package.json`
  • #1975 - 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