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
- GitHub
- GitLab
- Gitea
- Forgejo
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 repositoriesread:user— read your account username
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
Runcommitdog 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.
~/.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. Option 5 disconnects a platform: it deletes the saved token and removes the platform’s remote and .commitdog entry from the current repo. See Remove a platform.
Using multiple platforms at once
A single repo can live on several platforms at the same time. One platform is the primary and the rest are mirrors, each with its own git remote. Add mirrors withcommitdog init, push to a specific platform with the shortcut flags (commitdog -gh, -gl, -gt, -fg), and publish a release everywhere with commitdog release --all. See Mirrors for the full workflow.