shadcn-registries

SkillAI & models

Use when configuring shadcn/ui registries, components.json, or CLI add/init commands.

Available today. Use it from your connected AI after setup.

Connect ahel once, and every AI you use reads what you have installed.

Then ask your AI: use the shadcn-registries skill

What this skill tells your AI

The instructions your AI receives, as published by fusengine/agents in plugins/shadcn-expert/skills/shadcn-registries/SKILL.md and read by ahel’s review.

Documents the components.json schema (style, Tailwind config paths, aliases) and enforces using the detected package manager's runner (bunx/npx/pnpm dlx/yarn dlx) plus the shadcn MCP for CLI commands, never a manual component copy.

shadcn Registries

Agent Workflow (MANDATORY)

Before registry configuration, spawn agents in parallel, one Agent call each with a name:

  1. fuse-ai-pilot:explore-codebase - Find existing components.json
  2. fuse-ai-pilot:research-expert - Verify latest CLI options via Context7

After: Run fuse-ai-pilot:sniper for validation.


Overview

RegistryPrimitivesStyle
@shadcn (default)Radix UInew-york, default
@basecnBase UIbase-vega
CustomAnyCustom

Critical Rules

  1. ALWAYS detect PM before any CLI command (use {runner})
  2. ALWAYS consult MCP before adding components
  3. NEVER mix registries in same project
  4. KEEP components.json in sync with actual primitive
  5. USE CLI for adding components, never manual copy

Architecture

project/
├── components.json         # shadcn/ui configuration
├── components/ui/          # Generated components
└── lib/utils.ts            # Utility functions (cn)

-> See registry-setup.md for complete setup


CLI Commands

ALWAYS use detected package manager (run shadcn-detection first). {runner} = bunx | npx | pnpm dlx | yarn dlx

# Initialize
{runner} shadcn@latest init
{runner} shadcn@latest init --style new-york

# Add components (default registry = Radix)
{runner} shadcn@latest add button dialog select

# Add from Base UI registry
{runner} shadcn@latest add --registry=basecn button dialog

MCP (MANDATORY)

mcp__shadcn__search_items_in_registries -> find component
mcp__shadcn__get_add_command_for_items  -> get exact CLI command

components.json Structure

{
  "$schema": "https://ui.shadcn.com/schema.json",
  "style": "new-york",
  "tailwind": { "config": "tailwind.config.ts", "css": "app/globals.css" },
  "aliases": { "components": "@/components", "utils": "@/lib/utils" }
}

-> See registry-config.md for full schema


Reference Guide

Concepts

TopicReferenceWhen to Consult
Registry Configregistry-config.mdSetting up components.json

Templates

TemplateWhen to Use
registry-setup.mdInitial project setup

Best Practices

DO

  • Use MCP to check registry before adding
  • Keep components.json in sync with actual primitive
  • Use CLI for adding, not manual copy

DON'T

  • Mix registries in same project
  • Edit component internals without checking registry source
  • Skip components.json configuration

Signals

GitHub stars
25
Forks
4
Last commit
Sep 2026
Advanced
Catalog kind
skill
Gateway key
shadcn-registries
Source
github.com/fusengine/agents