{
	"type": "object",
	"properties": {
		"$schema": {
			"type": "string"
		},
		"name": {
			"description": "The name of the item. Used to identify the item in the registry. It should be unique for your registry.",
			"type": "string"
		},
		"title": {
			"description": "The human-readable title for your registry item. Keep it short and descriptive.",
			"type": "string"
		},
		"type": {
			"description": "The type of the item. Used to determine the type and target path of the item when resolved for a project.",
			"enum": [
				"registry:file",
				"registry:page",
				"registry:ui",
				"registry:component",
				"registry:lib",
				"registry:hook",
				"registry:theme",
				"registry:style",
				"registry:block",
				"registry:example",
				"registry:internal"
			]
		},
		"author": {
			"description": "The author of the item. Recommended format: username <url>",
			"type": "string",
			"minLength": 2
		},
		"description": {
			"description": "The description of the item. Used to provide a brief overview of the item.",
			"type": "string"
		},
		"dependencies": {
			"description": "An array of NPM dependencies required by the registry item.",
			"type": "array",
			"items": {
				"type": "string"
			}
		},
		"devDependencies": {
			"description": "An array of NPM dev dependencies required by the registry item.",
			"type": "array",
			"items": {
				"type": "string"
			}
		},
		"registryDependencies": {
			"description": "An array of registry items that this item depends on. Use the name of the item to reference shadcn/ui components and urls to reference other registries.",
			"type": "array",
			"items": {
				"type": "string"
			}
		},
		"docs": {
			"description": "The documentation for the registry item. This is a markdown string.",
			"type": "string"
		},
		"categories": {
			"description": "The categories of the registry item. This is an array of strings.",
			"type": "array",
			"items": {
				"type": "string"
			}
		},
		"css": {
			"$ref": "#/$defs/__schema0"
		},
		"cssVars": {
			"description": "The css variables for the registry item. This will be merged with the project's css variables.",
			"type": "object",
			"properties": {
				"theme": {
					"description": "CSS variables for the @theme directive. For Tailwind v4 projects only. Use tailwind for older projects.",
					"type": "object",
					"propertyNames": {
						"type": "string"
					},
					"additionalProperties": {
						"type": "string"
					}
				},
				"light": {
					"description": "CSS variables for the light theme.",
					"type": "object",
					"propertyNames": {
						"type": "string"
					},
					"additionalProperties": {
						"type": "string"
					}
				},
				"dark": {
					"description": "CSS variables for the dark theme.",
					"type": "object",
					"propertyNames": {
						"type": "string"
					},
					"additionalProperties": {
						"type": "string"
					}
				}
			},
			"required": []
		},
		"meta": {
			"description": "Additional metadata for the registry item. This is an object with any key value pairs.",
			"type": "object",
			"propertyNames": {
				"type": "string"
			},
			"additionalProperties": {}
		},
		"files": {
			"default": [],
			"type": "array",
			"items": {
				"description": "The main payload of the registry item. This is an array of files that are part of the registry item. Each file is an object with a target, type, and content.",
				"type": "object",
				"properties": {
					"content": {
						"description": "The content of the file.",
						"type": "string"
					},
					"type": {
						"description": "The type of the file. Used to resolve the file's path for a project.",
						"enum": [
							"registry:file",
							"registry:page",
							"registry:ui",
							"registry:component",
							"registry:lib",
							"registry:hook",
							"registry:theme",
							"registry:style"
						]
					},
					"target": {
						"description": "The target path of the file. This is where the file will be installed.",
						"type": "string"
					}
				},
				"required": [
					"content",
					"type",
					"target"
				]
			}
		}
	},
	"required": [
		"name",
		"type",
		"files"
	],
	"$defs": {
		"__schema0": {
			"description": "CSS definitions to be added to the project's CSS file. Supports at-rules, selectors, nested rules, utilities, layers, and more.",
			"type": "object",
			"propertyNames": {
				"description": "Direct CSS string (e.g., 'font-family: sans-serif; line-height: 1.5;')",
				"type": "string"
			},
			"additionalProperties": {
				"description": "CSS properties or nested selectors",
				"anyOf": [
					{
						"description": "CSS property value (e.g., 'blue', 'var(--color-primary)')",
						"type": "string"
					},
					{
						"description": "CSS property value for nested rule",
						"$ref": "#/$defs/__schema0"
					}
				]
			}
		}
	},
	"$schema": "https://json-schema.org/draft-2020-12/schema"
}