Introduction
What Forme is, what a component looks like once you own it, and the difference between the free catalog and Forme Pro.
Forme is a React component library you copy instead of install. There is no @forme/ui package in your node_modules and nothing Forme ships runs in your app at runtime. Each component is a file you own, on your disk, in your repository, editable like any other code.
Three things are always true#
The source is yours. npx shadcn@latest add @forme/button writes button.tsx into your project. It is yours to rename, wrap, fork or delete. Nothing Forme ships is minified or obfuscated.
There is no runtime dependency. Your package.json gains npm packages, not Forme packages. If you delete a component, nothing breaks at runtime, because there is no Forme module graph to break.
No version to wait for. You want a different loading state, a different size, a different opinion about focus? You edit the file. Nobody has to merge a pull request.
Why it is shaped this way#
A component that needs a provider, a context or a configuration object to explain itself is a component nobody will ever really own. Forme chooses the version you can still understand in a year: no provider, no theme object, no registration step. Colour comes from CSS variables, behaviour comes from a Radix primitive where the behaviour is genuinely hard, and everything else is plain React you can read.
Free and Pro#
| Free | Pro | |
|---|---|---|
| Catalog | Components and their demos | Components, plus whole blocks and templates |
| Install | npx shadcn@latest add @forme/<name> | npx forme add <name> |
| Price | Free | One-off or monthly, see Pricing |
| Source | Yours after install | Yours after install |
Nothing on the free tier is a preview of a paid upgrade. The free components are the ones most projects need first, and they are the ones this site runs live so you can click them.