{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "$id": "https://lvcn.vercel.app/schema.json",
  "title": "lvcn.json",
  "description": "Configuration for a lvcn project. Active values only; legacy values are migrated by the CLI.",
  "type": "object",
  "properties": {
    "$schema": {
      "type": "string",
      "description": "The URL of the JSON schema for this file."
    },
    "style": {
      "type": "string",
      "description": "The active visual style recipe.",
      "enum": [
        "nova",
        "vega",
        "maia",
        "lyra",
        "mira",
        "luma",
        "sera",
        "rhea"
      ]
    },
    "styleEngine": {
      "type": "string",
      "description": "The styling runtime.",
      "enum": [
        "nativewind",
        "uniwind"
      ]
    },
    "tsx": {
      "type": "boolean",
      "description": "Whether generated source uses TypeScript."
    },
    "tailwind": {
      "type": "object",
      "properties": {
        "config": {
          "type": "string"
        },
        "css": {
          "type": "string"
        },
        "baseColor": {
          "type": "string",
          "enum": [
            "neutral",
            "stone",
            "zinc",
            "gray",
            "mauve",
            "olive",
            "mist",
            "taupe",
            "slate"
          ]
        }
      },
      "required": [
        "css"
      ]
    },
    "aliases": {
      "type": "object",
      "properties": {
        "components": {
          "type": "string"
        },
        "utils": {
          "type": "string"
        },
        "ui": {
          "type": "string"
        }
      },
      "required": [
        "components",
        "utils"
      ]
    },
    "components": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "baseColor": {
      "type": "string",
      "enum": [
        "neutral",
        "stone",
        "zinc",
        "gray",
        "mauve",
        "olive",
        "mist",
        "taupe",
        "slate"
      ]
    },
    "theme": {
      "type": "string",
      "enum": [
        "neutral",
        "stone",
        "zinc",
        "gray",
        "amber",
        "blue",
        "cyan",
        "emerald",
        "fuchsia",
        "green",
        "indigo",
        "lime",
        "orange",
        "pink",
        "purple",
        "red",
        "rose",
        "sky",
        "teal",
        "violet",
        "yellow",
        "mauve",
        "olive",
        "mist",
        "taupe",
        "slate"
      ]
    },
    "chartColor": {
      "type": "string",
      "enum": [
        "neutral",
        "stone",
        "zinc",
        "gray",
        "amber",
        "blue",
        "cyan",
        "emerald",
        "fuchsia",
        "green",
        "indigo",
        "lime",
        "orange",
        "pink",
        "purple",
        "red",
        "rose",
        "sky",
        "teal",
        "violet",
        "yellow",
        "mauve",
        "olive",
        "mist",
        "taupe",
        "slate"
      ]
    },
    "font": {
      "type": "string",
      "enum": [
        "inter",
        "noto-sans",
        "nunito-sans",
        "figtree",
        "roboto",
        "raleway",
        "dm-sans",
        "public-sans",
        "outfit",
        "jetbrains-mono",
        "geist",
        "geist-mono",
        "lora",
        "merriweather",
        "playfair-display",
        "noto-serif",
        "roboto-slab",
        "oxanium",
        "manrope",
        "space-grotesk",
        "montserrat",
        "ibm-plex-sans",
        "source-sans-3",
        "instrument-sans",
        "eb-garamond",
        "instrument-serif",
        "space-mono",
        "fira-code"
      ]
    },
    "fontHeading": {
      "type": "string",
      "enum": [
        "inherit",
        "inter",
        "noto-sans",
        "nunito-sans",
        "figtree",
        "roboto",
        "raleway",
        "dm-sans",
        "public-sans",
        "outfit",
        "jetbrains-mono",
        "geist",
        "geist-mono",
        "lora",
        "merriweather",
        "playfair-display",
        "noto-serif",
        "roboto-slab",
        "oxanium",
        "manrope",
        "space-grotesk",
        "montserrat",
        "ibm-plex-sans",
        "source-sans-3",
        "instrument-sans",
        "eb-garamond",
        "instrument-serif",
        "space-mono",
        "fira-code"
      ]
    },
    "iconLibrary": {
      "type": "string",
      "enum": [
        "lucide",
        "hugeicons",
        "tabler",
        "phosphor",
        "remixicon",
        "expo",
        "heroicons"
      ]
    },
    "radius": {
      "type": "string",
      "enum": [
        "default",
        "none",
        "small",
        "medium",
        "large",
        "full"
      ]
    },
    "menuAccent": {
      "type": "string",
      "enum": [
        "subtle",
        "bold"
      ]
    },
    "menuColor": {
      "type": "string",
      "enum": [
        "default",
        "inverted",
        "default-translucent",
        "inverted-translucent"
      ]
    }
  },
  "required": [
    "style",
    "tailwind",
    "aliases"
  ]
}
