Skip to content

Registry

Own the code without forking the design system

The registry turns package source into copyable component files, preserving dependencies and local aliases for every app.

Flow

Generate

The registry is generated from real @cooud-ui/ui component sources, keeping docs, packages, and copy-paste output aligned.

Resolve

When you add a component, registry dependencies are expanded so required primitives come with it.

Rewrite

Imports are rewritten to your configured aliases, such as @/components/ui and @/lib/cn.

Diff

The diff command exposes local drift before teams upgrade copied components.

Local registry

Use a local registry path when developing or testing component changes before publishing.

bash
bun run -F cooud-ui registry
pnpm dlx cooud-ui@latest list --registry ./registry
pnpm dlx cooud-ui@latest add button card --registry ./registry

Registry item shape

Each item records files, npm dependencies, and other registry items required by the component.

json
{
"name": "button",
"type": "registry:ui",
"files": ["components/ui/button.tsx"],
"dependencies": ["@radix-ui/react-slot", "class-variance-authority"],
"registryDependencies": []
}

The CLI reads cooud-ui.json before writing files, so copied components follow the receiving app's folder structure.