- Accordion
- Alert
- Alert Dialog
- Aspect Ratio
- Avatar
- Badge
- Breadcrumb
- Button
- Calendar
- Card
- Carousel
- Chart
- Checkbox
- Collapsible
- Combobox
- Command
- Context Menu
- Data Table
- Date Picker
- Dialog
- Drawer
- Dropdown Menu
- React Hook Form
- Hover Card
- Input
- Input OTP
- Label
- Menubar
- Navigation Menu
- Pagination
- Popover
- Progress
- Radio Group
- Resizable
- Scroll-area
- Select
- Separator
- Sheet
- Sidebar
- Skeleton
- Slider
- Sonner
- Switch
- Table
- Tabs
- Textarea
- Toast
- Toggle
- Toggle Group
- Tooltip
- Typography
The open source registry index is a list of all the open source registries that are available to use out of the box.
When you run shadcn add
or shadcn search
, the CLI will automatically check the registry index for the registry you are looking for and add it to your components.json
file.
You can see the full list at https://ui.shadcn.com/r/registries.json.
Adding a Registry
You can submit a PR to add a registry to the index by adding it to the registries.json file.
Here's an example of how to add a registry to the index:
{
"@acme": "https://registry.acme.com/r/{name}.json",
"@example": "https://example.com/r/{name}"
}
Requirements
- The registry must be open source and publicly accessible.
- The registry must be a valid JSON file that conforms to the registry schema specification.
- The registry is expected to be a flat registry with no nested items i.e
/registry.json
and/component-name.json
files are expected to be in the root of the registry. - The
files
array, if present, must NOT include acontent
property.
Here's an example of a valid registry:
{
"$schema": "https://ui.shadcn.com/schema/registry.json",
"name": "acme",
"homepage": "https://acme.com",
"items": [
{
"name": "login-form",
"type": "registry:component",
"title": "Login Form",
"description": "A login form component.",
"files": [
{
"path": "registry/new-york/auth/login-form.tsx",
"type": "registry:component"
}
]
},
{
"name": "example-login-form",
"type": "registry:component",
"title": "Example Login Form",
"description": "An example showing how to use the login form component.",
"files": [
{
"path": "registry/new-york/examples/example-login-form.tsx",
"type": "registry:component"
}
]
}
}
]
}
Validation
At the root of the shadcn/ui
project, you can run the following command to validate the registries.json
file.
pnpm validate:registries
This will validate the registries.json file and output any errors.
Once you have submitted your PR, it will be validated and reviewed by the team.