No description
| apps | ||
| packages | ||
| .gitignore | ||
| .npmrc | ||
| package-lock.json | ||
| package.json | ||
| README.md | ||
| turbo.json | ||
Turborepo kitchen sink starter
This Turborepo starter is scaffolded at 2025/06/19 using the kitchen-sink template which is maintained by the Turborepo core team. It is heavily modified as a starter template for new Turborepos e-commerce projects but could also be used as a general-purpose monorepo starter.
This example also shows how to use Workspace Configurations.
What's inside?
This Turborepo includes the following packages and apps:
Apps and Packages
express-template: an Express servernext-template: a Next.js appvite-template: a Vite single page appremix-template: a Remix app@repo/eslint-config: ESLint configurations used throughout the monorepo@repo/typescript-config: tsconfig.json's used throughout the monorepo@repo/jest-presets: Jest configurations@repo/logger: isomorphic logger (a small wrapper around console.log)@repo/ui: shared UI components for frontend use.- A dummy React UI library (which contains
<CounterButton>and<Link>components) - And shadcn/ui components (which contains
<Button>and<Card>components) - Building the UI will require exporting the components in the
package.jsonfile.- For
Viteapps,vite-tsconfig-pathspackage is required to ensure the UI components are properly built and available for use. - For
Next.jsapps, thenext.config.tsfile needs to havetranspilePackages: ["@repo/ui"]to ensure the UI components are properly built and available for use.
- For
- Although not required, adding
"paths": { "@repo/ui/*": ["../../packages/ui/src/*"] }in thetsconfig.jsonfile of each app can help with TypeScript path resolution during development.
- A dummy React UI library (which contains
Each package and app is 100% TypeScript.
Utilities
This Turborepo has some additional tools already setup for you:
- TypeScript for static type checking
- ESLint for code linting
- Jest test runner for all things JavaScript
- Prettier for code formatting
- shadcn/ui for UI components
- To use the CLI, run
npx shadcn@latest add <component-name>in the@repo/uipackage directory. - It can also be run at each app directory and the CLI will automatically add it to the shared
@repo/uipackage but each app will need its owncomponents.jsonfile.
- To use the CLI, run
- Tailwind CSS v4 for styling and to use shadcn/ui
- Each app needs its own tailwind.config.js file and postcss.config.js file but they all extend from the shared
@repo/ui/tailwind.config.jsand@repo/ui/postcss.config.jsfiles.
- Each app needs its own tailwind.config.js file and postcss.config.js file but they all extend from the shared