Usage
Commands
login
Authenticate with one or all providers:
repos-manager login # All detected providers
repos-manager github login # GitHub only
repos-manager gitlab login # GitLab only sync
Sync repositories from a provider:
repos-manager github sync # Sync GitHub repos
repos-manager sync --all # All providers
repos-manager sync --all --parallel 8 # 8 concurrent jobs
repos-manager github sync --filter Dxsk/* # Only Dxsk's repos
repos-manager sync --all --prune # Remove deleted remote repos
repos-manager sync --all --dry-run # Preview without changes status
Show dirty, ahead, behind, and diverged repos:
repos-manager status Output:
github.com/Dxsk/dotenv dirty
github.com/Dxsk/mtd ahead (+2)
gitlab.com/work/api behind (-3)
Total: 42 repos - 39 clean, 1 dirty, 1 ahead, 1 behind, 0 diverged While the scan is running, a single-line progress indicator shows the current repo being inspected on stderr ([N] provider/owner/repo). It is suppressed when stderr is not a TTY or when --quiet is set.
status walks every .git directory under base_dir, pruning heavy vendored directories (node_modules, .venv, venv, __pycache__, target, vendor, dist, build, .next, .cache) and, by default, every network or FUSE mount point under base_dir (cloud drives, NFS, SMB, sshfs). Use --verbose to see which mounts were skipped, and see the Configuration page, Network-mount scanning, to opt back in.
init
Create a default config file:
repos-manager init update
Check for updates and self-update:
repos-manager update In addition to this manual command, every other invocation (sync, status, init, login) runs a non-blocking background update check and prints a one-line yellow banner on the next run when a newer release is available. The check is cached for 24 hours and never slows down the command in progress. See the Configuration page, Update banner, for the opt-out flags.
help
Each provider has its own help page:
repos-manager --help # General help
repos-manager github --help # GitHub-specific help
repos-manager gitlab --help # GitLab-specific help Flags
| Flag | Description | Default |
|---|---|---|
--filter <pattern> | Filter repos by pattern | None |
--base-dir <path> | Base directory | ~/Documents |
--https | Use HTTPS instead of SSH | SSH |
--prune | Remove local repos not on remote | Off |
--dry-run | Preview without making changes | Off |
--host <host> | Custom host for self-hosted | Provider default |
--parallel <n> | Concurrent sync jobs | 4 |
--verbose, -v | Show debug output | Off |
--quiet, -q | Suppress info/success messages (errors still shown) | Off |