docs/sync/shadcn/runs/2026-05-29-4a4dc8e-to-360e8a1-home-page/plan.md
shadcn-ui/ui../shadcn/apps/v44a4dc8eb0fc793d8e9225e780183ad605f15d2c2360e8a19c3ee13ac78b656027462007c8bdaa6d5 (2026-05-27, fix(transform-rtl): preserve quotes in transformed className literals (#10495))home pageapps/wwwdocs/sync/shadcn/status.jsonRecommendation: keep Plate's home page as the product surface. Do not import upstream's new shadcn card mosaic, Build Your Own CTA, or /create?preset=... funnel. The only worthwhile upstream idea is layout polish around the hero/preview area: tighter header bottom spacing and a wider, less padded preview container if it makes Plate's editor preview feel more like the current shadcn page.
This scoped plan cannot advance lastSyncedCommit; it accounts only for the home-page rows in the already planned 4a4dc8e..360e8a1 range.
Screenshots are saved under screenshots/:
shadcn-home-desktop-before.pngshadcn-home-mobile-before.pngplate-home-desktop-before.pngplate-home-mobile-before.pngplate-home-desktop-after.pngplate-home-mobile-after.pngplate-cn-home-desktop-after.pngplate-cn-home-mobile-after.pngplate-home-gray-to-bottom-desktop-top.pngplate-home-gray-to-bottom-desktop-bottom.pngplate-home-gray-to-bottom-mobile-top.pngplate-home-gray-to-bottom-mobile-bottom.pngplate-cn-home-gray-to-bottom-desktop-top.pngplate-cn-home-gray-to-bottom-desktop-bottom.pngplate-cn-home-gray-to-bottom-mobile-top.pngplate-cn-home-gray-to-bottom-mobile-bottom.pngplate-home-no-github-cta-desktop.pngplate-home-no-github-cta-mobile.pngplate-cn-home-no-github-cta-desktop.pngplate-cn-home-no-github-cta-mobile.pngplate-home-fullbleed-muted-desktop.pngplate-home-fullbleed-muted-mobile.pngplate-cn-home-fullbleed-muted-desktop.pngplate-cn-home-fullbleed-muted-mobile.pngVisible deltas from the screenshot comparison:
max-w-screen-2xl container; at a 2048px viewport this computes to 1536px with equal side margins while the muted lower field remains full bleed.Full table: inventory.md
| Decision | Count | Notes |
|---|---|---|
smart-merge | 1 | Root page layout/composition hunk only. |
exclude-upstream | 34 | New upstream cards/demo product surface. |
no-op | 21 | Upstream deletes old demo components Plate does not own. |
| out-of-scope | 683 | Default full sync lane remains pending. |
34 upstream files were added under apps/v4/app/(app)/(root)/cards/**. They are shadcn homepage card demos. Decision: exclude-upstream.
apps/v4/app/(app)/(root)/page.tsx: smart-merge. Keep Plate copy, CTAs, Playground preview, CN home page, and Potion/Pro path. Consider only spacing/container ideas from upstream.21 upstream files were deleted under apps/v4/app/(app)/(root)/components/**. Plate does not contain those files. Decision: no-op.
| Order | Slice | Class | Files | Why | Verification |
|---|---|---|---|---|---|
| 1 | Home layout polish only | smart-merge | apps/www/src/app/(app)/page.tsx, apps/www/src/app/cn/page.tsx, apps/www/src/app/(app)/_components/announcement-button.tsx, maybe apps/www/src/components/page-header.tsx if the local primitive needs a scoped class hook | Best take: keep Plate's editor/product content; borrow only the useful spacing, preview-container, muted badge, and gradient treatment from upstream. | Screenshot comparison, browser proof on / and /cn, plus pnpm --filter www typecheck. |
| 2 | Home theme/create residue audit | delete-plate-residue | apps/www/src/app/(app)/_components/potion-lazy-block.tsx, apps/www/src/components/playground-preview.tsx, apps/www/src/app/globals.css | Remove dead homepage wording/state that still says themes/customizer if it is not used by retained preview code. Do not touch shared preview theme wrappers that are still required. | `rg -n "Themes |
| 3 | Upstream cards/create exclusion | exclude-upstream | apps/v4/app/(app)/(root)/cards/**, apps/v4/app/(app)/(root)/page.tsx CTA hunk | The card mosaic is shadcn product marketing tied to /create; Plate should not ship it. | Source audit only; no Plate patch unless accidental imports are found. |
CardsDemo or any apps/v4/app/(app)/(root)/cards/** files.Build Your Own CTA or /create?preset=b27GcrRo link.apps/www/src/app/(app)/page.tsx.apps/www/src/app/cn/page.tsx.apps/www/src/components/playground-preview.tsx.Take from upstream only if implementation confirms it improves the current page:
max-w-screen-2xl container for the retained editor preview contentKeep Plate-owned:
None. This follows existing policy: keep Plate homepage and exclude upstream create/theme surfaces.
This scoped plan must not advance lastSyncedCommit. It may become a partialSyncs entry after you accept and implement a home-page slice. The default full sync lane remains pending for 683 out-of-scope rows.
upstream-name-status.tsvupstream-numstat.tsvupstream-commits.txthome-scope-name-status.tsvhome-scope-numstat.tsv.patch
artifacts are intentionally not committed.inventory.md