Docs
CLI & registry
Install the whole kit as a package, or copy single components into your project.
Package or copy
| npm package | Copy (registry) | |
|---|---|---|
| Install | pnpm add @vamos-cms/ui | One component at a time |
| Updates | Bump the version | Re-add, or diff with the vamos CLI (planned) |
| Customise | Props, tokens, className | Edit the source freely |
| Best for | Teams that want a maintained kit | Projects that need to diverge |
Registry Coming with v0.2
Every component and block is published as a registry item at https://ui.vamos.ist/r/<name>.json. The CLI reads it:
npx vamos-ui add buttonThe item brings its dependencies and the shared token stylesheet the first time.
Registry item format
Each item is a small JSON file: its files, npm dependencies, other items it needs, and the axes it supports.
{
"$schema": "https://ui.vamos.ist/schema/registry-item.json",
"name": "button",
"type": "registry:ui",
"dependencies": ["radix-ui", "class-variance-authority", "lucide-react"],
"registryDependencies": ["https://ui.vamos.ist/r/tokens.json"],
"files": [{ "path": "ui/button.tsx", "type": "registry:ui" }],
"meta": { "vamos": { "version": "0.1.0", "axes": ["theme", "material", "accent", "density", "font"] } }
}The vamos CLI Planned
A small CLI on top of the same registry:
npx vamos-ui init # pick axis presets, write globals.css and the layout boot script
npx vamos-ui add data-table # copy a component and its dependencies
npx vamos-ui diff button # show what changed upstream since you copied it
npx vamos-ui upgrade button # three-way merge upstream changes into your edited copyWhy diff matters
Copied components usually stop receiving fixes. vamos-ui diff and vamos-ui upgrade record the version you copied, so accessibility and bug fixes can still reach your edited code.