- Split globals.css into globals.css + theme.css so Storybook can
import design tokens without the @import "tailwindcss" directive
that breaks Vite's preview module loading
- Prepend @tailwindcss/vite plugin for correct processing order
- Add @source to scan core-ui components for utility class generation
Storybook's `stories` glob was emptied when core-ui became an optional
scaffoldable package. With core-ui present in the repo, wire the glob
back so its six stories are discovered — the manual post-scaffold step
the `gen core-package ui` generator already documents.
Removal across all three consumers:
- apps/storybook: strips @repo/core-ui dep, clears stories glob (now []),
removes globals.css import from preview.ts
- apps/web-next: strips @repo/core-ui dep + transpilePackages entry
- apps/web-tanstack: strips @repo/core-ui dep
- packages/core-ui: deleted entirely (28 files)
No app pages needed surgery — neither web-next nor web-tanstack source
files imported @repo/core-ui directly. The storybook app referenced it
only via the stories glob and the globals.css preview import.
Gates: 40/40 tasks successful, all 4 e2e byte-identical reconstructions
pass (realtime, events, trpc, ui).
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Re-tag core-trpc as core-composition (transitively reaches features
through core-api's AppRouter type) and allow core-composition packages
to depend on other core-composition packages in turbo.json
- Add @payloadcms/richtext-lexical as direct dep of apps/cms (was pulled
transitively via core-cms; Payload's importMap.js imports it directly)
- Add @storybook/react as devDep of core-ui and apps/storybook (stories
belong with components per Atomic Design)
- Update apps/storybook .storybook/{main,preview}.ts to point at
packages/core-ui (was still referencing deleted packages/ui) and export
CSS via package exports instead of direct file import
- Add JSDoc type annotation to Payload-generated importMap.js to suppress
TypeScript's TS2742 error from complex inferred types
- Add storybook-static to eslint ignores in core-eslint base config
pnpm turbo boundaries now reports zero violations.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>