Uqudo UIregistry

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:

components.json
{
  "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/dialog

Re-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

On this page