▲ 11 r/shadcn+4 crossposts

How are you handling shadcn/ui customization in production apps without it becoming unmaintainable?

I’m using shadcn/ui in a production app and adapting the base components to match our Figma design system. I’m a bit stuck on how people usually handle scaling this setup.

Issues I keep running into:

- some components depend on Button variants/sizes (ghost, sm, icon, etc), so changing/removing them breaks other components (Calendar, DatePicker, etc)

- if I keep everything, I end up with a bunch of unused variants/sizes that don’t actually match our design system

- I need to introduce our own variants, but naming overlaps are already happening (same names, different visual meaning)

- changing base styles via tokens only goes so far and eventually I need real overrides

- once files are customized, updates become unclear (not sure when people actually merge upstream changes vs just stop updating)

- also not sure when it’s better to modify the base shadcn components vs wrapping them

So it feels like I’m choosing between a few imperfect options: keep shadcn mostly as-is, fork it, or build a wrapper layer on top - but none of them feel obviously “correct” for a production app that will actually evolve.

How are people handling this in real, maintained codebases?

reddit.com
u/Ok-Willingness4768 — 15 hours ago