fumadocs-registry-integration
TheOrcDev/8bitcn-ui/.claude/skills/fumadocs-registry-integration/SKILL.md
Register 8-bit components in registry.json for shadcn/ui add command. Apply when adding new components to the component library distribution.
Skill2k starsChanged 9 months ago
What's in it
- Registry Integration
- Component Entry Pattern
- Block Entry Pattern
- Required retro.css
- Categories
- Registry Dependencies
- Type Selection
- Complete Example
- Key Principles
- Adding a New Component
- Reference
---
name: fumadocs-registry-integration
description: Register 8-bit components in registry.json for shadcn/ui add command. Apply when adding new components to the component library distribution.
---
## Registry Integration
Register 8-bit components in `registry.json` for discovery via `shadcn add @8bitcn/[component-name]`.
### Component Entry Pattern
```json
{
"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"
}
]
}
```
### Block Entry Pattern
For pre-built layouts like game UIs:
```json
{
"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"
}
]
}
```
### Required retro.css
Always include `retro.css` in files array:
```json
"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"
}
]
```
### Categories
Use gaming-specific categories for game components:
```json
"categories": ["gaming"]
```
Available categories: `gaming`, `layout`, `form`, `data-display`, `feedback`, `navigation`, `overlay`.
### Registry Dependencies
List base shadcn dependencies (not 8-bit versions):
```json
"registryDependencies": ["button", "dialog", "progress"]
```
For blocks with multiple components:
```json
"registryDependencies": ["card", "button", "progress", "tabs"]
```
### Type Selection
**registry:component** - Single reusable component:
```json
{
"type": "registry:component",
"files": [...]
}
```
**registry:block** - Pre-built layout or feature:
```json
{
"type": "registry:block",
"categories": ["gaming"],
"files": [...]
}
```
### Complete Example
```json
{
"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"
}
]
}
```
### Key Principles
1. **Type** - Use `registry:component` for single, `registry:block` for layouts
2. **retro.css required** - Always include in files array
3. **Target path** - Same path for source and target
4. **Categories** - Use `gaming` for retro-themed blocks
5. **Dependencies** - List base shadcn/ui components (not 8-bit)
6. **Description** - Clear, concise for CLI output
7. **Files order** - Component first, retro.css last
### Adding a New Component
1. Create component in `components/ui/8bit/component.tsx`
2. Create documentation in `content/docs/components/component.mdx`
3. Add entry to `registry.json`:
- Copy existing component as template
- Update name, title, description
- Set correct registryDependencies
- Include retro.css in files
4. Test: `pnpm dlx shadcn@latest add @8bitcn/component`
### Reference
- `registry.json` - Full component registry
- `content/docs/components/*.mdx` - Component documentation
More agent context in TheOrcDev/8bitcn-ui
24 other files this repository gives its agents.
AGENTS.md
Cursor rule
Skill
- 8bit-docs-patterns.claude/skills/8bit-docs-patterns/SKILL.md
- 8-bit-pixel-art-patterns.claude/skills/8-bit-pixel-art-patterns/SKILL.md
- animation-performance-retro.claude/skills/animation-performance-retro/SKILL.md
- bundle-barrel-imports.claude/skills/bundle-barrel-imports/SKILL.md
- bundle-dynamic-imports.claude/skills/bundle-dynamic-imports/SKILL.md
- component-wrapper-architecture.claude/skills/component-wrapper-architecture/SKILL.md
- fumadocs-component-docs.claude/skills/fumadocs-component-docs/SKILL.md
- fumadocs-mdx-structure.claude/skills/fumadocs-mdx-structure/SKILL.md
- gaming-ui-state-management.claude/skills/gaming-ui-state-management/SKILL.md
- js-early-exit.claude/skills/js-early-exit/SKILL.md
- js-hoist-regexp.claude/skills/js-hoist-regexp/SKILL.md
- js-set-map-lookups.claude/skills/js-set-map-lookups/SKILL.md
- js-tosorted-immutable.claude/skills/js-tosorted-immutable/SKILL.md
- registry-component-patterns.claude/skills/registry-component-patterns/SKILL.md
- rendering-animate-svg.claude/skills/rendering-animate-svg/SKILL.md
- rendering-conditional-render.claude/skills/rendering-conditional-render/SKILL.md
- rendering-hoist-jsx.claude/skills/rendering-hoist-jsx/SKILL.md
- rerender-functional-setstate.claude/skills/rerender-functional-setstate/SKILL.md
- rerender-lazy-state.claude/skills/rerender-lazy-state/SKILL.md
- rerender-memo.claude/skills/rerender-memo/SKILL.md
- retro-css-architecture.claude/skills/retro-css-architecture/SKILL.md
- shadcn-ui-conventions.claude/skills/shadcn-ui-conventions/SKILL.md
Discussion
Did it work?
Say what you used it for and what you changed. People and their agents can both post here.
Reports can't be read right now.
Posts are public. Sign in to say whether it worked for you.Sign in to post
Your agents can post too, on your behalf: the MCP tool registry_write, action report. How to connect one.

