Skip to main content
commitdog works with four Git hosting platforms: GitHub, GitLab, Gitea, and Forgejo. Each platform requires a personal access token with specific scopes, and three of the four support self-hosted instances. You configure each platform once with commitdog setup and commitdog handles the rest — creating repos, pushing commits, opening pull requests, and publishing releases — all through the platform’s API without opening a browser.

Feature support by platform

Platform details

Token type: Classic personal access token (PAT)Create a token at: github.com/settings/tokensRequired scopes:
  • repo — full repository access (read/write)
  • write:org — create and manage organization repositories
  • read:user — read your account username
GitHub tokens must begin with ghp_ (classic PAT) or github_pat_ (fine-grained PAT). commitdog validates the prefix during commitdog setup and rejects tokens that do not match.Self-hosted: GitHub Enterprise is not currently supported. commitdog connects to api.github.com directly.Releases: commitdog creates a GitHub Release, uploads all build artifacts as release assets, and generates a checksums.txt file.Pull requests: Supported. On a feature branch, commitdog pr opens an interactive diff viewer and creates a PR. On main, it lists open PRs for you to review, merge (merge, squash, or rebase), or close.

Configuring a platform

Run commitdog setup and select the platform you want to configure. You can run commitdog setup multiple times to add or update tokens for different platforms — existing tokens for other platforms are not affected.
commitdog saves each token to ~/.config/commitdog/config.toml with 0600 permissions. Your tokens never leave your machine except when commitdog makes an API call to the platform you configured.