# View all your repos: (iwr https://api.github.com/users/yetanotherchris/repos?per_page=1000).Content | jq '.[].html_url' # Get all repositories (including private ones) using gh cli # The gh cli handles authentication and paging automatically, and private repos $repos = gh repo list yetanotherchris --limit 1000 --json nameWithOwner,sshUrl | ConvertFrom-Json # Clone each repository foreach ($repo in $repos) { Write-Host "Cloning $($repo.nameWithOwner)..." -ForegroundColor Green gh repo clone $repo.nameWithOwner } # Now zip up the folders + upload to your favourite S3 provider