{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://stack.menu/context.schema.json",
  "title": "Stack Menu context routing",
  "type": "object",
  "additionalProperties": false,
  "properties": {
    "goal": {
      "type": "string",
      "enum": [
        "auto",
        "choose",
        "build",
        "migrate"
      ]
    },
    "component": {
      "type": "string",
      "enum": [
        "web",
        "api",
        "cli",
        "automation",
        "ios",
        "android"
      ]
    },
    "ui": {
      "type": "string",
      "enum": [
        "any",
        "server",
        "full",
        "client",
        "native",
        "none",
        "terminal"
      ]
    },
    "static_only": {
      "type": "boolean"
    },
    "offline_edits": {
      "type": "boolean"
    },
    "realtime": {
      "type": "boolean"
    },
    "existing_stack": {
      "type": "string",
      "enum": [
        "elixir-phoenix-liveview",
        "typescript-next-node",
        "typescript-react-vite-browser",
        "rails-hotwire-postgresql",
        "laravel-livewire-postgresql",
        "python-django",
        "go-service",
        "rust-service",
        "python-fastapi",
        "go-cli",
        "rust-cli",
        "python-scripts-workers",
        "swift-swiftui-ios",
        "kotlin-compose-android"
      ]
    },
    "target_stack": {
      "type": "string",
      "enum": [
        "elixir-phoenix-liveview",
        "typescript-next-node",
        "typescript-react-vite-browser",
        "rails-hotwire-postgresql",
        "laravel-livewire-postgresql",
        "python-django",
        "go-service",
        "rust-service",
        "python-fastapi",
        "go-cli",
        "rust-cli",
        "python-scripts-workers",
        "swift-swiftui-ios",
        "kotlin-compose-android"
      ]
    }
  }
}
