Skip to main content
commitdog stores all credentials and preferences in two files: a global config at ~/.config/commitdog/config.toml that holds your platform tokens and email addresses, and an optional per-repo file called .commitdog in each repository root that controls release build targets, the primary platform, and any mirror platforms. You never edit these files by hand during setup — commitdog setup creates and updates config.toml for you, and commitdog release config writes .commitdog — but knowing the structure helps you understand what is stored and how to adjust it if needed.

Global config file

Location: ~/.config/commitdog/config.toml Permissions: 0600 — only your user account can read or write it. commitdog creates this file the first time you run commitdog setup. You can store tokens for all four platforms at the same time; commitdog reads the appropriate section based on which platform a given repository uses.
commitdog collects zero telemetry. Your tokens and email are written locally to config.toml and leave your machine only when commitdog makes a direct API call to the platform you configured (for example, to create a repo or publish a release). No analytics, no pings, no third-party services.

TOML structure

The file has a single top-level key (email) and one section per platform. When commitdog needs an email for a platform, it first checks the platform-specific email key. If that is not set, it falls back to the top-level email. This lets you use different identities on different platforms without affecting your global Git config.

Sample config.toml

You do not need all four sections. commitdog only writes a section when you configure that platform with commitdog setup. Sections for platforms you have not configured will simply be absent.

Per-repo project config

Location: .commitdog in your repository root Permissions: 0644 This file is created by commitdog release config and stores which platform the repo uses, which platforms mirror it, and which binary targets to build during a release. It is safe to commit this file to your repository.

File structure

Older .commitdog files may use a platform key instead of primary. commitdog reads both and prefers primary when present. The mirrors key only appears once you have added at least one mirror; see Mirrors for how mirrors work.

Available build targets

Run commitdog release config at any time to toggle targets interactively. If you run commitdog release without a .commitdog file present, commitdog will ask you to configure targets or use the defaults before proceeding.