Introduction
The foundation of the stack consists of Next.js for building optimized applications and TypeScript for enhanced development with type safety. Tailwind CSS/Shadcn is typically included for rapid, responsive design. For backend development, consider adding tRPC for seamless TypeScript integration, Prisma for efficient database interaction, and NextAuth.js for flexible authentication solutions.
Installation
To get started with the project, run the following command to scaffold a new app:
You can customize your setup by adding various CLI flags. specific tools such as --trpc
for tRPC, --prisma
for Prisma, and--tailwind
to add Tailwind CSS. If no flags are provided, you'll be prompted to select your options interactively.
You can also specify the project directory with [dir]
. By default, the CLI initializes a Git repository and installs dependencies. To skip these steps, use the --noGit
and --noInstall
flags respectively. If you'd prefer a fully automated setup, use -y
or --default
to bypass all prompts.
CI Flags
For our CI (Continuous Integration) setup, we offer experimental flags that allow you to scaffold an app without any interactive prompts. These flags are useful for automating the setup process. Please note that these flags are experimental and may change in future versions without following semver versioning.
Flag | Description |
---|---|
[dir] | Specify the project directory name. |
-y, --default | Bypass prompts and scaffold with all default options. |
--trpc | Add tRPC for type-safe API communication. |
--prisma | Include Prisma ORM for type-safe database access. |
--drizzle | Include Drizzle ORM for modern database management. |
--nextAuth | Add NextAuth.js for flexible authentication solutions. |
--tailwind | Include Tailwind CSS for utility-first styling. |
--dbProvider [provider] | Configure a database provider for the project. |
--appRouter | Use Next.js App Router for routing. |
--noGit | Skip initializing a Git repository for the project. |
--noInstall | Generate the project without installing dependencies. |