Quick Start#
Install gh-velocity and run your first metrics in under 5 minutes.
Prerequisites#
You need the GitHub CLI installed and authenticated:
# Install (macOS shown — see gh docs for Linux/Windows)
brew install gh
# Authenticate
gh auth loginFor private repos you need at least repo scope. Public repos work without special scopes.
Install#
gh extension install dvhthomas/gh-velocityVerify it works:
gh velocity versionGenerate a config file#
All metric commands require a .gh-velocity.yml file. The preflight command analyzes your repo and generates one for you:
cd your-repo
gh velocity config preflight --writeThis inspects your repo's labels, project boards, PRs, and issues, then writes a starter config. You'll see output like:
Analyzing dvhthomas/gh-velocity...
Labels: 8 found
Projects: 1 board (gh-velocity tracker)
PRs (last 30d): 14
Issues (last 30d): 22
Wrote .gh-velocity.ymlHow did preflight know which labels to use? It reads your repo's actual labels and recent issues, then suggests matchers based on what it finds. The generated config includes match evidence showing how many issues each matcher would catch — check the comments in
.gh-velocity.ymlto see.
Run your first report#
gh velocity report --since 30dThis produces a composite dashboard covering the last 30 days:
- Lead time — how long from issue creation to close
- Cycle time — how long from work started to close
- Throughput — how many items closed per week
- Velocity — effort delivered per iteration (if configured)
Each section computes independently. If your config doesn't have everything set up yet (for example, no project board for velocity), those sections are gracefully skipped — you still see the rest.
Try the same report as structured JSON:
gh velocity report --since 30d --format json | jq '.lead_time.stats'Analyze a specific release#
If your repo uses tags for releases:
gh velocity quality release v1.0.0This shows release composition (bugs vs features), per-issue timing, and aggregate statistics.
Analyze remote repos#
You don't need to clone a repo to analyze it. Use --repo (short: -R):
gh velocity report --since 30d -R cli/cliWhen you run from inside a local clone, gh-velocity uses local git for faster tag listing and commit history. It also enables the
commit-reflinking strategy, which can discover issues that aren't linked via PRs.
Next steps#
- How It Works — understand how your GitHub workflow maps to metrics
- Configuration — customize your config for lifecycle tracking, quality categories, and velocity
- CI Setup — automate reports with GitHub Actions
- Interpreting Results — understand what the numbers mean