Modern Turborepo monorepo with shadcn/ui pre-configured.Clean architecture. Scalable structure. Full TypeScript support.
⚠️ This project uses pnpm as package manager.
- Next.js
- React 19
- TypeScript
- TailwindCSS v4
- Turborepo
- shadcn/ui
- ESLint
- Prettier
apps/ docs/ → Next.js application
packages/ ui/ → Shared UI components (shadcn + custom) share/ → Shared business logic hooks/ → Reusable React hooks utils/ → Utility functions (date, query, helpers) types/ → Shared TypeScript types constants/ → Global constants eslint-config/ → Shared ESLint config typescript-config/ → Shared tsconfig
All packages are 100% TypeScript.
git clone https://github.com/drcoder71/next-shadcn-monorepo.git
cd next-shadcn-monorepo pnpm install
Use built-in script:
pnpm ui add <component-name>
Works same as shadcn/ui CLI.
Create new app:
pnpm turbo gen workspace --name <app-name>
Copy existing app:
pnpm turbo gen workspace --name <app-name> --copy
After copying:
pnpm install
Run all apps:
pnpm dev
Build all apps:
pnpm build
- Clean folder structure
- Separation of concerns
- Shared reusable logic
- Type-safe modules
- Scalable monorepo design
Turborepo supports Remote Cache for faster builds.
By default → local cache only.
Enable remote cache:
npx turbo login
Link project:
npx turbo link
Now build cache is shared across team and CI/CD.
Turborepo Docs https://turbo.build/repo/docs
shadcn/ui Docs https://ui.shadcn.com/docs
Production-ready monorepo starter. Fast. Clean. Maintainable.