Skip to Content
DocsCLI

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/utils

What happens when you install

The CLI performs these steps:

  1. Fetches the component JSON from the registry API
  2. Resolves dependencies — installs any npm packages the component needs (e.g., radix-ui, class-variance-authority)
  3. Resolves registry dependencies — if the component depends on other registry components (e.g., dialog depends on button), those are installed too
  4. 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/button

The 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:

URLReturns
/api/v1/uiRegistry 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 variant
  • rsc: true — components are React Server Components by default
  • iconLibrary: "lucide" — Lucide React for all icons
  • aliases — must match your tsconfig.json path aliases

Browsing available components

List all available components via the API:

curl https://registry.mukoko.com/api/v1/ui

Or 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.

Last updated on