systems

Code ownership (shadcn model)

A component-distribution approach where source code is copied directly into your project at install time – it's your code from that second on – rather than installed as an external dependency.

Traditional component libraries live in node_modules – a folder you don’t touch. Want a change the library’s settings don’t allow? You wait for the maintainers or fight the styling system, because every customisation a user might want has to be pre-built into the library’s API. shadcn/ui’s move was to sidestep that negotiation entirely: a CLI command copies the actual component source into your project, and from then on there’s no boundary between “library code” and “your code”.

Two consequences made this the highest-momentum model for new React products in 2025–26. For humans: no customisation wishlist, because nothing is locked. For AI agents: the components are plain, visible source files an agent can read and correctly modify like any other project code – which is why tools like v0, Bolt and Cursor default to generating shadcn-shaped output. Worth holding precisely though: shadcn is a distribution model and a starting point, deliberately styled thin so you customise it into your system – the governance and coherence work that makes a design system still has to happen.