lattice

git, readable

Git history, legible.

Lattice is a quiet command line companion for navigating git history. Jump to the commit that matters, ask what changed and why, and follow a symbol from its first line to today. No pager gymnastics, no ceremony.

$ lattice jump auth refactor
3 matches in 412 commits · 0.4s
• a3f8c2e 30 Sep rework token refresh behind lattice#114
• 77b10d4 14 Sep add refresh-token rotation
• c02e9a1 28 Aug split auth/ into its own module
j jump to a3f8c2e ← refine a open in editor
$ lattice ask when did we stop writing to redis?
answer · 12 May, nine weeks before the incident
• 9d04b7f 12 May remove redis from the write path
review #482 · 3 approvals · 14 files (+62 −214)
context: the incident report cites the stale cache twice
o open commit c show citing documents q back
$ lattice trace parseConfig
6 changes since 28 Aug · stable for 12 days
c02e9a1 28 Aug introduced parseConfig()
77b10d4 14 Sep renamed flags, env fallback added
a3f8c2e 30 Sep moved to config.load()
b blame view g graph view q back

Three verbs

Jump

Fuzzy-jump to any commit by message, branch, author or review. lattice jump auth refactor lands you in the right place in under half a second, even on repositories with a hundred thousand commits.

Ask

Put the question in words. Lattice answers with the commit, the review and the diff, and points at whatever in the repository explains the decision. It cites its sources; you can always check.

Trace

Follow a function, flag or line through its whole life. Trace shows every change, who made it and when it went quiet, so the next time it breaks you already know the story.

You already know git. Lattice just stops getting in the way.

A pager that talks back

Install

brew install lattice
curl -fsSL https://lattice.sh/install.sh | sh