{
  "name": "vapor",
  "description": "Vapor Toolbox (Server-side Swift web framework)",
  "subcommands": [
    {
      "name": "build",
      "description": "Builds an app in the console"
    },
    {
      "name": "new",
      "description": "Generates a new app",
      "options": [
        {
          "names": [
            "--template",
            "-T"
          ],
          "description": "The URL of a Git repository to use as a template"
        },
        {
          "names": [
            "--branch"
          ],
          "description": "Template repository branch to use"
        },
        {
          "names": [
            "--output",
            "-o"
          ],
          "description": "The directory to place the new project in"
        },
        {
          "names": [
            "--no-commit"
          ],
          "description": "Skips adding a first commit to the newly created repo"
        }
      ],
      "args": [
        {
          "name": "name",
          "description": "Name of project and folder"
        }
      ]
    },
    {
      "name": "clean",
      "description": "Cleans temporary files",
      "options": [
        {
          "names": [
            "--update",
            "-u"
          ],
          "description": "Delete Package.resolved file if it exists"
        },
        {
          "names": [
            "--global",
            "-g"
          ],
          "description": "Clean Xcode's global DerivedData cache"
        },
        {
          "names": [
            "--swiftpm",
            "-s"
          ],
          "description": "Delete .swiftpm folder"
        }
      ]
    },
    {
      "name": "heroku",
      "description": "Commands for working with Heroku",
      "subcommands": [
        {
          "name": "init",
          "description": "Configures app for deployment to Heroku"
        },
        {
          "name": "push",
          "description": "Deploys app to Heroku"
        }
      ]
    },
    {
      "name": "run",
      "description": "Runs an app from the console. Equivalent to `swift run --enable-test-discovery Run`"
    },
    {
      "name": "supervisor",
      "description": "Commands for working with Supervisord",
      "subcommands": [
        {
          "name": "init",
          "description": "Creates a Supervisor entry for the current project"
        },
        {
          "name": "restart",
          "description": "Restarts current project in Supervisor"
        },
        {
          "name": "update",
          "description": "Updates Supervisor entry for current project"
        }
      ]
    },
    {
      "name": "xcode",
      "description": "Opens an app in Xcode"
    }
  ],
  "options": [
    {
      "names": [
        "--help",
        "-h"
      ],
      "description": "Show help for vapor",
      "takes_arg": true,
      "arg": {
        "name": "command",
        "description": "Display usage information about the specified command",
        "suggestions": [
          "clean",
          "heroku",
          "new",
          "run",
          "supervisor",
          "xcode",
          "build"
        ]
      }
    }
  ]
}
