{
  "name": "forge",
  "description": "A command line interface for managing Atlassian-hosted apps",
  "subcommands": [
    {
      "name": "autocomplete",
      "description": "Configures autocomplete for the Forge CLI",
      "options": [
        {
          "names": [
            "--verbose"
          ],
          "description": "Enable verbose mode"
        },
        {
          "names": [
            "-h",
            "--help"
          ],
          "description": "Display help for command"
        }
      ],
      "args": [
        {
          "name": "install|uninstall",
          "suggestions": [
            "install",
            "uninstall"
          ]
        }
      ]
    },
    {
      "name": "create",
      "description": "Create an app",
      "options": [
        {
          "names": [
            "--verbose"
          ],
          "description": "Enable verbose mode"
        },
        {
          "names": [
            "-t",
            "--template"
          ],
          "description": "Specify the template to use",
          "takes_arg": true,
          "arg": {
            "name": "template name"
          }
        },
        {
          "names": [
            "-d",
            "--directory"
          ],
          "description": "Specify the directory to create (uses the template name by default)",
          "takes_arg": true,
          "arg": {
            "name": "directory name"
          }
        },
        {
          "names": [
            "-h",
            "--help"
          ],
          "description": "Display help for command"
        }
      ],
      "args": [
        {
          "name": "name"
        }
      ]
    },
    {
      "name": "deploy",
      "description": "Deploy your app to an environment",
      "options": [
        {
          "names": [
            "--verbose"
          ],
          "description": "Enable verbose mode"
        },
        {
          "names": [
            "-f",
            "--no-verify"
          ],
          "description": "Disable pre-deployment checks"
        },
        {
          "names": [
            "-e",
            "--environment"
          ],
          "description": "Specify the environment from options: development, staging, production (default: development)",
          "takes_arg": true,
          "arg": {
            "name": "environment"
          }
        },
        {
          "names": [
            "--non-interactive"
          ],
          "description": "Run the command without input prompts"
        },
        {
          "names": [
            "-h",
            "--help"
          ],
          "description": "Display help for command"
        }
      ]
    },
    {
      "name": "feedback",
      "description": "Let us know what you think about Forge",
      "options": [
        {
          "names": [
            "--verbose"
          ],
          "description": "Enable verbose mode"
        },
        {
          "names": [
            "-h",
            "--help"
          ],
          "description": "Display help for command"
        }
      ]
    },
    {
      "name": "install",
      "description": "Manage app installations",
      "subcommands": [
        {
          "name": "list",
          "description": "List app installations",
          "options": [
            {
              "names": [
                "--verbose"
              ],
              "description": "Enable verbose mode"
            },
            {
              "names": [
                "-h",
                "--help"
              ],
              "description": "Display help for command"
            }
          ]
        },
        {
          "name": "help",
          "description": "Display help for command",
          "args": [
            {
              "name": "command"
            }
          ]
        }
      ],
      "options": [
        {
          "names": [
            "--verbose"
          ],
          "description": "Enable verbose mode"
        },
        {
          "names": [
            "-e",
            "--environment"
          ],
          "description": "Specify the environment from options: development, staging, production (default: development)",
          "takes_arg": true,
          "arg": {
            "name": "environment"
          }
        },
        {
          "names": [
            "-s",
            "--site"
          ],
          "description": "Site URL (example.atlassian.net)",
          "takes_arg": true,
          "arg": {
            "name": "site"
          }
        },
        {
          "names": [
            "-p",
            "--product"
          ],
          "description": "Product (Jira, Confluence, Compass)",
          "takes_arg": true,
          "arg": {
            "name": "product"
          }
        },
        {
          "names": [
            "--upgrade"
          ],
          "description": "Upgrade an existing installation"
        },
        {
          "names": [
            "--confirm-scopes"
          ],
          "description": "Skip confirmation of scopes for the app before installing or upgrading the app"
        },
        {
          "names": [
            "--non-interactive"
          ],
          "description": "Run the command without input prompts"
        },
        {
          "names": [
            "-h",
            "--help"
          ],
          "description": "Display help for command"
        }
      ]
    },
    {
      "name": "lint",
      "description": "Check the source files for common errors",
      "options": [
        {
          "names": [
            "--verbose"
          ],
          "description": "Enable verbose mode"
        },
        {
          "names": [
            "--fix"
          ],
          "description": "Attempt to automatically fix any issues encountered"
        },
        {
          "names": [
            "-e",
            "--environment"
          ],
          "description": "Specify the environment from options: development, staging, production (default: development)",
          "takes_arg": true,
          "arg": {
            "name": "environment"
          }
        },
        {
          "names": [
            "-h",
            "--help"
          ],
          "description": "Display help for command"
        }
      ]
    },
    {
      "name": "login",
      "description": "Log in to your Atlassian account",
      "options": [
        {
          "names": [
            "--verbose"
          ],
          "description": "Enable verbose mode"
        },
        {
          "names": [
            "-u",
            "--email"
          ],
          "description": "Specify the email to use",
          "takes_arg": true,
          "arg": {
            "name": "user email"
          }
        },
        {
          "names": [
            "-t",
            "--token"
          ],
          "description": "Specify the API token to use",
          "takes_arg": true,
          "arg": {
            "name": "api token"
          }
        },
        {
          "names": [
            "--non-interactive"
          ],
          "description": "Run the command without input prompts"
        },
        {
          "names": [
            "-h",
            "--help"
          ],
          "description": "Display help for command"
        }
      ]
    },
    {
      "name": "logout",
      "description": "Log out of your Atlassian account",
      "options": [
        {
          "names": [
            "--verbose"
          ],
          "description": "Enable verbose mode"
        },
        {
          "names": [
            "-h",
            "--help"
          ],
          "description": "Display help for command"
        }
      ]
    },
    {
      "name": "logs",
      "description": "View app logs",
      "options": [
        {
          "names": [
            "--verbose"
          ],
          "description": "Enable verbose mode"
        },
        {
          "names": [
            "-e",
            "--environment"
          ],
          "description": "Specify the environment from options: development, staging, production (default: development)",
          "takes_arg": true,
          "arg": {
            "name": "environment"
          }
        },
        {
          "names": [
            "-i",
            "--invocation"
          ],
          "description": "View logs for a given invocation ID",
          "takes_arg": true,
          "arg": {
            "name": "invocation"
          }
        },
        {
          "names": [
            "-n",
            "--limit"
          ],
          "description": "Number of invocations to return",
          "takes_arg": true,
          "arg": {
            "name": "limit"
          }
        },
        {
          "names": [
            "-s",
            "--since"
          ],
          "description": "View logs since the specified time. valid formats: YYYY-MM-DD, ISO 8061 timestamp or a relative time (e.g: 5m, 10h, 2d)",
          "takes_arg": true,
          "arg": {
            "name": "since"
          }
        },
        {
          "names": [
            "-g",
            "--grouped"
          ],
          "description": "Group logs by invocation ID"
        },
        {
          "names": [
            "-h",
            "--help"
          ],
          "description": "Display help for command"
        }
      ]
    },
    {
      "name": "providers",
      "description": "Manage external providers",
      "subcommands": [
        {
          "name": "configure",
          "description": "Configure provider credentials",
          "options": [
            {
              "names": [
                "--verbose"
              ],
              "description": "Enable verbose mode"
            },
            {
              "names": [
                "-s",
                "--oauth-client-secret"
              ],
              "description": "Client secret",
              "takes_arg": true,
              "arg": {
                "name": "oauthClientSecret"
              }
            },
            {
              "names": [
                "-e",
                "--environment"
              ],
              "description": "Specify the environment from options: development, staging, production (default: development)",
              "takes_arg": true,
              "arg": {
                "name": "environment"
              }
            },
            {
              "names": [
                "-h",
                "--help"
              ],
              "description": "Display help for command"
            }
          ],
          "args": [
            {
              "name": "providerKey"
            }
          ]
        },
        {
          "name": "help",
          "description": "Display help for command",
          "args": [
            {
              "name": "command"
            }
          ]
        }
      ],
      "options": [
        {
          "names": [
            "--verbose"
          ],
          "description": "Enable verbose mode"
        },
        {
          "names": [
            "-h",
            "--help"
          ],
          "description": "Display help for command"
        }
      ]
    },
    {
      "name": "register",
      "description": "Register an app you didn't create so you can run commands for it",
      "options": [
        {
          "names": [
            "--verbose"
          ],
          "description": "Enable verbose mode"
        },
        {
          "names": [
            "-h",
            "--help"
          ],
          "description": "Display help for command"
        }
      ],
      "args": [
        {
          "name": "name"
        }
      ]
    },
    {
      "name": "settings",
      "description": "Manage Forge CLI settings",
      "subcommands": [
        {
          "name": "list",
          "description": "List Forge CLI settings",
          "options": [
            {
              "names": [
                "--verbose"
              ],
              "description": "Enable verbose mode"
            },
            {
              "names": [
                "-h",
                "--help"
              ],
              "description": "Display help for command"
            }
          ]
        },
        {
          "name": "set",
          "description": "Update Forge CLI setting (choices: usage-analytics)",
          "options": [
            {
              "names": [
                "--verbose"
              ],
              "description": "Enable verbose mode"
            },
            {
              "names": [
                "-h",
                "--help"
              ],
              "description": "Display help for command"
            }
          ],
          "args": [
            {
              "name": "setting"
            },
            {
              "name": "boolean"
            }
          ]
        },
        {
          "name": "help",
          "description": "Display help for command",
          "args": [
            {
              "name": "command"
            }
          ]
        }
      ],
      "options": [
        {
          "names": [
            "--verbose"
          ],
          "description": "Enable verbose mode"
        },
        {
          "names": [
            "-h",
            "--help"
          ],
          "description": "Display help for command"
        }
      ]
    },
    {
      "name": "tunnel",
      "description": "Start a tunnel to connect your local code with the app running in the development environment",
      "options": [
        {
          "names": [
            "--verbose"
          ],
          "description": "Enable verbose mode"
        },
        {
          "names": [
            "-d",
            "--debug"
          ],
          "description": "Enable debugger mode"
        },
        {
          "names": [
            "-h",
            "--help"
          ],
          "description": "Display help for command"
        }
      ]
    },
    {
      "name": "uninstall",
      "description": "Uninstall the app from an Atlassian site",
      "options": [
        {
          "names": [
            "--verbose"
          ],
          "description": "Enable verbose mode"
        },
        {
          "names": [
            "-h",
            "--help"
          ],
          "description": "Display help for command"
        }
      ],
      "args": [
        {
          "name": "installationId"
        }
      ]
    },
    {
      "name": "variables",
      "description": "Manage app environment variables",
      "subcommands": [
        {
          "name": "set",
          "description": "Set an environment variable",
          "options": [
            {
              "names": [
                "--verbose"
              ],
              "description": "Enable verbose mode"
            },
            {
              "names": [
                "--encrypt"
              ],
              "description": "Encrypt variable"
            },
            {
              "names": [
                "-e",
                "--environment"
              ],
              "description": "Specify the environment from options: development, staging, production (default: development)",
              "takes_arg": true,
              "arg": {
                "name": "environment"
              }
            },
            {
              "names": [
                "-h",
                "--help"
              ],
              "description": "Display help for command"
            }
          ],
          "args": [
            {
              "name": "key"
            },
            {
              "name": "value"
            }
          ]
        },
        {
          "name": "unset",
          "description": "Remove an environment variable",
          "options": [
            {
              "names": [
                "--verbose"
              ],
              "description": "Enable verbose mode"
            },
            {
              "names": [
                "-e",
                "--environment"
              ],
              "description": "Specify the environment from options: development, staging, production (default: development)",
              "takes_arg": true,
              "arg": {
                "name": "environment"
              }
            },
            {
              "names": [
                "-h",
                "--help"
              ],
              "description": "Display help for command"
            }
          ],
          "args": [
            {
              "name": "key"
            }
          ]
        },
        {
          "name": "list",
          "description": "List the environment variables",
          "options": [
            {
              "names": [
                "--verbose"
              ],
              "description": "Enable verbose mode"
            },
            {
              "names": [
                "-e",
                "--environment"
              ],
              "description": "Specify the environment from options: development, staging, production (default: development)",
              "takes_arg": true,
              "arg": {
                "name": "environment"
              }
            },
            {
              "names": [
                "-h",
                "--help"
              ],
              "description": "Display help for command"
            }
          ]
        },
        {
          "name": "help",
          "description": "Display help for command",
          "args": [
            {
              "name": "command"
            }
          ]
        }
      ],
      "options": [
        {
          "names": [
            "--verbose"
          ],
          "description": "Enable verbose mode"
        },
        {
          "names": [
            "-h",
            "--help"
          ],
          "description": "Display help for command"
        }
      ]
    },
    {
      "name": "webtrigger",
      "description": "Get a web trigger URL",
      "options": [
        {
          "names": [
            "--verbose"
          ],
          "description": "Enable verbose mode"
        },
        {
          "names": [
            "-f",
            "--functionKey"
          ],
          "description": "Web trigger key from the manifest.yml file",
          "takes_arg": true,
          "arg": {
            "name": "function"
          }
        },
        {
          "names": [
            "-h",
            "--help"
          ],
          "description": "Display help for command"
        }
      ],
      "args": [
        {
          "name": "installationId"
        }
      ]
    },
    {
      "name": "whoami",
      "description": "Display the account information of the logged in user",
      "options": [
        {
          "names": [
            "--verbose"
          ],
          "description": "Enable verbose mode"
        },
        {
          "names": [
            "-h",
            "--help"
          ],
          "description": "Display help for command"
        }
      ]
    },
    {
      "name": "help",
      "description": "Display help for command",
      "args": [
        {
          "name": "command"
        }
      ]
    }
  ],
  "options": [
    {
      "names": [
        "-V",
        "--version"
      ],
      "description": "Output the version number"
    },
    {
      "names": [
        "--verbose"
      ],
      "description": "Enable verbose mode"
    },
    {
      "names": [
        "-h",
        "--help"
      ],
      "description": "Display help for command"
    }
  ]
}
