{
  "description": "Log in to a Harbor registry and list projects or repositories. Passwords are never entered here; use --password-stdin or the interactive prompt. Create, delete and other subcommands are left out.",
  "name": "harbor",
  "subcommands": [
    {
      "name": "login",
      "description": "Authenticate with a Harbor registry.",
      "options": [
        {
          "names": [
            "--username",
            "-u"
          ],
          "description": "Username",
          "args": {
            "name": "username",
            "isOptional": false
          }
        },
        {
          "names": [
            "--context-name",
            "-n"
          ],
          "description": "Context name",
          "args": {
            "name": "context_name",
            "isOptional": false
          }
        },
        {
          "names": [
            "--password-stdin"
          ],
          "description": "Read password from stdin"
        }
      ],
      "args": [
        {
          "name": "server",
          "isOptional": true
        }
      ]
    },
    {
      "name": "project",
      "subcommands": [
        {
          "name": "list",
          "description": "List Harbor projects.",
          "options": [
            {
              "names": [
                "--name"
              ],
              "description": "Project name",
              "args": {
                "name": "name",
                "isOptional": false
              }
            },
            {
              "names": [
                "--private"
              ],
              "description": "Private only"
            },
            {
              "names": [
                "--public"
              ],
              "description": "Public only"
            },
            {
              "names": [
                "--page"
              ],
              "description": "Page",
              "args": {
                "name": "page",
                "isOptional": false
              }
            },
            {
              "names": [
                "--page-size"
              ],
              "description": "0 fetches all.",
              "args": {
                "name": "page_size",
                "description": "0 fetches all.",
                "isOptional": false
              }
            },
            {
              "names": [
                "--output-format",
                "-o"
              ],
              "description": "Output format",
              "args": {
                "name": "output_format",
                "isOptional": false,
                "suggestions": [
                  {
                    "name": "json",
                    "description": "JSON"
                  },
                  {
                    "name": "yaml",
                    "description": "YAML"
                  },
                  {
                    "name": "csv",
                    "description": "CSV"
                  }
                ]
              }
            }
          ]
        }
      ]
    },
    {
      "name": "repo",
      "subcommands": [
        {
          "name": "list",
          "description": "List repositories within a project.",
          "options": [
            {
              "names": [
                "--query",
                "-q"
              ],
              "description": "Query",
              "args": {
                "name": "query",
                "isOptional": false
              }
            },
            {
              "names": [
                "--page"
              ],
              "description": "Page",
              "args": {
                "name": "page",
                "isOptional": false
              }
            },
            {
              "names": [
                "--page-size"
              ],
              "description": "Page size",
              "args": {
                "name": "page_size",
                "isOptional": false
              }
            },
            {
              "names": [
                "--output-format",
                "-o"
              ],
              "description": "Output format",
              "args": {
                "name": "output_format",
                "isOptional": false,
                "suggestions": [
                  {
                    "name": "json",
                    "description": "JSON"
                  },
                  {
                    "name": "yaml",
                    "description": "YAML"
                  },
                  {
                    "name": "csv",
                    "description": "CSV"
                  }
                ]
              }
            }
          ],
          "args": [
            {
              "name": "project",
              "isOptional": true
            }
          ]
        }
      ]
    }
  ]
}
