Inspect one local Git repository's calendars, authors, contributors, and reports without a network request or forge account.
curl -fsSL https://raw.githubusercontent.com/knowledgeislands/tools-git-almanac/main/install.sh | bashThe installer verifies the published SHA-256 manifest before replacing anything. To run this checkout instead of a release, link it:
bun install
./install.sh --linkInstallation covers exact versions, install directories, Homebrew, the manual page, shell completion, and removal.
git almanac calendar
git almanac authors
git almanac contributors --since 2026-01-01The repository argument is optional: Git Almanac discovers the repository containing the current directory, including from a nested directory. Single-file commands write to standard output unless --output is supplied, and an .html, .svg, or .json extension infers the format.
Build the complete linked static report under <repository-root>/reports/git-almanac/:
git almanac report
open reports/git-almanac/index.htmlEveryday use covers history selection, output formats, and reading the results; Reports covers the managed report and its manifest.
By default Git Almanac counts each commit object reachable from HEAD once, excludes merge commits, preserves each exact raw Git Name <email> identity without guessing equivalence, groups by author date in the local timezone, and covers the 365 local calendar dates ending today. --author, --path, --ref, --since, --until, --date, and --include-merges make every deviation explicit.
Contributor percentages describe the selected commit history; they are not productivity scores. The durable behaviour contract lives in the Git Almanac Specification, with product decisions in Decision Records.
Guides are grouped by audience: user guides for installing, inspecting, reporting, and troubleshooting, and developer guides for local development, the definition of done, and releasing.
The name describes a local collection of Git calendars, identities, statistics, and reports. The git-almanac executable is naturally available as the git almanac extension command.
MIT © 2026 Kris Brown.