{
  "$schema": "http://json-schema.org/schema",
  "$id": "cdk-app",
  "title": "cdk-app",
  "description": "Creates an AWS CDK application.",
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "pattern": "(?:^@[a-zA-Z0-9-*~][a-zA-Z0-9-*._~]*\\/[a-zA-Z0-9-~][a-zA-Z0-9-._~]*|^[a-zA-Z][^:]*)$",
      "description": "CDK application name",
      "$default": {
        "$source": "argv",
        "index": 0
      },
      "x-prompt": "What name would you like to use for the newly generated application?"
    },
    "directory": {
      "description": "The CDK application's directory path relative to the current working directory.",
      "type": "string",
      "x-priority": "important"
    },
    "type": {
      "type": "string",
      "enum": ["generic", "lambda"],
      "description": "CDK application type",
      "x-prompt": {
        "message": "Which application type would you like to use?",
        "type": "list",
        "items": [
          {
            "value": "generic",
            "label": "Generic"
          },
          {
            "value": "lambda",
            "label": "Lambda"
          }
        ]
      }
    },
    "defaultEnvironment": {
      "description": "The CDK application's default development environment.",
      "type": "string",
      "default": "Dev"
    },
    "environments": {
      "description": "The CDK application's development environments.",
      "type": "array",
      "items": {
        "type": "string"
      },
      "default": ["Dev", "Stage", "Prod"]
    },
    "skipFormat": {
      "description": "Skips the formatting after the CDK application has been created.",
      "type": "boolean",
      "default": false
    }
  },
  "required": ["name", "type"],
  "additionalProperties": false
}
