{
  "$id": "ApplicationSchematics",
  "title": "Application Options Schema",
  "type": "object",
  "description": "Schema that creates the entire codebase of the application.",
  "properties": {
    "name": {
      "aliases": ["n"],
      "type": "string",
      "description": "Sets application name",
      "default": "janush-app",
      "$default": {
        "$source": "argv",
        "index": 0
      },
      "x-prompt": "Application name:"
    },
    "types": {
      "aliases": ["t"],
      "type": "array",
      "description": "Sets application types to be installed.",
      "uniqueItems": true,
      "default": ["web", "cloud"],
      "x-prompt": {
        "message": "Which application type would you like to use?",
        "type": "list",
        "items": [
          { "value": "cloud", "label": "Cloud" },
          { "value": "web", "label": "Web" }
        ]
      }
    },
    "is-auto-generated": {
      "type": "boolean",
      "aliases": ["i"],
      "description": "Outputs, if created by deployment bot.",
      "default": false
    },
    "skip-install": {
      "type": "boolean",
      "aliases": ["s"],
      "description": "Skip installing dependencies.",
      "default": false
    },
    "version": {
      "type": "boolean",
      "aliases": ["v"],
      "description": "Outputs Janush version."
    },
    "help": {
      "type": "boolean",
      "aliases": ["h"],
      "description": "Outputs Janush help."
    }
  },
  "required": ["name", "types"]
}
