vcspull import github¶
Import repositories from GitHub or GitHub Enterprise.
Command¶
Import repositories from GitHub (github.com or GitHub Enterprise).
Usage¶
usage: vcspull import github [-h] [-w DIR] [-l LANG] [--topics TOPICS] [--min-stars N] [--archived] [--forks] [--limit N] [-f FILE] [--dry-run] [--yes] [--json] [--ndjson] [--https] [--sync] [--prune] [--prune-untracked] [--color {auto,always,never}] [--token TOKEN] [-m {user,org,search}] [--url URL] TARGET
Positional Arguments¶
- target TARGET¶
User, org name, or search query. For GitLab, supports subgroups with slash notation (e.g., parent/child).
Options¶
Filtering¶
Output¶
- -f, --file FILE¶
Config file to write to (default: ~/.vcspull.yaml)
- --dry-run, -n¶
Preview without writing to config file
- --yes, -y¶
Skip confirmation prompt
- --json¶
Output as JSON
- --ndjson¶
Output as NDJSON (one JSON per line)
- --https¶
Use HTTPS clone URLs instead of SSH (default: SSH)
- --sync¶
Sync config with remote: update URLs for existing entries whose URL has changed, and remove entries no longer on the remote. Preserves all metadata (options, remotes, shell_command_after). Respects pinned entries (options.pin.import).
- --prune¶
Remove config entries tagged by a previous import that are no longer on the remote. Does not update URLs for existing entries (use --sync for that). Implied by --sync. Respects pinned entries.
- --prune-untracked¶
With --sync or --prune, also remove config entries in the target workspace that lack import provenance (e.g. manually added repos). Entries imported from other sources and pinned entries are preserved. Requires --sync or --prune.
- --color¶
When to use colors (default: auto)
Authentication¶
Env vars:
GITHUB_TOKEN(primary),GH_TOKEN(fallback)Token type: Personal access token (classic) or fine-grained PAT
Permissions:
Classic PAT: no scopes needed for public repos;
reposcope for private repos;read:orgfor org reposFine-grained PAT: “Metadata: Read-only” for public; add “Contents: Read-only” for private
Create at: https://github.com/settings/tokens
Set the token:
$ export GITHUB_TOKEN=ghp_...
Then import:
$ vcspull import gh myuser --workspace ~/code/