activity

Shows one aggregated GitHub-style commit activity calendar across target repositories.

Usage

git-wrangler activity [--repo <path>] [--all] [--user <name-or-email>] [--year YYYY] [--global-scale] [--guided]

What it does

Discovers Git worktrees under the current directory, or targets exactly one worktree with --repo, and aggregates commits by UTC author date. It does not fetch remotes.

By default, each repository is scanned from the default branch resolved through origin/HEAD, preferring the corresponding local branch, plus local or remote-tracking gh-pages. If origin/HEAD is unavailable, the command scans the current HEAD and prints a warning.

Commit hashes are deduplicated across repositories, so a commit reachable from multiple worktrees or refs is counted once. Failed repository scans are excluded from the calendar, reported as failures, and make the command exit nonzero after rendering the partial aggregate.

Options

FlagRequiredDescription
--repo <path>OptionalTarget exactly one repository instead of discovering recursively.
--allOptionalScan all normal refs except internal refs/git-wrangler/* refs.
--user <name-or-email>OptionalInclude an exact author name or email, case-insensitively. Repeat to include multiple authors.
--year YYYYOptionalRender only commits whose UTC author date is in the requested year.
--global-scaleOptionalUse one activity intensity scale across all rendered years instead of scaling each year.
--guidedOptionalInteractively configure command options before execution.

Calendar behavior

  • Years render newest first with Sunday-first weeks.
  • Terminal output uses green activity cells; plain output uses ., 1, 2, 3, and 4.
  • The default four-level intensity scale is calculated independently per year.
  • --global-scale calculates intensity from the maximum daily count across all rendered years.
  • No matching commits is a successful no-activity result.
  • An explicitly requested empty year still renders its empty calendar.

Examples

# Aggregate default-branch and gh-pages activity across the workspace
git-wrangler activity

# Render one year for selected author identities
git-wrangler activity --year 2026 --user "Jane Doe" --user jane@example.com

# Include every normal ref and use one scale across years
git-wrangler activity --all --global-scale

# Configure filters interactively
git-wrangler activity --guided

Notes

  • Author dates are converted to UTC before filtering and aggregation.
  • --user matches exact author names or emails, not substrings.
  • --all can include commits outside the default branch and gh-pages.
  • Internal Git Wrangler state refs are never included.