{
  "$schema": "http://json-schema.org/draft-07/schema",
  "$id": "ngGenerateSdkSchematicsSchema",
  "title": "Generate an SDK in an Otter Project",
  "description": "Generate an SDK in an Otter Project",
  "properties": {
    "name": {
      "type": "string",
      "description": "Name of the SDK package (format: @scope/sdk-name)",
      "x-prompt": "Name of the new SDK package? (format: @scope/sdk-name)",
      "$default": {
        "$source": "argv",
        "index": 0
      }
    },
    "description": {
      "type": "string",
      "description": "Description of the new module",
      "default": ""
    },
    "prefix": {
      "type": "string",
      "description": "Prefix use to package future generation"
    },
    "path": {
      "type": "string",
      "description": "Target directory to generate the module"
    },
    "skipLinter": {
      "type": "boolean",
      "description": "Skip the linter process which includes EsLint and EditorConfig rules applying",
      "default": false
    },
    "skipInstall": {
      "description": "Do not install dependency packages.",
      "type": "boolean",
      "default": false
    },
    "specPath": {
      "type": "string",
      "description": "Path to the swagger specification used to generate the SDK; If not provided, sdk shell will be generated"
    },
    "specPackageName": {
      "type": "string",
      "description": "The npm package name where the spec file can be fetched"
    },
    "specPackagePath": {
      "type": "string",
      "description": "The path inside the package where to find the spec file"
    },
    "specPackageVersion": {
      "type": "string",
      "description": "The version to target for the npm package where the spec file can be fetched"
    },
    "specPackageRegistry": {
      "type": "string",
      "description": "The npm registry where the spec file can be fetched"
    }
  },
  "not": {
    "required": ["specPath", "specPackageName"]
  },
  "required": ["name"],
  "additionalProperties": true
}
