{
  "settings": {
    "Project": {
      "description": "Project where the commands are going to be applied.",
      "valueType": "passThrough",
      "values": [],
      "defaultValue": ""
    },
    "CleanArtifacts": {
      "description": "MsBuild target that deletes the artifacts output directory.",
      "valueType": "target",
      "values": [],
      "defaultValue": ""
    },
    "CleanPackages": {
      "description": "MsBuild target that deletes the repo-local nuget package directory.",
      "valueType": "target",
      "values": [],
      "defaultValue": ""
    },
    "CleanPackagesCache": {
      "description": "MsBuild target that deletes the user-local nuget package cache.",
      "valueType": "target",
      "values": [],
      "defaultValue": ""
    },
    "CleanRepo": {
      "description": "Cleans the entire repo of all non-git-added artifacts",
      "valueType": "target",
      "values": [],
      "defaultValue": ""
    },
  },
  "commands": {
    "clean":{
      "alias":{
        "o":{
          "description": "Deletes the artifacts directory.",
          "settings":{
            "CleanArtifacts": "default"
          }
        },
        "p":{
          "description": "Deletes the repo-local nuget package directory.",
          "settings":{
            "CleanPackages": "default"
            }
        },
        "u": {
          "description": "Deletes the user-local nuget package directory",
          "settings": { 
            "CleanPackagesCache": "default"
          }
        },
        "a": {
          "description": "Deletes all repo content that is not git-added",
          "settings": {
            "CleanRepo" : "default"
          }
        }
      },
      "defaultValues":{
        "toolName": "msbuild",
        "settings": {
          "Project": "build.proj"
        }
      }
    }
  },
  "tools": {
    "msbuild": {
      "run": {
        "windows": "build_tools\\msbuild.cmd",
        "unix": "build_tools/msbuild.sh"
      },
      "valueTypes": {
        "property": "/p:{name}={value}",
        "target": "/t:{name}",
        "internal": "/{name}"
      }
    }
  }
}