A monorepo template for full-stack web apps, powered by Turborepo.
Includes Shadcn/ui for rapid UI development.
For details on each app or package, see their respective README.md files.
This repo is organized into three main sections:
-
Configuration files: Centralized config for project dependencies:
-
Packages: Shared code and UI components:
-
Applications: Main apps:
- Client: Next.js 15 + React 19 with Turbopack
- Server: Hono.js + TypeScript backend
- Fast, modern API server.
- Auto-generated OpenAPI docs.
- Type-safe, Zod-validated environment config.
- Modular routing structure.
- TypeScript path aliases for clean imports.
- See apps/server/README.md for details.
- Windows:
- Open the terminal
- Run:
npm install -g pnpm
- Linux/macOS:
- Open the terminal
- Run:
npm install -g pnpm
-
Clone the repository:
git clone https://github.com/bryaneduarr/turbostack.git cd turbostack
-
Install dependencies:
pnpm install
-
Copy the example env file:
cp apps/server/.env.example apps/server/.env
pnpm run dev
Runs clean, install, format, lint, type-check, build, and dev:
pnpm run setup
Package manager used for this template is PNPM.
Tailwind CSS v.4 is in the latest version v4
. You can find all the configuration in here.
The file globals.css is based on the file from this external file.
All scripts are run from the project root using PNPM and Turborepo. These commands work across all apps and packages:
-
pnpm install: Install all dependencies for the monorepo.
pnpm install
-
pnpm run build: Build all apps and packages (Next.js client, Hono.js server, shared packages).
pnpm run build
-
pnpm run clean: Remove build files and node_modules for a fresh start.
pnpm run clean
-
pnpm run check-types: Type-check all TypeScript codebases.
pnpm run check-types
-
pnpm run dev: Start development servers for all apps (Next.js client, Hono.js server) with hot reloading.
pnpm run dev
-
pnpm run format: Format all code using Prettier, following project rules that are specified in here.
pnpm run format
-
pnpm run lint: Lint all code using ESLint, following project rules that are specified in here.
pnpm run lint
-
pnpm run update: Update all dependencies to their latest versions USE IT WITH CAUTION FOR DEPENDENCY CONFLICTS.
pnpm run update
-
pnpm run setup: Clean, install, format, lint, type-check, build, and start dev servers (recommended for first-time setup).
pnpm run setup
-
pnpm run setup:update: Like
setup
, but also updates all dependencies before running setup tasks.pnpm run setup:update
-
pnpm run start: Start all apps in production mode (after build).
pnpm run start