Skip to main content

Command reference

Every command's own --help is authoritative; this is the map.

Setting up

CommandWhat it does
dun init [--repo <path>]Install the git hooks into a repository and register it
dun verifyCheck the install end to end and name what to fix
dun configShow every setting and whether it was set or defaulted
dun config set <key> <value>Change one setting
dun config datalakeConfigure the sync target interactively

Day to day

CommandWhat it does
dun statusTrailer coverage and method mix; outside a repository, every instrumented one
dun reportSelf-contained local HTML report — no server, no network
dun logWhat the hooks did, including every error they swallowed
dun repos listWhat you have instrumented
dun repos candidatesRepositories with agent activity and no hooks
dun repos updateReinstall hooks everywhere after an upgrade
dun repos removeStop tracking a repository

Measuring

CommandWhat it does
dun baseline captureSnapshot delivery metrics before installing hooks
dun deltaCompare delivery before and after adoption
dun ingest [--since <time>]Read agent transcripts into the journal
dun daemon runForeground watcher; re-ingests as sessions change

Publishing

CommandWhat it does
dun syncPublish to the configured database
dun sync --dry-runPrint the exact payload without contacting anything
dun journal showPrint everything recorded locally
dun journal purgeDelete it, for the current repository only

CI

CommandWhat it does
dun check --base <ref>Fail if any commit since <ref> lacks a valid trailer

Maintenance

CommandWhat it does
dun updateUpgrade through Homebrew, then refresh every repository's hooks
dun versionThe installed version

Capture a baseline before you start

If you ever want to answer "did this change how we ship?", this has to run before dun init:

dun baseline capture

It records commit volume, median diff size, revert rate, cadence and purpose distribution over the last 90 days as a dated, immutable snapshot.

The pre-adoption window closes the moment hooks start stamping trailers, and it cannot be recaptured afterwards. That is why baselines live outside data/ — everything else in the journal can be rebuilt by re-ingesting; this cannot.

PR throughput, cycle time and change-failure rate cannot be read from git, so they are optional flags you supply from your own dashboard (--prs-merged, --median-cycle-hours, --change-failure-rate). Anything not passed is omitted from the snapshot rather than recorded as zero.