- Accordion
- Alert
- Alert Dialog
- Aspect Ratio
- Avatar
- Badge
- Breadcrumb
- Button
- Button Group
- Calendar
- Card
- Carousel
- Chart
- Checkbox
- Collapsible
- Combobox
- Command
- Context Menu
- Data Table
- Date Picker
- Dialog
- Direction
- Drawer
- Dropdown Menu
- Empty
- Field
- Hover Card
- Input
- Input Group
- Input OTP
- Item
- Kbd
- Label
- Menubar
- Native Select
- Navigation Menu
- Pagination
- Popover
- Progress
- Radio Group
- Resizable
- Scroll Area
- Select
- Separator
- Sheet
- Sidebar
- Skeleton
- Slider
- Sonner
- Spinner
- Switch
- Table
- Tabs
- Textarea
- Toast
- Toggle
- Toggle Group
- Tooltip
- Typography
June 2026 - GitHub Registries
Turn any public GitHub repository into a shadcn registry.
You can now turn any public GitHub repository into a registry.
Add a registry.json file at the root of the repository, define the items you
want to distribute, and users can install them directly from GitHub with the
shadcn CLI.
pnpm dlx shadcn@latest add <username>/<repo>/<item>
For example, to install the project-conventions item from the acme/toolkit repository:
pnpm dlx shadcn@latest add acme/toolkit/project-conventions
GitHub registries are source registries. You do not need to run shadcn build,
publish generated item JSON files or set up a registry server. The CLI reads the
root registry.json, resolves include entries, finds the requested item and
installs the files declared by that item.
Distribute anything#
Registry items are not limited to components. A GitHub registry can distribute components, hooks, utilities, design tokens, feature kits, project conventions, agent instructions, testing setup, CI workflows, release workflows, templates, codemods, migration kits and other project files.
For example, a repository can expose a project-conventions item that installs
shared docs, editor settings and agent instructions:
{
"$schema": "https://ui.shadcn.com/schema/registry.json",
"name": "acme-toolkit",
"homepage": "https://github.com/acme/toolkit",
"items": [
{
"name": "project-conventions",
"type": "registry:item",
"files": [
{
"path": "AGENTS.md",
"type": "registry:file",
"target": "~/AGENTS.md"
},
{
"path": ".editorconfig",
"type": "registry:file",
"target": "~/.editorconfig"
},
{
"path": "docs/conventions.md",
"type": "registry:file",
"target": "~/docs/conventions.md"
}
]
}
]
}Commands#
GitHub registry addresses work with the same commands as other registry addresses.
List items from a GitHub registry:
pnpm dlx shadcn@latest list acme/toolkit
Search items:
pnpm dlx shadcn@latest search acme/toolkit --query conventions
View an item:
pnpm dlx shadcn@latest view acme/toolkit/project-conventions
Install an item:
pnpm dlx shadcn@latest add acme/toolkit/project-conventions
See the GitHub Registries docs for the full guide.