{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "$schema": {
      "type": "string"
    },
    "extends": {
      "type": "string"
    },
    "name": {
      "type": "string"
    },
    "type": {
      "type": "string",
      "enum": [
        "registry:lib",
        "registry:block",
        "registry:component",
        "registry:ui",
        "registry:hook",
        "registry:page",
        "registry:file",
        "registry:theme",
        "registry:style",
        "registry:item",
        "registry:example",
        "registry:internal"
      ]
    },
    "title": {
      "type": "string"
    },
    "author": {
      "type": "string",
      "minLength": 2
    },
    "description": {
      "type": "string"
    },
    "dependencies": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "devDependencies": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "registryDependencies": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "files": {
      "type": "array",
      "items": {
        "anyOf": [
          {
            "type": "object",
            "properties": {
              "path": {
                "type": "string"
              },
              "content": {
                "type": "string"
              },
              "type": {
                "type": "string",
                "enum": [
                  "registry:file",
                  "registry:page"
                ]
              },
              "target": {
                "type": "string"
              }
            },
            "required": [
              "path",
              "type",
              "target"
            ],
            "additionalProperties": false
          },
          {
            "type": "object",
            "properties": {
              "path": {
                "type": "string"
              },
              "content": {
                "type": "string"
              },
              "type": {
                "type": "string",
                "enum": [
                  "registry:lib",
                  "registry:block",
                  "registry:component",
                  "registry:ui",
                  "registry:hook",
                  "registry:theme",
                  "registry:style",
                  "registry:item",
                  "registry:example",
                  "registry:internal"
                ]
              },
              "target": {
                "type": "string"
              }
            },
            "required": [
              "path",
              "type"
            ],
            "additionalProperties": false
          }
        ]
      }
    },
    "tailwind": {
      "type": "object",
      "properties": {
        "config": {
          "type": "object",
          "properties": {
            "content": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "theme": {
              "type": "object",
              "propertyNames": {
                "type": "string"
              },
              "additionalProperties": {}
            },
            "plugins": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          "additionalProperties": false
        }
      },
      "additionalProperties": false
    },
    "cssVars": {
      "type": "object",
      "properties": {
        "theme": {
          "type": "object",
          "propertyNames": {
            "type": "string"
          },
          "additionalProperties": {
            "type": "string"
          }
        },
        "light": {
          "type": "object",
          "propertyNames": {
            "type": "string"
          },
          "additionalProperties": {
            "type": "string"
          }
        },
        "dark": {
          "type": "object",
          "propertyNames": {
            "type": "string"
          },
          "additionalProperties": {
            "type": "string"
          }
        }
      },
      "additionalProperties": false
    },
    "css": {
      "type": "object",
      "propertyNames": {
        "type": "string"
      },
      "additionalProperties": {
        "$ref": "#/$defs/__schema0"
      }
    },
    "envVars": {
      "type": "object",
      "propertyNames": {
        "type": "string"
      },
      "additionalProperties": {
        "type": "string"
      }
    },
    "meta": {
      "type": "object",
      "propertyNames": {
        "type": "string"
      },
      "additionalProperties": {}
    },
    "docs": {
      "type": "string"
    },
    "categories": {
      "type": "array",
      "items": {
        "type": "string"
      }
    }
  },
  "required": [
    "name",
    "type"
  ],
  "additionalProperties": false,
  "$defs": {
    "__schema0": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "object",
          "propertyNames": {
            "type": "string"
          },
          "additionalProperties": {
            "$ref": "#/$defs/__schema0"
          }
        }
      ]
    }
  }
}