repo-keeper v0.1.0-beta.7 GitHub

Configuration

The starter configuration, generated from the binary.

The configuration is one TOML file (default ~/.config/repo-keeper/config.toml). Unknown keys are errors, so a typo never silently weakens a policy; check a file with repo-keeper config validate. Accounts hold the platform settings (see Providers for the per-platform fields); credentials never go in this file.

Starter configuration

This is exactly what repo-keeper init writes in version 0.1.0-beta.7.

# repo-keeper configuration. Secrets never go in this file.
[general]
interval = "30m"        # how often each repo is synced (minimum 5m)
concurrency = 4         # repos synced in parallel
per_host = 2            # parallel operations per remote host
# quiet_hours = "23:00-07:00"

[cleanup]
mode = "dry-run"        # off | dry-run | auto. Only local branches are ever touched.
min_age = "168h"        # never delete branches whose newest commit is younger than this
protected = ["main", "master", "trunk", "develop", "dev", "staging", "production", "release/*", "hotfix/*"]

# Once a day repo-keeper asks GitHub whether a newer release exists (one anonymous request, nothing about you is
# sent) and tells you in "status", "doctor" and the web interface. It never installs anything by itself.
# [update]
# check = false         # opt out of the check

# [[repo]]
# path = "/home/you/code/project"
# cleanup = "auto"      # per-repo override

# Discover and clone everything an account can access (repo-keeper accounts add ...):
# [general]
# root = "/home/you/code"
# [[account]]
# name = "personal"
# provider = "github"
# include = ["me/*", "my-org/*"]
# exclude = ["*/archive-*"]