{
  "name": "hop",
  "description": "Interact with Hop in your terminal",
  "subcommands": [
    {
      "name": "auth",
      "description": "Authenticate with Hop",
      "subcommands": [
        {
          "name": "help",
          "description": "Prints this message or the help of the given subcommand(s)"
        },
        {
          "name": "login",
          "description": "Login to Hop"
        },
        {
          "name": "logout",
          "description": "Logout the current user"
        }
      ]
    },
    {
      "name": "deploy",
      "description": "Deploy a new container",
      "options": [
        {
          "names": [
            "--type",
            "-t"
          ],
          "description": "Type of the container, defaults to `ephemeral`",
          "takes_arg": true,
          "arg": {
            "name": "container type",
            "suggestions": [
              "ephemeral",
              "persistent"
            ]
          }
        },
        {
          "names": [
            "--containers",
            "-i"
          ],
          "description": "Number of containers to use, defaults to 1 if `scaling` is manual",
          "takes_arg": true,
          "arg": {
            "name": "container amount",
            "suggestions": [
              "1",
              "2",
              "4",
              "8",
              "10"
            ]
          }
        },
        {
          "names": [
            "--cpu",
            "-c"
          ],
          "description": "The number of CPUs to use, defaults to 1",
          "takes_arg": true,
          "arg": {
            "name": "cpu amount",
            "suggestions": [
              "1",
              "2",
              "4",
              "8"
            ]
          }
        },
        {
          "names": [
            "--env",
            "-e"
          ],
          "description": "Environment variables to set, in the form of KEY=VALUE",
          "takes_arg": true,
          "arg": {
            "name": "environment variable",
            "suggestions": [
              "port="
            ]
          }
        },
        {
          "names": [
            "--name",
            "-n"
          ],
          "description": "Name of the deployment, defaults to the directory name",
          "takes_arg": true,
          "arg": {
            "name": "deployment name"
          }
        },
        {
          "names": [
            "--project",
            "-p"
          ],
          "description": "Namespace or ID of the project to use",
          "takes_arg": true,
          "arg": {
            "name": "project"
          }
        },
        {
          "names": [
            "--ram",
            "-m"
          ],
          "description": "Amount of RAM to use, defaults to 512MB",
          "takes_arg": true,
          "arg": {
            "name": "ram amount",
            "suggestions": [
              "128MB",
              "256MB",
              "512MB",
              "1G",
              "2G",
              "4G"
            ]
          }
        },
        {
          "names": [
            "--scaling",
            "-s"
          ],
          "description": "Scaling strategy, defaults to `manual`",
          "takes_arg": true,
          "arg": {
            "name": "scaling strategy",
            "suggestions": [
              "manual",
              "autoscale"
            ]
          }
        }
      ],
      "args": [
        {
          "name": "dir",
          "description": "Directory to deploy, defaults to current directory"
        }
      ]
    },
    {
      "name": "help",
      "description": "Prints this message or the help of the given subcommand(s)",
      "args": [
        {
          "name": "command"
        }
      ]
    },
    {
      "name": "ignite",
      "description": "Interact with Ignite containers",
      "subcommands": [
        {
          "name": "ls",
          "description": "List all deployments",
          "options": [
            {
              "names": [
                "--project",
                "-p"
              ],
              "description": "Namespace or ID of the project to use"
            }
          ]
        },
        {
          "name": "rm",
          "description": "Delete a deployment",
          "options": [
            {
              "names": [
                "--project",
                "-p"
              ],
              "description": "Namespace or ID of the project to use"
            }
          ]
        }
      ]
    },
    {
      "name": "link",
      "description": "Link an existing deployment to a hopfile"
    },
    {
      "name": "projects",
      "description": "Interact with projects",
      "subcommands": [
        {
          "name": "info",
          "description": "Get information about a project"
        },
        {
          "name": "ls",
          "description": "List all projects that you're authorized to"
        },
        {
          "name": "new",
          "description": "Create a new project"
        },
        {
          "name": "rm",
          "description": "Delete a project"
        },
        {
          "name": "switch",
          "description": "Switch to a different project"
        }
      ]
    },
    {
      "name": "whoami",
      "description": "Get information about the current user"
    }
  ],
  "options": [
    {
      "names": [
        "--help",
        "-h"
      ],
      "description": "Prints help information"
    },
    {
      "names": [
        "--version",
        "-v"
      ],
      "description": "Prints version information"
    },
    {
      "names": [
        "--project",
        "-p"
      ],
      "description": "Namespace or ID of the project to use"
    }
  ]
}
