Skip to content

CLI

Every keel command and its flags. This page is hand-maintained against the binary — run keel <command> --help for the authoritative, version-specific list.

keel new

Scaffold a repository from a recipe.

keel new --recipe go-service
Flag Default Effect
--recipe go-service Recipe to use — a built-in name (go-service, go-library, rust-service) or a path to a recipe file.
--target repo name Target directory.
--answers — Read answers from a YAML file.
--no-input false Never prompt; fail if a required answer is missing (CI mode).
--remote-url — Wire/clone an existing remote instead of creating one.
--overwrite false Overwrite existing files when overlaying onto a tree.
--dry-run false Print the plan; touch neither disk nor network.

keel update

Re-apply evolved module templates to an existing repo (hash-aware overlay; user edits are preserved as .keel-new). See Updating a repo.

Flag Default Effect
--path . Repository path to update.
--dry-run false Print the plan; write nothing (external module sources are still fetched).
--reconfigure false Re-run the wizard and re-render all modules.
--no-input false Never prompt (CI mode); only meaningful with --reconfigure.
--commit false Commit the update when there are no conflicts (chore: keel update).
--overwrite false Overwrite user-edited files instead of writing .keel-new.
--modules — Restrict to a comma-separated subset of modules.

keel outdated

Report which of a repo's keel modules have newer versions available, without changing anything.

Flag Default Effect
--path . Repository path to inspect.
--modules-only false Check only keel module versions.
--tools-only false Check only tool/action pins.

keel list

List the available recipes and modules known to your binary.

keel list

keel config

Manage keel's user config ($UserConfigDir/keel/config.yaml). See Configuration.

Subcommand Effect
keel config get <key> Print a single config value.
keel config set <key> <value> Set a config value.
keel config list Print all config values.

A persistent --file <path> flag points the subcommands at a config file in a specific location.

keel version

Print version, commit, and build date:

keel version
# keel v2.1.1 (commit abc1234, built 2026-08-15T05:49:39Z)

A release binary carries these values from -ldflags, injected by GoReleaser and by task build. A binary from go install gets no ldflags, so keel falls back to the module version and VCS stamp Go records in every build — meaning a go installed keel still reports which release it is, rather than dev. A build from a working tree with uncommitted changes reports the tag with a +dirty suffix.