Shadcn/UI now defaults to Base UI instead of Radix
67 points
1 hour ago
| 6 comments
| ui.shadcn.com
| HN
kcrwfrd_
1 minute ago
[-]
Tangential but does anyone an have opinion on Base UI vs React Aria?
reply
chvid
26 minutes ago
[-]
For boring applications - do people prefer the copy paste approach of shadcn instead of a traditional ui library like mantine?

The copy paste approach may be easily modifiable but creates new problems - ie now there is an upgrade ai agent for something that should just be ticking up a version number.

reply
notpushkin
6 minutes ago
[-]
I’m leaning towards vendoring for all my new projects.

Grabbing an off-the-shelf UI library is easy in the short term, but it’s usually overcomplicated, implements things I won’t ever need, is hard to tweak if/when you want to distinguish your app from the thousand others using the same library, and when you do decide to upgrade it, all your tweaks break in subtle ways.

What I think would be the best approach is building your own UI library. You own it, you get to reuse it across different projects and maintain the same visual style (if desired), and you add features when you need them.

reply
Exoristos
10 minutes ago
[-]
Mantine is brilliant, I can build anything in it quickly and then extend it or completely customize the theme or individual components, but there is a learning curve. I would not call it a giant learning curve.
reply
sevenzero
3 minutes ago
[-]
I highly prefer a copy and paste approach. The less npm installs the better.
reply
IceDane
18 minutes ago
[-]
Martine just straight up sucks.

Vendoring your components gives you the best of both worlds. You get a full component library but retain the ability to modify them as you want.

Your AI agent claim doesn't make any sense either. When upgrading normally your component just gets rewritten on disk. When switching from radix to base ui, a more comprehensive approach is needed.

reply
gherkinnn
32 minutes ago
[-]
I have used and mostly like Shadcn, and yet their Radix-based radio button was a bit much, as are other choices, where similarly overblown solutions were used.

https://news.ycombinator.com/item?id=46688971

reply
dyllon
51 minutes ago
[-]
Moving away from codemods and towards LLMs doing migration work is an interesting development.

Even if they’re more deterministic, I wonder if the days of codemods are numbered.

reply
yard2010
15 minutes ago
[-]
How about leveraging llms to produce deterministic codemods? You can then iterate on this by running the codemods and using other deterministic guardrails, feeding the results back into the llm to improve the codemods?
reply
kristiandupont
44 minutes ago
[-]
I think the two complement each other perfectly and will continue to do so. I keep writing AGENTS.md files for soft rules and custom linter rules for hard ones which IMO is the best of both worlds.
reply
Topfi
58 minutes ago
[-]
That's great. Started using Base UI early on via 9ui [0] and found the primitives very pleasant to work with, especially if one wants to compose more complex components from other Base UI components. Maybe Shad can reduce some of the dependencies they rely on now.

[0] https://www.9ui.dev

reply
skeptrune
19 minutes ago
[-]
based
reply