Register 8-bit components in registry.json for shadcn/ui add command. Apply when adding new components to the component library distribution.
Register 8-bit components in registry.json for discovery via shadcn add @8bitcn/[component-name].
{
"name": "button",
"type": "registry:component",
"title": "8-bit Button",
"description": "A simple 8-bit button component",
"registryDependencies": ["button"],
"files": [
{
"path": "components/ui/8bit/button.tsx",
"type": "registry:component",
"target": "components/ui/8bit/button.tsx"
},
{
"path": "components/ui/8bit/styles/retro.css",
"type": "registry:component",
"target": "components/ui/8bit/styles/retro.css"
}
]
}
For pre-built layouts like game UIs:
{
"name": "quest-log",
"type": "registry:block",
"title": "8-bit Quest Log",
"description": "An 8-bit quest and mission tracking system.",
"registryDependencies": ["card", "accordion"],
"categories": ["gaming"],
"files": [
{
"path": "components/ui/8bit/quest-log.tsx",
"type": "registry:block",
"target": "components/ui/8bit/quest-log.tsx"
},
{
"path": "components/ui/8bit/styles/retro.css",
"type": "registry:component",
"target": "components/ui/8bit/styles/retro.css"
}
]
}
Always include retro.css in files array:
"files": [
{
"path": "components/ui/8bit/new-component.tsx",
"type": "registry:component",
"target": "components/ui/8bit/new-component.tsx"
},
{
"path": "components/ui/8bit/styles/retro.css",
"type": "registry:component",
"target": "components/ui/8bit/styles/retro.css"
}
]
Use gaming-specific categories for game components:
"categories": ["gaming"]
Available categories: gaming, layout, form, data-display, feedback, navigation, overlay.
List base shadcn dependencies (not 8-bit versions):
"registryDependencies": ["button", "dialog", "progress"]
For blocks with multiple components:
"registryDependencies": ["card", "button", "progress", "tabs"]
registry:component - Single reusable component:
{
"type": "registry:component",
"files": [...]
}
registry:block - Pre-built layout or feature:
{
"type": "registry:block",
"categories": ["gaming"],
"files": [...]
}
{
"name": "health-bar",
"type": "registry:component",
"title": "8-bit Health Bar",
"description": "An 8-bit health bar component for game UI.",
"registryDependencies": ["progress"],
"files": [
{
"path": "components/ui/8bit/health-bar.tsx",
"type": "registry:component",
"target": "components/ui/8bit/health-bar.tsx"
},
{
"path": "components/ui/8bit/progress.tsx",
"type": "registry:component",
"target": "components/ui/8bit/progress.tsx"
},
{
"path": "components/ui/8bit/styles/retro.css",
"type": "registry:component",
"target": "components/ui/8bit/styles/retro.css"
}
]
}
registry:component for single, registry:block for layoutsgaming for retro-themed blockscomponents/ui/8bit/component.tsxcontent/docs/components/component.mdxregistry.json:
pnpm dlx shadcn@latest add @8bitcn/componentregistry.json - Full component registrycontent/docs/components/*.mdx - Component documentation