{
  "description": "Clone every repository of an organization, group or user. Tokens are deliberately not a field; keep them in the ghorg config or the environment.",
  "name": "ghorg",
  "subcommands": [
    {
      "name": "clone",
      "description": "Clone all repositories of an owner",
      "options": [
        {
          "names": [
            "--scm"
          ],
          "description": "Hosting service",
          "args": {
            "name": "scm",
            "isOptional": false,
            "suggestions": [
              {
                "name": "gitlab",
                "description": "GitLab"
              }
            ]
          }
        },
        {
          "names": [
            "--clone-type"
          ],
          "description": "Owner type",
          "args": {
            "name": "clone_type",
            "isOptional": false,
            "suggestions": [
              {
                "name": "user",
                "description": "User"
              }
            ]
          }
        },
        {
          "names": [
            "--base-url"
          ],
          "description": "Self-hosted base URL",
          "args": {
            "name": "base_url",
            "isOptional": false
          }
        },
        {
          "names": [
            "--path"
          ],
          "description": "Clone into (absolute path)",
          "args": {
            "name": "path",
            "isOptional": false,
            "template": "folders"
          }
        },
        {
          "names": [
            "--output-dir"
          ],
          "description": "Output directory name",
          "args": {
            "name": "output_dir",
            "isOptional": false
          }
        },
        {
          "names": [
            "--match-regex"
          ],
          "description": "Only repositories matching regex",
          "args": {
            "name": "match_regex",
            "isOptional": false
          }
        },
        {
          "names": [
            "--skip-archived"
          ],
          "description": "Skip archived"
        },
        {
          "names": [
            "--skip-forks"
          ],
          "description": "Skip forks"
        },
        {
          "names": [
            "--preserve-dir"
          ],
          "description": "Preserve directory structure"
        },
        {
          "names": [
            "--backup"
          ],
          "description": "Mirror backup"
        },
        {
          "names": [
            "--concurrency"
          ],
          "description": "Concurrent clones",
          "args": {
            "name": "concurrency",
            "isOptional": false
          }
        }
      ],
      "args": [
        {
          "name": "owner",
          "isOptional": true
        }
      ]
    }
  ]
}
