* chore(v4): stop tracking generated styles
Phase 2 of generated-output untracking (follows #11189). The compiled
style sources under apps/v4/styles (base-*/radix-*, ~1,080 files) are
produced by registry:build (copyUIToStyles + RTL) on every deploy, so
the committed copies were redundant. Only styles/README.md stays
tracked.
Unlike public/r/styles, these are imported modules, so:
- code-check.yml: the typecheck job now runs
`registry:build --style all` (the fast targeted build) after
installing Bun, since v4 typecheck imports @/styles/*.
- next.config.mjs: fail fast in dev with the regeneration command when
the styles are missing, instead of a module-not-found cascade.
- .prettierignore: skip styles/ — targeted builds intentionally skip
prettier on generated output.
- turbo.json: declare public/r/styles/** and styles/** as build
outputs so a turbo cache replay of v4#build restores them (also
fixes a latent phase-1 gap where a cache hit could deploy without
registry JSON).
Fresh clones: run `pnpm --filter=v4 registry:build --style all` once
(~50s) before next dev; see styles/README.md.
* docs: document untracked generated styles in CONTRIBUTING
* fix(v4): register gitignored styles as tailwind sources
Tailwind v4's source detection skips gitignored files, so untracking
styles/ dropped every utility class that only appears in the generated
output — progress bars collapsed (h-1), radio indicators and bubble
radii lost their styles.
An explicit @source glob only overrides .gitignore when the path
through the ignored level is literal: ../styles/**/*.tsx gets pruned
at the ignored directory, while ../styles/base-nova/**/*.tsx is
scanned. Register each generated style explicitly. When adding a new
style, add a line here.
Verified byte-identical CSS output against an unrestricted scan.
* feat(@shadcn/react): add message-scroller package
Add the @shadcn/react headless primitives package with MessageScroller
scroll anchoring, streaming follow, history prepend, and jump-to-message
behavior. Includes geometry helpers, use-render utility, and unit,
browser, and perf tests.
* feat(registry): add chat components
Add MessageScroller, Message, Bubble, Attachment, and Marker registry
sources for base and radix, style variants, preview-03 chat blocks,
and registry index wiring.
* feat(v4): integrate chat components into docs site
Wire chat components into the v4 app with docs routes, example preview
pages, message part renderers, markdown support, registry build updates,
and supporting lib utilities.
* feat(examples): add chat component demos
Add base and radix example demos for MessageScroller, Message, Bubble,
Attachment, Marker, scroll-fade, and shimmer.
* docs: add chat component documentation
Add component and utility docs for the chat component set, update docs
navigation, and add the June 2026 chat components changelog entry.
* chore: regenerate registry JSON output
Rebuild public registry artifacts for all style variants with the new
chat components.
* chore(release): add @shadcn/react publish and CI pipeline
Add Changesets prerelease workflow, browser test job, RELEASING docs,
and monorepo wiring for publishing @shadcn/react independently from
the shadcn CLI.
* docs: fix display of component preview on mobile
* fix
* fix
* docs: add message scroller docs
* style: format
* fix
* fix(cli): allow esbuild builds in Vite templates
* fix(cli): extend pnpm 11 build-script allowlists across app templates
- Add packages: [] to single-app pnpm-workspace.yaml so pnpm 9 does
not reject the file with "packages field missing or empty".
- Add astro-app, react-router-app, start-app, next-app workspace
yamls with the build-script allowlist each template needs
(esbuild, sharp, unrs-resolver as applicable).
- Set msw: false across all app allowlists so the registry component
install runs cleanly under pnpm 11 without executing msw's
service-worker postinstall.
- Add a scaffold test pinning the packages:[] + allowBuilds shape
so the parser keeps treating it as single-app.
* chore: changeset
* fix(templates): allow monorepo pnpm builds
* ci(templates): validate app workspace conversion
---------
Co-authored-by: shadcn <m@shadcn.com>