CLI
The Mukoko Registry is fully compatible with the shadcn CLI. You can install any of the 94 registry items directly into your project with a single command.
Installing components
The base command format:
npx shadcn@latest add https://registry.mukoko.com/api/v1/ui/<component-name>Examples
# Install a single component
npx shadcn@latest add https://registry.mukoko.com/api/v1/ui/button
# Install multiple components
npx shadcn@latest add https://registry.mukoko.com/api/v1/ui/card \
https://registry.mukoko.com/api/v1/ui/badge \
https://registry.mukoko.com/api/v1/ui/input
# Install a hook
npx shadcn@latest add https://registry.mukoko.com/api/v1/ui/use-toast
# Install a library utility
npx shadcn@latest add https://registry.mukoko.com/api/v1/ui/utilsWhat happens when you install
The CLI performs these steps:
- Fetches the component JSON from the registry API
- Resolves dependencies — installs any npm packages the component needs (e.g.,
radix-ui,class-variance-authority) - Resolves registry dependencies — if the component depends on other registry components (e.g.,
dialogdepends onbutton), those are installed too - Writes files — creates the component file in your
components/ui/directory
The component is now a local file in your project. You own it and can modify it freely.
Updating components
To update a component to the latest registry version, run the same install command:
npx shadcn@latest add https://registry.mukoko.com/api/v1/ui/buttonThe CLI will overwrite the existing file. If you have made local modifications, they will be lost. Consider using version control to track changes before updating.
Registry URL format
The registry API follows this URL pattern:
| URL | Returns |
|---|---|
/api/v1/ui | Registry index — all components with metadata |
/api/v1/ui/{name} | Individual component JSON with inline source code |
The component JSON includes:
{
"name": "button",
"type": "registry:ui",
"description": "Displays a button or a component that looks like a button.",
"dependencies": ["radix-ui", "class-variance-authority"],
"registryDependencies": [""],
"files": [
{
"path": "components/ui/button.tsx",
"type": "registry:ui",
"content": "// ... full source code ..."
}
]
}Configuration
The CLI reads components.json in your project root for configuration:
{
"$schema": "https://ui.shadcn.com/schema.json",
"style": "new-york",
"rsc": true,
"tsx": true,
"tailwind": {
"config": "",
"css": "app/globals.css",
"baseColor": "neutral",
"cssVariables": true
},
"iconLibrary": "lucide",
"aliases": {
"components": "@/components",
"utils": "@/lib/utils",
"ui": "@/components/ui",
"lib": "@/lib",
"hooks": "@/hooks"
}
}Key settings:
style: "new-york"— the Mukoko registry uses the New York style variantrsc: true— components are React Server Components by defaulticonLibrary: "lucide"— Lucide React for all iconsaliases— must match yourtsconfig.jsonpath aliases
Browsing available components
List all available components via the API:
curl https://registry.mukoko.com/api/v1/uiOr browse the Components page in this documentation.
Common issues
“Could not find a component.json file” — Run npx shadcn@latest init first to create the configuration file.
“Path alias not found” — Ensure your tsconfig.json has "@/*": ["./*"] in compilerOptions.paths.
Dependency conflicts — The registry uses specific Radix UI versions. If you have conflicting versions, update to match: radix-ui@1.4.3.