{
  "description": "Common dstack jobs: apply a configuration, list runs, show logs and stop a run. Configuration-specific apply options, fleets, gateways, volumes and secrets are not covered.",
  "name": "dstack",
  "subcommands": [
    {
      "name": "apply",
      "description": "Apply a configuration",
      "options": [
        {
          "names": [
            "--file",
            "-f"
          ],
          "description": "Defaults to .dstack.yml in the current directory.",
          "args": {
            "name": "file",
            "description": "Defaults to .dstack.yml in the current directory.",
            "isOptional": false,
            "template": "filepaths"
          }
        },
        {
          "names": [
            "--project"
          ],
          "description": "Project",
          "args": {
            "name": "project",
            "isOptional": false
          }
        },
        {
          "names": [
            "--yes",
            "-y"
          ],
          "description": "Do not ask for confirmation"
        },
        {
          "names": [
            "--detach",
            "-d"
          ],
          "description": "Detach after submitting"
        },
        {
          "names": [
            "--force"
          ],
          "description": "Apply even when no changes are detected."
        },
        {
          "names": [
            "--verbose",
            "-v"
          ],
          "description": "Show all plan properties"
        }
      ]
    },
    {
      "name": "ps",
      "description": "List runs",
      "options": [
        {
          "names": [
            "--project"
          ],
          "description": "Project",
          "args": {
            "name": "project",
            "isOptional": false
          }
        },
        {
          "names": [
            "--all",
            "-a"
          ],
          "description": "Show all runs"
        },
        {
          "names": [
            "--last",
            "-n"
          ],
          "description": "Last N runs",
          "args": {
            "name": "last",
            "isOptional": false
          }
        },
        {
          "names": [
            "--verbose",
            "-v"
          ],
          "description": "Verbose"
        },
        {
          "names": [
            "--watch",
            "-w"
          ],
          "description": "Watch in real time"
        },
        {
          "names": [
            "--json"
          ],
          "description": "JSON output"
        }
      ]
    },
    {
      "name": "logs",
      "description": "Show run logs",
      "options": [
        {
          "names": [
            "--since"
          ],
          "description": "A duration such as 10s, 5m, 1d, or an RFC 3339 timestamp.",
          "args": {
            "name": "since",
            "description": "A duration such as 10s, 5m, 1d, or an RFC 3339 timestamp.",
            "isOptional": false
          }
        },
        {
          "names": [
            "--diagnose",
            "-d"
          ],
          "description": "Diagnostic logs"
        },
        {
          "names": [
            "--replica"
          ],
          "description": "Replica number",
          "args": {
            "name": "replica",
            "isOptional": false
          }
        },
        {
          "names": [
            "--job"
          ],
          "description": "Job number",
          "args": {
            "name": "job",
            "isOptional": false
          }
        },
        {
          "names": [
            "--project"
          ],
          "description": "Project",
          "args": {
            "name": "project",
            "isOptional": false
          }
        }
      ],
      "args": [
        {
          "name": "run_name",
          "isOptional": false
        }
      ]
    },
    {
      "name": "stop",
      "description": "Stop a run",
      "options": [
        {
          "names": [
            "--abort",
            "-x"
          ],
          "description": "Abort instead of stopping gracefully",
          "isDangerous": true
        },
        {
          "names": [
            "--yes",
            "-y"
          ],
          "description": "Do not ask for confirmation"
        },
        {
          "names": [
            "--project"
          ],
          "description": "Project",
          "args": {
            "name": "project",
            "isOptional": false
          }
        }
      ],
      "args": [
        {
          "name": "run_name",
          "isOptional": false
        }
      ]
    }
  ]
}
