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.
bun run -F cooud-ui registrypnpm dlx cooud-ui@latest list --registry ./registrypnpm 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.
{"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.