{
  "title": "Run Commands",
  "description": "Run any custom commands with Nx",
  "type": "object",
  "properties": {
    "commands": {
      "type": "array",
      "items": {
        "oneOf": [
          {
            "type": "object",
            "properties": {
              "command": {
                "type": "string",
                "description": "Command to run in child process"
              },
              "forwardAllArgs": {
                "type": "boolean",
                "description": "Whether arguments should be forwarded when interpolation is not present",
                "default": true
              }
            },
            "additionalProperties": false,
            "required": ["command"]
          },
          {
            "type": "string"
          }
        ]
      }
    },
    "command": {
      "type": "string",
      "description": "Command to run in child process"
    },
    "parallel": {
      "type": "boolean",
      "description": "Run commands in parallel",
      "default": true
    },
    "readyWhen": {
      "type": "string",
      "description": "String to appear in stdout or stderr that indicates that the task is done. This option can only be used when parallel is set to true. If not specified, the task is done when all the child processes complete."
    },
    "args": {
      "type": "string",
      "description": "Extra arguments. You can pass them as follows: nx run project:target --args='--wait=100'. You can then use {args.wait} syntax to interpolate them in the workspace config file. See example [above](#chaining-commands-interpolating-args-and-setting-the-cwd)"
    },
    "envFile": {
      "type": "string",
      "description": "You may specify a custom .env file path"
    },
    "color": {
      "type": "boolean",
      "description": "Use colors when showing output of command",
      "default": false
    },
    "outputPath": {
      "description": "Allows you to specify where the build artifacts are stored. This allows Nx Cloud to pick them up correctly, in the case that the build artifacts are placed somewhere other than the top level dist folder.",
      "oneOf": [
        {
          "type": "string"
        },
        {
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      ]
    },
    "cwd": {
      "type": "string",
      "description": "Current working directory of the commands."
    }
  },
  "additionalProperties": true,
  "required": [],
  "examplesFile": "../../../docs/run-commands-examples.md"
}
