Providers
Provider status
| Provider | Status | Notes |
|---|---|---|
| GitHub | Tested | Stable, daily use |
| GitLab | Tested | Stable, including self-hosted |
| Forgejo / Gitea | Tested | Stable |
| Bitbucket | Beta | API fallback implemented, needs more testing |
| Radicle | Beta | Experimental, peer-to-peer |
Bitbucket and Radicle support is functional but has not been extensively tested in production. If you encounter a bug, please open an issue - contributions and bug reports are welcome.
GitHub
# Install
sudo pacman -S github-cli # Arch
brew install gh # macOS
# Authenticate
repos-manager github login
# Sync
repos-manager github sync Fetches repos from your account and all organizations you belong to.
GitLab
# Install
sudo pacman -S glab # Arch
brew install glab # macOS
# Self-hosted
repos-manager gitlab sync --host gitlab.company.com Supports pagination for large instances. Works with GitLab.com and self-hosted.
Forgejo / Gitea
CLI: tea (docs) Extra runtime deps: curl, yq
# Install tea for authentication
sudo pacman -S tea curl yq # Arch
brew install tea curl yq # macOS
# Authenticate once per instance
tea login add
# or
repos-manager forgejo login
# Self-hosted
repos-manager forgejo sync --host git.example.com How listing works
tea repo list only returns the authenticated user's own repositories and does not enumerate organizations, so repos-manager talks to the Forgejo REST API directly instead. It reads the per-host URL and token from ~/.config/tea/config.yml, then paginates three endpoints and merges the results:
/api/v1/user/reposfor your personal repos/api/v1/user/orgsfor the organizations you belong to/api/v1/orgs/{org}/reposfor every such organization
tea itself is still the recommended way to create the login entry, but it is not called during sync. The config file is the source of truth for credentials.
If no tea login matches a configured host, the host is skipped with a warning and the sync continues with the next one. If curl or yq is missing, sync aborts with a clear message telling you which package to install.
Bitbucket
CLI: bitbucket or API fallback (docs)
If the bitbucket CLI is not installed, repos-manager falls back to the Bitbucket REST API with app password authentication.
# Authenticate (creates ~/.config/repos-manager/bitbucket-creds)
repos-manager bitbucket login
# Sync
repos-manager bitbucket sync Create an app password at bitbucket.org/account/settings/app-passwords with Repositories: Read scope.
Radicle
Radicle is a sovereign peer-to-peer code forge. repos-manager lists tracked repos from your local Radicle node.
# Install rad from https://radicle.xyz
# Authenticate
repos-manager radicle login
# Sync
repos-manager radicle sync