examples/with-tailwind/README.md
This Turborepo starter is maintained by the Turborepo core team.
Run the following command:
npx create-turbo@latest -e with-tailwind
This Turborepo includes the following packages/apps:
docs: a Next.js app with Tailwind CSSweb: another Next.js app with Tailwind CSSui: a stub React component library with Tailwind CSS shared by both web and docs applications@repo/tailwind-config: shared Tailwind CSS theme and PostCSS configuration@repo/eslint-config: eslint flat configurations (includes @next/eslint-plugin-next and eslint-config-prettier)@repo/typescript-config: tsconfig.jsons used throughout the monorepoEach package/app is 100% TypeScript.
This example is set up to produce compiled styles for ui components into the dist directory. The component .tsx files are consumed by the Next.js apps directly using transpilePackages in next.config.ts. This was chosen for several reasons:
packages/tailwind-config/shared-styles.css to apps and packages as easy as possible.tailwindcss.ui package uses a ui- prefix for its classes via @import "tailwindcss" prefix(ui); in packages/ui/src/styles.css.Another option is to consume packages/ui directly from source without building. Tailwind CSS v4 automatically detects class names in your source files, but it does not scan other packages in node_modules. If you use this option, add @source directives to the CSS entry point in your apps so Tailwind can find the class names used in the ui package:
@import "tailwindcss";
@import "@repo/tailwind-config";
@source "../../../packages/ui/src";
If you choose this strategy, you can remove the tailwindcss dependency and the build:styles script from the ui package.
This Turborepo has some additional tools already setup for you: