AgentSkillsCN

shadcn-registries

配置 shadcn/ui 注册表、components.json 和 CLI 命令。包括默认的 Radix 注册表、Base UI 注册表及自定义注册表。

SKILL.md
--- frontmatter
name: shadcn-registries
description: Configure shadcn/ui registries, components.json, and CLI commands. Covers default Radix registry, Base UI registry, and custom registries.
versions:
  shadcn-ui: "2.x"
  shadcn-cli: "latest"
user-invocable: true
allowed-tools: Read, Write, Edit, Bash, Glob, Grep, mcp__shadcn__search_items_in_registries, mcp__shadcn__view_items_in_registries, mcp__shadcn__get_add_command_for_items
references: references/registry-config.md, references/templates/registry-setup.md
related-skills: shadcn-components, shadcn-detection

shadcn Registries

Agent Workflow (MANDATORY)

Before registry configuration, use TeamCreate:

  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

code
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

bash
# 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)

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

components.json Structure

json
{
  "$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