Infra Atlas · Toolbox

Git & Source Control.

lazygit and delta are in the Shell & Productivity toolbox since they're general-purpose developer tools. This department covers the git-specific layer: history browsing that isn't git log --graph, the GitHub CLI that replaces opening a browser for every PR, and the maintenance tools for history rewriting and changelog generation. Smaller domain, but each tool eliminates a genuinely tedious workflow.

Form
Language
Picks
tig replaces git log --graph --all browsing

Text-mode interface for git: browse commit history with a graph, view diffs, inspect blame, check stashes — all in the terminal without leaving your workflow. tig in any repo opens a navigable history view; tig blame file.go shows an annotated blame you can drill into commit-by-commit. Mature (15+ years), widely installed, and fast. The reference terminal git browser that gitui compares itself against.

TUI C mature dev
jonas/tig
gh replaces GitHub web UI for PR and issue management

The official GitHub CLI. Create PRs, review code, merge branches, manage issues, trigger workflows, clone repos — without opening a browser. gh pr create, gh pr checkout 123, gh run watch. Scriptable (outputs JSON), integrates with fzf for interactive selection. If you use GitHub for more than 30 minutes a day, gh will save at least 5 of them. Extensible via gh extension install.

CLI Go mature dev
cli/cli
gitui replaces tig (faster, more actions)

Terminal UI for git written in Rust — faster than tig for large repos, with staging/unstaging, commit, push, branch management, and stash operations built in, not just log browsing. If tig is a read-heavy history browser, gitui is closer to a full git client in the terminal. Actively developed, noticeably snappier on repos with deep history. Worth trying if tig feels slow or you want to stage hunks without leaving the terminal.

TUI Rust emerging dev
extrawurst/gitui
git-cliff replaces manually writing CHANGELOG.md

Changelog generator driven by git history. Reads conventional commits (feat:, fix:, chore:) and renders a CHANGELOG.md grouped by type and version. Configured via a cliff.toml with a Tera template — full control over grouping, skipping, and formatting. Integrates into CI: git-cliff --latest generates the changelog section for the current tag. Pairs naturally with GoReleaser.

CLI Rust emerging dev
orhun/git-cliff
git-filter-repo replaces git filter-branch / BFG Repo-Cleaner

Fast, safe tool for rewriting git history — remove a file from every commit, rename paths, strip large blobs, split a repo, graft histories. The git project's own recommendation to replace git filter-branch (which is slow, error-prone, and has a warning to not use it for most tasks). Much faster than BFG for large repos. The right answer when a secret or a large binary was accidentally committed and needs to be expunged from history entirely.

CLI Python mature dev
newren/git-filter-repo
onefetch replaces "what is this repo and who maintains it?"

Neofetch for git repos: displays project name, description, primary language, contributor count, commit activity, license, and repo size in a formatted terminal panel — including an ASCII art logo for the detected language. Not a power tool, but genuinely useful when onboarding to an unfamiliar codebase or doing a quick audit of a dependency. onefetch in a repo directory is all it takes.

CLI Rust emerging dev
o2sh/onefetch
*

lazygit (interactive staging and commit) and delta (diff viewer) are in the Shell & Productivity toolbox — they were there from the start and are general-purpose enough to stay. tig vs gitui: both are good; tig is the mature standard, gitui is faster and has more write operations built in. gh is the only tool here that requires network access (it talks to the GitHub API).