docs/solutions/best-practices/2026-05-23-shadcn-docs-restart-comparison.md
Plate's apps/www started as a shadcn docs fork, but upstream shadcn and Plate both moved in different directions. A restart from latest shadcn docs needs a written keep/throw comparison first, or the migration will preserve old fork residue and miss the few custom pieces that are actually valuable.
../ui/apps/v4 use Fumadocs, shadcn v4 registry scripts, and a much larger current app surface.apps/www use Fumadocs for source loading, but still carry custom registry docs generation, Plate API MDX components, editor demos, CN routes, and product-specific homepage preview behavior.ProjectAddButton, useProject, ThemeComponent, useLiftMode, and customizer-only radius config can survive unless active-source searches target the discarded surface names.Write a comprehensive comparison before implementation:
docs/plans/2026-05-23-shadcn-docs-restart-comparison.md../ui/apps/v4apps/wwwThe decision from that comparison:
ProjectAddButton, useProject, ThemeComponent, ThemeWrapper, useLiftMode, and customizer-only event/config variants while keeping the package-manager install config used by code blocks.The comparison separates product value from fork residue. That lets the restart use upstream as the base while reapplying Plate-specific behavior only where Plate has a real docs or registry requirement.
It also preserves known local traps before implementation starts: workspace package source aliases, registry server/client boundaries, registry metadata for generated consumers, generated MDX marker syntax, and DnD prerender behavior.
docs/plans/2026-05-23-shadcn-docs-restart-comparison.mddocs/solutions/developer-experience/2026-03-12-typescript-workspace-subpath-aliases-in-apps-www.mddocs/solutions/developer-experience/2026-04-06-next-turbopack-needs-client-boundaries-at-react-package-entrypoints.mddocs/solutions/developer-experience/2026-04-06-registry-helper-refactors-must-update-template-registry-dependencies.mddocs/solutions/developer-experience/2026-04-27-mdx-generated-markers-must-use-jsx-comments.mddocs/solutions/developer-experience/2026-03-28-next-prerendered-client-editors-need-dnd-hooks-to-noop-on-the-server.md