Component Registry
GET /api/v1/ui
Returns the full registry index with metadata for all 70+ components. Does not include source code — use the individual component endpoint for that.
Response Shape
{
"$schema": "https://ui.shadcn.com/schema/registry.json",
"name": "mukoko",
"homepage": "https://registry.mukoko.com",
"items": [
{
"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" }]
}
]
}Example
curl https://registry.mukoko.com/api/v1/uiGET /api/v1/ui/{name}
Returns a single component with inline source code in each file’s content field.
Parameters
| Parameter | Type | Description |
|---|---|---|
name | string | Component name in kebab-case. Pattern: ^[a-z][a-z0-9-]*$ |
Response Shape
{
"$schema": "https://ui.shadcn.com/schema/registry-item.json",
"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": "import * as React from \"react\";\n..."
}
]
}Error Responses
| Status | Condition |
|---|---|
400 | Invalid name pattern (must match ^[a-z][a-z0-9-]*$) |
404 | Component not found in registry |
Example
curl https://registry.mukoko.com/api/v1/ui/buttonshadcn CLI Integration
Components can be installed directly into any project using the shadcn CLI:
npx shadcn@latest add https://registry.mukoko.com/api/v1/ui/buttonLast updated on