TheDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/shadcn-ui/ui/llms.txt
Use this file to discover all available pages before exploring further.
registry-item.json schema is used to define your custom registry items.
registry-item.json
Definitions
You can see the JSON Schema forregistry-item.json here.
$schema
The$schema property is used to specify the schema for the registry-item.json file.
registry-item.json
name
The name of the item. This is used to identify the item in the registry. It should be unique for your registry.registry-item.json
title
A human-readable title for your registry item. Keep it short and descriptive.registry-item.json
description
A description of your registry item. This can be longer and more detailed than thetitle.
registry-item.json
type
Thetype property is used to specify the type of your registry item. This is used to determine the type and target path of the item when resolved for a project.
registry-item.json
| Type | Description |
|---|---|
registry:block | Use for complex components with multiple files. |
registry:component | Use for simple components. |
registry:lib | Use for lib and utils. |
registry:hook | Use for hooks. |
registry:ui | Use for UI components and single-file primitives |
registry:page | Use for page or file-based routes. |
registry:file | Use for miscellaneous files. |
registry:style | Use for registry styles. eg. new-york |
registry:theme | Use for themes. |
registry:item | Use for universal registry items. |
author
Theauthor property is used to specify the author of the registry item.
It can be unique to the registry item or the same as the author of the registry.
registry-item.json
dependencies
Thedependencies property is used to specify the dependencies of your registry item. This is for npm packages.
Use @version to specify the version of your registry item.
registry-item.json
devDependencies
ThedevDependencies property is used to specify the dev dependencies of your registry item. These are npm packages that are only needed during development.
Use @version to specify the version of the package.
registry-item.json
registryDependencies
Used for registry dependencies. Can be names, namespaced or URLs.- For
shadcn/uiregistry items such asbutton,input,select, etc use the name eg.['button', 'input', 'select']. - For namespaced registry items such as
@acmeuse the name eg.['@acme/input-form']. - For custom registry items use the URL of the registry item eg.
['https://example.com/r/hello-world.json'].
registry-item.json
files
Thefiles property is used to specify the files of your registry item. Each file has a path, type and target (optional) property.
The target property is required for registry:page and registry:file types.
registry-item.json
path
Thepath property is used to specify the path to the file in your registry. This path is used by the build script to parse, transform and build the registry JSON payload.
type
Thetype property is used to specify the type of the file. See the type section for more information.
target
Thetarget property is used to indicate where the file should be placed in a project. This is optional and only required for registry:page and registry:file types.
By default, the shadcn cli will read a project’s components.json file to determine the target path. For some files, such as routes or config you can specify the target path manually.
Use ~ to refer to the root of the project e.g ~/foo.config.js.
tailwind
DEPRECATED: UsecssVars.theme instead for Tailwind v4 projects.
The tailwind property is used for tailwind configuration such as theme, plugins and content.
You can use the tailwind.config property to add colors, animations and plugins to your registry item.
registry-item.json
cssVars
Use to define CSS variables for your registry item.registry-item.json
css
Usecss to add new rules to the project’s CSS file eg. @layer base, @layer components, @utility, @keyframes, @plugin, etc.
registry-item.json
envVars
UseenvVars to add environment variables to your registry item.
registry-item.json
.env.local or .env file. Existing variables are not overwritten.
IMPORTANT: Use
envVars to add development or example variables. Do NOT use it to add production variables.docs
Usedocs to show custom documentation or message when installing your registry item via the CLI.
registry-item.json
categories
Usecategories to organize your registry item.
registry-item.json
meta
Usemeta to add additional metadata to your registry item. You can add any key/value pair that you want to be available to the registry item.
registry-item.json