Rare UI: a shadcn registry whose license asks for a visible credit
A collection of rare, ready-to-use UI components and animations you can actually drop into your next project. Free and open source.
At a glance
- What is it?
- Rare UI is a shadcn component registry built on Next.js, Tailwind and TypeScript, installed one component at a time with the shadcn CLI. Its components are copyable and restylable, but the LICENSE section adds a Commons Clause, a mandatory visible credit and a ban on porting them to another framework.
- Who is it for?
- Rare UI suits a team that already runs the shadcn CLI and is willing to keep a credit line in its product. Before copying anything, read the license rather than the pitch: restyling and modifying are fine, porting a component to another framework or bundling the components themselves is not, and the name, logo and site design stay unlicensed.
- Can I use it commercially?
- Check first. The repository uses a licence we do not classify automatically, so read its LICENSE file before any commercial use.
- Is it still maintained?
- Yes. The repository last received commits 5 days ago.
- What is it written in?
- Mainly TypeScript, according to GitHub's language statistics.
Answers come from the project's GitHub data, last synced on October 4, 2026, and from our analysis. They are not legal advice.
Editorial analysis
One component per install command, straight into components/ui
Rare UI is a shadcn registry: a list of components that the shadcn CLI copies into your project instead of a package you depend on. Nothing lands at once, so each install names one component:
npx shadcn@latest add swamimalode07/rare-ui/{component-name}The worked example in the README uses fluid-orb as the name:
npx shadcn@latest add swamimalode07/rare-ui/fluid-orbThe claim behind that model is ownership: no package to depend on, restyle anything. Every component is animated with Motion and honors `prefers-reduced-motion`, which is a per component promise rather than a global setting. The components live in `components/ui`, and the site at rareui.com/components shows each one with live previews and its props. Browsing happens on the site, installing happens in your repository, and the code arrives as source you keep.
The registry is generated output, so it can lag behind the components
Components and registry are separate artifacts here. Sources sit in `components/ui`, `registry.json` describes what can be installed, and the published file is produced by a build step. After changing a component or `registry.json`, the README says to rebuild the registry output with `npm run registry:build`, which the manifest defines as `shadcn build`. The production build runs `shadcn build && next build`, so the registry output is regenerated on every build, while a lone `npm run dev` does not do it. That split is the practical failure mode of this layout: editing a component locally changes the preview, but the registry that other people install from only changes when someone runs the build. Running the site locally follows the ordinary Next.js path:
git clone https://github.com/swamimalode07/rare-ui.git
cd rare-ui
npm install
npm run devA `components.json` at the root holds the shadcn configuration, so the registry and the site read the same component set.
The manifest is still called my-app and marked private
The package manifest at the root has `"name": "my-app"` and `"version": "0.1.0"` with `"private": true`, which is the untouched Next.js scaffold name rather than a published identity. Nothing is published from npm, and the repository has no GitHub releases, so there is no version history to read and no changelog to compare against. The dependency set is where the actual choices sit: Next 16.2.9 and React 19.2.4, Tailwind CSS 4 through the PostCSS plugin, TypeScript 5, shadcn 4.11.0 as a dev dependency, motion 12.40.0 for the animations, lucide-react, next-themes, class-variance-authority, clsx and tailwind-merge for styling, plus @radix-ui/react-slot. The visual leaning shows up in the rest: figma-squircle and @squircle-js/react, flubber with its own type package, vaul for drawers, prism-react-renderer for code, react-apple-emojis and react-use-measure for layout. Build tooling is thin and modern: eslint 9 with a flat config, prettier 3.8.4, a root `proxy.ts` next to `next.config.ts`.
MIT with the Commons Clause and a credit that has to stay visible
The license section is the part that needs reading twice. It grants broad use: use, modify and ship the components in anything you build, personal or commercial, closed source included. On top of that sits the Commons Clause and an attribution requirement. Any project shipping a Rare UI component must credit Rare UI with a visible link to rareui.com, placed in a footer, an about page, a credits screen or a README, and must keep the credit and copyright notice in the source it copied. Three things are ruled out: selling, sublicensing or redistributing the components themselves, whether alone, in a bundle, or after porting them to another framework. The name Rare UI, the logo and the site design are outside the license entirely. GitHub's license field for this repository reads NOASSERTION, so what governs is the wording in the LICENSE file and this section rather than a label a package manager would recognise. Treat the credit clause as a shipping requirement, not a courtesy.
You may restyle a component and you may not port one
The two halves of the license pull in opposite directions and the tension is worth stating plainly. The pitch says you own the code and can restyle anything, which is accurate in the shadcn sense: the component lands in your repository as source, so editing it is ordinary work with no upstream to negotiate with. The restrictions apply to the component as an artifact. Modifying is permitted, redistributing it is not, and neither is porting it to another framework, so a team that wants the same visual in a Vue or Svelte codebase cannot get there through this license. Bundling is ruled out as well, which is why the components arrive one at a time and why a shared internal library of Rare UI pieces is a different legal question from copying one into an application. The distinction that survives both halves: how a component ends up inside your product is allowed, and what you do with the component afterwards as a standalone piece is not.
Two diamond sponsors, and an analytics SDK in the dependency list
Funding is arranged as a sponsor table with two diamond entries, runable.com and privatealps.net, and one analytics entry, databuddy.cc, each reached through a link carrying utm_source, utm_medium and utm_campaign parameters set to rareui and referral. The tiers are named in the captions as Diamond Sponsor twice and Analytics Sponsor once, and the note above them says the products back the project through their open source programs. The analytics sponsor is closer than a badge: `@databuddy/sdk` at `^2.4.20` sits in `dependencies`, alongside three variables in `.env.example`. One is `NEXT_PUBLIC_DATABUDDY_CLIENT_ID`, commented as safe to expose and used by the analytics script. The other two are server only: `DATABUDDY_API_KEY` with the read:data scope, which powers the pageview, and `DATABUDDY_TRACK_API_KEY` with the track:events scope, whose own comment says it records CLI installs. That last line is the one to notice, since an install command is a public event.
AGENTS.md, CLAUDE.md and CONVENTIONS.md ship with the registry
The repository is written with coding agents in mind, and says so in its file list: `AGENTS.md`, `CLAUDE.md` and `CONVENTIONS.md` sit at the root next to `CONTRIBUTING.md`, which the README points to for the full walkthrough from creating a component to producing a working install command. That last clause is the useful part for anyone contributing, because the unit of work is a component plus the command that installs it, and the registry is the contract between them. The rest of the root is a working Next.js application: `app/`, `components/`, `lib/`, `public/`, `registry.json`, `components.json`, `tsconfig.json`, `next.config.ts`, `postcss.config.mjs`, `eslint.config.mjs`, `.prettierrc` and `.prettierignore`. The public site is the shop window for the same set, with previews and props per component, and the sponsor table says plainly that sponsorship is what keeps the project free.
Editorial conclusion
Rare UI suits a team that already runs the shadcn CLI and is willing to keep a credit line in its product. Before copying anything, read the license rather than the pitch: restyling and modifying are fine, porting a component to another framework or bundling the components themselves is not, and the name, logo and site design stay unlicensed. Two smaller checks matter too. The registry is generated output, so confirm that registry.json is current before trusting what the site offers. And since the analytics sponsor's SDK is an ordinary dependency with its own API keys, check what your build is entitled to send before you adopt a component that pulls the same tree in.
Frequently asked questions
How do I install a component from Rare UI?
With the shadcn CLI, naming one component at a time: `npx shadcn@latest add swamimalode07/rare-ui/{component-name}`. The README's own example is `npx shadcn@latest add swamimalode07/rare-ui/fluid-orb`. Nothing is installed as a package, and the code lands in your project.
Can I use Rare UI components in a commercial or closed source product?
Yes, within the terms of its license. It is MIT with the Commons Clause and an attribution requirement: use, modify and ship are allowed in anything you build, personal or commercial, closed source included, but you may not sell, sublicense or redistribute the components themselves, alone, in a bundle, or ported to another framework.
What credit does Rare UI require?
Any project shipping a Rare UI component must credit Rare UI with a visible link to rareui.com in a footer, an about page, a credits screen or a README, and must keep the credit and copyright notice in the source it copied. The name, logo and site design are not covered by the license.
Do Rare UI components respect reduced motion settings?
Every component is animated with Motion and honors `prefers-reduced-motion`, so the animation respects the operating system level preference. The registry itself is built with Next.js, Tailwind CSS and TypeScript.
How is Rare UI funded?
Through sponsorship, with two diamond sponsors and an analytics sponsor, reached through links carrying referral parameters. `@databuddy/sdk` is listed as a runtime dependency, and `.env.example` defines a public client id plus two server only API keys, one of which is commented as recording CLI installs.
Official sources
Add this badge to your README
If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.
[](https://hysenlabs.com/projects/swamimalode07-rare-ui)