Skip to content

takeaseatventure/committree

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

committree

Beautiful, readable git commit-graph trees in your terminal — and exportable as SVG.

A focused, zero-dependency alternative to git log --graph. Cleaner glyphs, stable per-lane colors, and a layout that stays narrow on busy histories.

●  a1b2c3d Release v2.0.0
│
◆  b2c3d4e Merge branch 'feat/tree-graph'
│╲
●│  c3d4e5f Fix lane overflow on wide repos
││
│●  f6e5d4c Add Unicode node glyphs
││
│●  9a8b7c6 Color palette per lane
╱
●  d4e5f6a Tidy lane state machine
│
●  e5d4c3b Initial graph layout engine
│
◉  1a2b3c4 Initial commit

Every commit is connected: continuous vertical lanes, a where a branch forks off a merge, and a where a feature branch joins back. Run it yourself with committree --demo.

Install

npm install -g committree

Or run it once without installing:

npx committree

Usage

committree                 # graph for current branch
committree -n 20           # last 20 commits
committree --all           # all branches
committree --format short  # hash + author + date + subject
committree --no-color      # pipe-friendly, no ANSI
committree --svg > g.svg   # export the graph as an SVG image
committree --demo          # sample graph, no repo needed

Glyphs

Glyph Meaning
root commit (no parents)
normal commit
merge commit (2+ parents)
branch line (continuous lane)
branch forking off to the right
branch joining back to the left

Each lane gets a stable color so you can follow a branch visually.

Export to SVG

Use --svg to render the graph as a standalone SVG document — great for embedding in READMEs, docs, slides, or blog posts:

committree --svg > graph.svg
committree --svg --format short > graph.svg   # include author + date

The SVG uses a dark theme (#0d1117 background), per-lane colors matching the terminal output, and is fully self-contained (no external fonts or assets).

Why?

git log --graph works, but its output is noisy and the layout sprawls on long-lived feature branches. committree keeps the graph compact and the connectors unambiguous. It's the view you want when reading history, not the view git gives you by default.

License

MIT

About

Beautiful git commit-graph trees in your terminal — exportable as SVG. A focused alternative to git log --graph.

Topics

Resources

License

Stars

0 stars

Watchers

0 watching

Forks

Packages

 
 
 

Contributors