HomeBrowse components

Documentation

Better Components are distributed as a shadcn registry. There is no package to depend on — the CLI copies a component's source straight into your project, so you own and can edit every line.

Installation

1

Start from a shadcn-ready project

You need a React app (Next.js, Vite, …) with Tailwind CSS v4 and shadcn initialised. If you haven't already:

npx shadcn@latest init
2

Add a component

Point the CLI straight at the component's URL — no config needed. This is the command shown on every component page:

npx shadcn@latest add https://better-components-alpha.vercel.app/r/static-button.json

Prefer a short name? Register the @bettercomp namespace once in your components.json:

{
"registries": {
"@bettercomp": "https://better-components-alpha.vercel.app/r/{name}.json"
}
}

…then install by name:

npx shadcn@latest add @bettercomp/static-button

Either way the CLI writes the file to components/better/ and installs its npm dependencies (e.g. motion).

3

Use it

Import and drop it in — then tweak the props:

import { StaticButton } from "@/components/better/static-button"
export function Example() {
return <StaticButton variant="primary">Buy</StaticButton>
}

Each component page has a live Playground so you can dial in the props visually and copy the exact code.

Manual install (copy & paste)

Prefer not to use the CLI? Open any component, hover the dock in the bottom-right, and choose View code. The Manual tab is the full, syntax-highlighted source — paste it into components/better/<name>.tsx and install the dependencies listed on the page. The Auto tab is a ready-to-paste usage snippet.

Browse the library

19 components across UI, Typography, Stop Motion, Loaders, Carousel, Mouse, and the Animate editor.

Explore components