The Full-Stack
Monorepo Template
Production-ready architecture with Better Auth, Prisma, tRPC, and Next.js. Stop configuring and start shipping your next big idea.
Everything You Need to
Build Modern Apps
A complete toolkit designed for developer experience and performance. Fully typed, fully integrated, fully production-ready.
Type-Safe Everything
End-to-end type safety with tRPC. Catch errors at compile time, not runtime.
Modern Authentication
Secure authentication flows with Better Auth. Social logins, email magic links, and more.
Real-Time Ready
Built-in support for real-time features using Upstash Redis and Server-Sent Events.
Database Power
Prisma ORM configured with PostgreSQL. Visual schema editing and type-safe queries.
Monorepo Architecture
Scalable Turborepo structure. Share UI components and logic across apps.
Developer Experience
Hot reload, TypeScript, ESLint, Prettier. Everything configured for speed.
Interactive Demos
Experience the power of the stack. Try out the live demos below.
// Real tRPC implementation
export const chatRouter = {
list: publicProcedure.query(async () => {
return prisma.message.findMany({
orderBy: { createdAt: "asc" },
include: { sender: true },
});
}),
send: protectedProcedure
.input(z.object({ content: z.string() }))
.mutation(async ({ ctx, input }) => {
return prisma.message.create({
data: {
content: input.content,
senderId: ctx.session.user.id,
},
});
}),
}Monorepo Architecture
Visualize how the apps and packages connect in this scalable structure.
Start Building in Minutes
Get up and running with a single command. The template comes pre-configured with everything you need.
Create a new project using the template
Install all dependencies
Preview the scope rename (dry run)
Rename the package scope to your project name
Start the development server
$bun create-turbo@latest --example https://github.com/kitsunekode/template-nextjs-express-trpc-bettera-auth-monorepo my-app
Cloning into 'my-app'...
Done.
$ cd my-app && bun install
Installing dependencies...
+ 847 packages installed [12.43s]
$ bun run rename-scope:dry
Preview: Renaming @template → @myapp
Found 23 files to update
$ bun run rename-scope
✓ Renamed @template to @myapp across all packages
✓ Updated 23 files
$ bun dev
> turbo run dev
@myapp/web:dev: ready on http://localhost:3000
@myapp/server:dev: Server listening on :8080
@myapp/worker:dev: Worker started