If you haven't already, initialize shadcn in your project:
npx shadcn@latest initAdd the registry to your components.json so the CLI knows where to find Saturation UI components:
{
"registries": {
"@saturation": "https://ui.saturation.io/r/{name}.json"
}
}Install any component using the @saturation/ prefix:
npx shadcn@latest add @saturation/buttonThe CLI will automatically install the component, its npm dependencies, and any required peer components.
You can also install by direct URL (no registry config required):
npx shadcn@latest add https://ui.saturation.io/r/button.jsonTo bootstrap all CSS variables, fonts, and base config in one command:
npx shadcn@latest add @saturation/saturation-baseSaturation UI uses Inter (sans-serif) and Geist Mono (code). Install them as registry items:
npx shadcn@latest add @saturation/font-inter
npx shadcn@latest add @saturation/font-geist-monoUse --dry-run to see exactly what will be added to your project before any files are written:
npx shadcn@latest add @saturation/button --dry-runUse --diff to see what changed between your current version and the latest registry version:
npx shadcn@latest add @saturation/button --diffUse --view to see the raw component payload without installing:
npx shadcn@latest add @saturation/button --viewRun shadcn info to see your full project setup — framework, installed components, CSS vars:
npx shadcn@latest infoGet docs, API, and examples for any component right in your terminal:
npx shadcn@latest docs buttonIf you prefer to install components without the CLI:
components/ui/ directorylib/utils.ts exports the cn() functionSaturation UI components use the @/ path alias. Ensure your tsconfig.json has:
{
"compilerOptions": {
"paths": {
"@/*": ["./*"]
}
}
}