lattice v0.9.2

A quiet navigator for git history

History,
structured.

Lattice draws your repository's commit graph as it actually happened: parallel lines of work keep their lanes, merges converge in the open, and the diff is never more than a keystroke away.

curl -fsSL get.lattice.sh | sh Meet the keys

macOS · Linux · WSL2 · one 1.2 MB binary, no daemon, no config

lattice · relay 128 commits · 3 lanes

~/relay$lattice

main feat/graph fix/cursors v2.4 rework lane math fix cursor after / HEAD

A 128-commit history in three lanes, drawn and laid out in 4 ms.

A log flattens history.

A lattice keeps the shape.

Why lattice

Read the shape of the work

History is not a list. It is a set of lines running in parallel, diverging and converging. Lattice draws that structure, then lets you move through it.

The graph, at true scale

Every commit sits where it actually happened. Parallel lines of work keep their lanes, and merges converge exactly where they converge. What a flattened log hides, the lattice draws.

Keys, not menus

j and k walk the history, g and G jump to the edges, t opens a commit in your editor, and / filters by hash, author, or message. Nothing to click, nothing to configure.

Context, one keystroke deep

o opens the diff, s opens the file as it was at that revision, y puts the hash on the clipboard. The answer is never more than a keypress from the question.

The keys

Ten keys. No mouse.

Every binding works out of the box. If you rebind one, .latticerc is three lines long.

  • jkNext and previous commit
  • gGFirst and last commit
  • hlStep to a parent, or back to a child
  • tOpen the commit in $EDITOR
  • /Filter by hash, author, or message
  • oOpen the diff
  • sOpen the file as it was at this revision
  • yCopy the hash to the clipboard
  • ?Show this help, in place
  • qQuit

Install

One line, and you're in.

curl -fsSL get.lattice.sh | sh
  • brew install lattice works too, if your tools live in Homebrew.
  • The script verifies the PGP signature before it installs to ~/.local/bin.
  • Uninstalling is lattice --uninstall. Nothing else is left behind.

macOS 12+ · Linux glibc 2.31+ · WSL2 · x86_64 and arm64