Introduction to create-t3-app
The T3 Stack
The "T3 Stack" is an innovative web development stack crafted by Theo, centered around the principles of simplicity, modularity, and full-stack typesafety. This stack is a powerful combination of various technologies, which includes:
- Next.js: A robust framework that empowers developers to create feature-rich React applications.
- tRPC: An open-source framework that enhances backend communication with type-safe API development.
- Tailwind CSS: A utility-first CSS framework for designing bespoke, responsive user interfaces.
- TypeScript: A superset of JavaScript offering extended syntax compatibility and benefits of typesafety.
- Prisma: A modern database toolkit simplifying the handling of databases with type-safe access.
- Drizzle: A powerful ORM utilized in T3 Stack for managing database interactions.
- NextAuth.js: A flexible authentication solution for Next.js applications.
What is create-t3-app
?
create-t3-app
serves as an interactive CLI tool designed by experienced T3 Stack developers. It simplifies the initialization of a modular T3 Stack application, tailoring each setup to meet individual project necessities. It isn't merely a template; instead, it is a blueprint that adapts to the unique needs of developers. This flexibility encourages developers to incorporate their libraries, as create-t3-app
focuses on providing the foundational technologies and refrains from imposing solutions for more specialized problems like state management or deployment. However, recommendations are offered for those areas.
T3 Axioms
The guiding principles or "axioms" of T3 are pivotal in shaping this opinionated project:
1. Solve Problems
The goal of create-t3-app
is to add elements that address specific challenges present in core T3 technologies, avoiding unnecessary inclusions. While libraries like NextAuth.js are integrated, general-purpose libraries for state management, such as zustand
or redux
, are not included by default.
2. Bleed Responsibly
Embracing cutting-edge technologies is part of the T3 ethos. However, it's crucial to apply these technologies prudently. For example, while they avoid risky database technologies, they embrace tools like tRPC, which offer safe, easily migratable function APIs.
3. Typesafety Isn’t Optional
Typesafety is an essential feature in boosting productivity and ensuring fewer bugs in development. Thus, maintaining comprehensive typesafety is a non-negotiable aspect of T3, with all decisions supporting this objective.
Getting Started
To begin a new project using create-t3-app
, developers can use one of the following commands, which will guide them through an interactive setup process:
Using npm
npm create t3-app@latest
Using yarn
yarn create t3-app
Using pnpm
pnpm create t3-app@latest
Using bun
bun create t3-app@latest
For more detailed CLI usage, refer to the documentation.
Community Engagement
The T3 community is active and supportive. For discussions on best practices or to seek assistance, developers are encouraged to:
Contributor Network
Contributions are highly valued in the create-t3-app
project. Prospective contributors are advised to review the Contributing Guidelines to understand the contribution process better and are welcome to join the project’s Discord community for more insights and support.
The project thrives thanks to its diverse community of contributors who work collaboratively to enhance and maintain its standards. This open-source endeavor is enlivened by dedicated participants and powered by Vercel, ensuring seamless development and deployment experiences.