{"id":24200363,"url":"https://github.com/d0x7/ghclone","last_synced_at":"2026-05-01T23:31:31.793Z","repository":{"id":176684044,"uuid":"625459855","full_name":"d0x7/ghclone","owner":"d0x7","description":"Cli util to clone whole github accounts or organizations","archived":false,"fork":false,"pushed_at":"2024-08-21T19:31:55.000Z","size":26,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-12-02T04:00:00.010Z","etag":null,"topics":["cli","github","github-api","go","golang"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/d0x7.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-04-09T07:05:49.000Z","updated_at":"2025-01-23T23:56:36.000Z","dependencies_parsed_at":null,"dependency_job_id":"087e71e8-d717-402a-b6a4-2e1e1c8883d4","html_url":"https://github.com/d0x7/ghclone","commit_stats":null,"previous_names":["d0x7/ghclone"],"tags_count":5,"template":false,"template_full_name":null,"purl":"pkg:github/d0x7/ghclone","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/d0x7%2Fghclone","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/d0x7%2Fghclone/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/d0x7%2Fghclone/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/d0x7%2Fghclone/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/d0x7","download_url":"https://codeload.github.com/d0x7/ghclone/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/d0x7%2Fghclone/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32517092,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-30T13:12:12.517Z","status":"online","status_checked_at":"2026-05-01T02:00:05.856Z","response_time":64,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cli","github","github-api","go","golang"],"created_at":"2025-01-13T20:50:03.436Z","updated_at":"2026-05-01T23:31:31.766Z","avatar_url":"https://github.com/d0x7.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# GH Clone\n\n[![goreleaser](https://github.com/d0x7/ghclone/actions/workflows/goreleaser.yaml/badge.svg)](https://github.com/d0x7/ghclone/actions/workflows/goreleaser.yaml)\n![License](https://img.shields.io/badge/license-MIT-blue)\n\nA simple cli tool that clones whole GitHub accounts or organizations.\n\n## Installation\n\nYou can either download the latest release from the [release page](https://github.com/d0x7/ghclone/releases/latest), or\nyou can install it via `go install`:\n\n```bash\ngo install xiam.li/ghclone/cmd/ghclone@latest\n```\n\n`ghclone` will then be available in your `$GOPATH/bin` directory.\n\n## Usage\n\nThe command syntax is as follows:\n\n```bash\nghclone [flags] \u003caccount\u003e\n```\n\nIf the `--type`/`-t` flag is not supplied, the tool will try a organization first and if that fails, it will ask to t\n\nThe `account` argument can either be a GitHub username or an organization name.\n\nTo clone a GitHub organization, run the following command:\n\n```bash\nghclone --all golang\n```\n\nThis will clone all repositories of the `golang` organization into the `golang` directory.\n\nIf there are more than 100 repositories, you will be prompted if you wanna clone the next page too, unless\nthe `--all`/`-a` flag is supplied, then all repositories will be downloaded without a prompt.\nIf `--all`/`-a` is not supplied but `--no-prompt`/`-np` is, the tool will stop after the first page, without a prompt.\n\nIf you want to clone a personal account, run the following command:\n\n```bash\nghclone -u octocat\n```\n\nThis would download the first page (by default 100 repositories, customizable with the `--per-page`/`-pp` flag) and if\nthere are more repositories left, it will prompt you if you wanna clone the next page and so on.\n\n## Flags\n\n| Flag                      | Description                                                                                                                                                                            | Default      |\n|---------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|--------------|\n| `--help`/`-h`             | Shows the help.                                                                                                                                                                        |              |\n| `--version`/`-v`          | Shows the version.                                                                                                                                                                     |              |\n| `--type`/`-t`             | The type of the GitHub account. Can be either `user` or `org`.                                                                                                                         | `org`        |\n| `--user`/`-u`             | Alias to `--type user`                                                                                                                                                                 |              |\n| `--page`/`-p`             | The page to start cloning from.                                                                                                                                                        | `1`          |\n| `--per-page`/`-pp`        | The amount of repositories per page.                                                                                                                                                   | `100`        |\n| `--verbose`/`-V`          | Whether to print verbose output.                                                                                                                                                       | `false`      |\n| `-quiet`/`-q`             | Whether to suppress unnecessary, informational, output.                                                                                                                                | `false`      |\n| `-quieter-quiet`/`-qq`    | Whether to suppress all output. Errors will still be printed.                                                                                                                          | `false`      |\n| `--no-prompt`/`-np`       | Whether to prompt the user to clone the next page.                                                                                                                                     | `false`      |\n| `--all`/`-a`              | Whether to clone all pages.                                                                                                                                                            | `false`      |\n| `--dry-run`/`--dry`/`-dr` | Whether to only print the repositories that would be cloned.                                                                                                                           | `false`      |\n| `--output`/`-o`           | The output directory.                                                                                                                                                                  | Account Name |\n| `--token`                 | GitHub Fine-grained Token for use in authentication. Optional to avoid rate limiting.\u003cbr/\u003eNeeds Repository-\u003eMetadata-\u003eRead-Only and Repository-\u003eContents-\u003eRead-Only permissions.       |              |\n| `--pat`                   | GitHub Personal Access Token for use in authentication. Optional to avoid rate limiting.\u003cbr/\u003eNeeds full repo access permissions. Use of fine-grained tokens are recommended over PATs. |              |\n\n**Note:** A PAT can be supplied via the token flag and vice-versa; they're both parsed into the same field, and there's\nno difference whether of the two flags are used.\n\n## License\n\n[MIT](LICENSE) © 2023 Dorian Heinrichs\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fd0x7%2Fghclone","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fd0x7%2Fghclone","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fd0x7%2Fghclone/lists"}