Init preset
One preset that writes components.json, installs the theme and registers the @uqudo namespace.
init-uqudo-ui is a shadcn preset (registry:base). It ships no
components. Instead it patches components.json with the settings every Uqudo
project shares and pulls in the theme and the
registry ignore helper as dependencies.
This is what it merges into components.json — existing keys such as aliases
and tailwind.css are kept:
{
"style": "radix-rhea",
"rsc": true,
"tsx": true,
"tailwind": {
"baseColor": "neutral",
"cssVariables": true,
"prefix": ""
},
"iconLibrary": "lucide",
"rtl": true,
"menuColor": "default",
"menuAccent": "subtle",
"registries": {
"@uqudo": "https://ui-components.dev.uqudo.io/r/{name}.json"
}
}Installation
Presets are applied with init or apply, not add. Both accept the full URL.
For a project that has no components.json yet:
npx shadcn@latest init --preset "https://ui-components.dev.uqudo.io/r/init-uqudo-ui.json?base=radix" --yes?base=radix is required. The CLI otherwise defaults the preset to Base UI,
and the installed components would not match the ones in this registry.
Usage
There is nothing to import. After the command, finish the two steps the CLI
cannot do for you — delete the old :root / .dark blocks from globals.css
and load Inter — as described in the
installation guide. Then install
components by name:
npx shadcn@latest add @uqudo/button @uqudo/dialogRe-running the preset is safe: unchanged files are skipped and the @import is
only added once. Pass --overwrite to add @uqudo/theme when you want the
latest tokens.
API reference
The keys the preset controls. Anything not listed is left as the CLI or your project set it.
Prop
Type