Access Control
Limit who can see sensitive or experimental components.
addRegistryItems
Resolves and installs registry items into an existing project.
AI-Ready #
Authentication
Secure your registry with authentication.
Backwards Compatibility
Static registries keep working without any changes.
Beautiful Defaults #
CLI Auto Check
shadcn add and shadcn search automatically check the registry index.
components.json Registration
Found registries are added to the components.json file.
Composition #
Decentralized Namespace System
No central authority required; create and use any namespace you want.
Distribute Any File
Registry items can include any files: source, config, docs, templates, workflows, rules or conventions.
Distribution #
Dynamic route handlers
Serve registry via dynamic route handlers.
Dynamic Search
Registry supports dynamic search for items.
Flat Registry Structure
No nested items; registry.json and component files at registry root.
getRegistriesConfig
Loads registry configuration from components.json or the registries field in package.json.
getRegistry
Fetches a single registry by name.
getRegistryItems
Fetches one or more registry items by their qualified names.
GitHub Registry
Turn a GitHub repository into a registry.
How do I pull upstream updates in an Open Code approach?
Include composition
Compose a root registry.json from multiple registry.json files via include.
Install from GitHub
Users install items with the shadcn CLI using owner/repo/item.
Licensing
Control who gets premium or licensed components.
MCP Server
MCP server for the registry.
Multiple Registries
CLI merges and paginates results from multiple registries locally.
Namespaces
Configure registries with namespaces.
Open Code #
Open in v0
Open a registry item in v0 via the v0.dev open endpoint.
Open Source Registry Index
List of open source registries available out of the box.
owner/repo/item Addresses
Public GitHub registries work without directory submission.
Pagination Object
Response includes a pagination object with total, offset, limit, and hasMore.
Private Components
Keep your business logic and internal components secure.
Private repositories
Private repositories work with GitHub credentials.
Query Parameter Authentication
Authenticate Open in v0 requests using a token query parameter.
Query Parameters
CLI sends q, type, limit, and offset query parameters with search requests.
registry:base
Custom base item or base from scratch.
registry:block
Custom block that can install components and override primitives.
Registry Dependencies
Use registryDependencies to indicate relationships between items.
Registry Directory
Directory listing of public registries monitored by Registry Health.
registry:font
Custom font item supporting monospace, serif, and custom selectors.
Registry Health
Monitors and scores public registries for availability, correctness, installability, and setup.
registry:hook
Custom hook item, optionally with dependencies.
registry-item.json
registry-item.json Schema
Schema specification for registry-item.json.
registry.json
registry.json Schema
Registry must be a valid JSON file conforming to the registry schema.
registry:lib
Utility library item.
registry:style
Custom style that extends shadcn/ui or is created from scratch.
registry:theme
Custom theme defined with CSS variables.
registry:ui
UI component item, optionally with CSS variables.
resolveRegistryItems
Resolves items with their registry dependencies merged into a single installable tree.
Static JSON files
Serve registry as static JSON files over HTTP.
Team-Specific Resources
Give different teams different components.
Overriding Third-Party Resources
Override third-party resources, including partial multi-file overrides.
URL Pattern System
Registry URLs use {name} (required) and {style} (optional) placeholders.
Usage Analytics
See who's using which components in your organization.