{
  "$schema": "http://json-schema.org/schema",
  "$id": "SchematicsNxNgNew",
  "cli": "nx",
  "title": "Create an empty workspace",
  "description": "Create an empty workspace.",
  "type": "object",
  "properties": {
    "name": {
      "description": "The name of the workspace.",
      "type": "string",
      "$default": {
        "$source": "argv",
        "index": 0
      },
      "x-prompt": "What name would you like to use for the workspace?"
    },
    "style": {
      "description": "The file extension to be used for style files.",
      "type": "string",
      "default": "css",
      "x-prompt": {
        "message": "Which stylesheet format would you like to use?",
        "type": "list",
        "items": [
          { "value": "css", "label": "CSS" },
          {
            "value": "scss",
            "label": "SASS(.scss)  [ http://sass-lang.com   ]"
          },
          {
            "value": "styl",
            "label": "Stylus(.styl)[ http://stylus-lang.com ]"
          },
          {
            "value": "less",
            "label": "LESS         [ http://lesscss.org     ]"
          }
        ]
      }
    },
    "directory": {
      "type": "string",
      "format": "path",
      "description": "The directory name to create the workspace in.",
      "default": ""
    },
    "preset": {
      "type": "string",
      "description": "Preset of the workspace."
    },
    "npmScope": {
      "type": "string",
      "description": "Npm scope for importing libs."
    },
    "defaultBase": {
      "type": "string",
      "description": "Default base branch for affected."
    },
    "skipInstall": {
      "description": "Skip installing dependency packages.",
      "type": "boolean",
      "default": false
    },
    "skipGit": {
      "description": "Skip initializing a git repository.",
      "type": "boolean",
      "default": false,
      "alias": "g"
    },
    "commit": {
      "description": "Initial repository commit information.",
      "oneOf": [
        { "type": "boolean" },
        {
          "type": "object",
          "properties": {
            "name": {
              "type": "string"
            },
            "email": {
              "type": "string",
              "format": "email"
            },
            "message": {
              "type": "string"
            }
          },
          "required": ["name", "email"]
        }
      ],
      "default": true
    },
    "packageManager": {
      "description": "The package manager used to install dependencies.",
      "type": "string",
      "enum": ["npm", "yarn", "pnpm"]
    },
    "cli": {
      "description": "CLI used for generating code and running tasks",
      "type": "string",
      "enum": ["nx", "angular"],
      "default": "nx"
    }
  }
}
