{
  "name": "StepZen",
  "description": "The StepZen CLI is the primary way to build, deploy and test your schemas on StepZen",
  "subcommands": [
    {
      "name": "help",
      "description": "Display help for StepZen",
      "args": [
        {
          "name": "command",
          "description": "Command name for which to display help"
        }
      ]
    },
    {
      "name": "login",
      "description": "Login to StepZen"
    },
    {
      "name": "logout",
      "description": "Logout of StepZen"
    },
    {
      "name": "start",
      "description": "Deploy, watch and develop your API",
      "options": [
        {
          "names": [
            "--dir"
          ],
          "description": "The working directory for StepZen assets",
          "separator": "=",
          "args": [
            {
              "name": "path",
              "description": "Path to StepZen directory",
              "template": "folders"
            }
          ]
        },
        {
          "names": [
            "--endpoint"
          ],
          "description": "The folder/endpoint to deploy to",
          "separator": "=",
          "args": [
            {
              "name": "endpoint",
              "description": "The StepZen endpoint",
              "generators": [
                {
                  "script": [
                    "stepzen",
                    "list",
                    "schemas"
                  ]
                }
              ]
            }
          ]
        },
        {
          "names": [
            "--port"
          ],
          "description": "The port number to use for the GraphiQL explorer",
          "separator": "=",
          "args": [
            {
              "name": "port",
              "description": "A port to run on"
            }
          ]
        }
      ]
    },
    {
      "name": "import",
      "description": "Import pre-configured schemas to Your API",
      "options": [
        {
          "names": [
            "--dir"
          ],
          "description": "The directory to which the schema will be imported",
          "separator": "=",
          "args": [
            {
              "name": "path",
              "description": "Path to directory",
              "template": "folders"
            }
          ]
        }
      ],
      "args": [
        {
          "name": "name",
          "description": "The name of the generator to import",
          "generators": [
            {
              "script": [
                "curl",
                "https://api.github.com/repos/steprz/stepzen-schemas/contents"
              ]
            }
          ]
        }
      ]
    },
    {
      "name": "list",
      "description": "List the assets of a specified type that are linked to the StepZen account",
      "args": [
        {
          "name": "type",
          "description": "The type of asset to list (schemas or configurationsets)",
          "suggestions": [
            "schemas",
            "configurationsets"
          ]
        }
      ]
    }
  ]
}
