Skip to content
epavanelloPublic

About

A fast, minimal Git Graph for VS Code and Cursor, built for branches, worktrees and reviews.

Topics

Resources

Stars

9 stars

Watchers

0 watching

Forks

Repository files navigation

Treeline

Git Graph, rebuilt for how you work today: feature branches, stacked PRs, worktrees and Claude Code. For VS Code and Cursor.

VS Code Marketplace Open VSX License: MIT

Treeline in VS Code: compare your branch with main, review its diff, juggle worktrees and stacked pull requests

▶ Watch the demo, with sound

Compare · Review · Worktrees · Stacks & PRs · Cleanup · Claude Code

🌿 Your branch vs main

↑ahead ↓behind, always on top, and they're filters. One click shows just your branch's commits. Commits that landed through "Rebase and merge" or a cherry-pick count as merged, not as bogus ↑↓.

Compare with main: ahead and behind as filters

🔍 Review before the PR does

Every commit, readable. Message, author, the branches on it, a copyable hash, its parents one click away.

The details panel of a commit

Inline diffs, in your editor's colors. Every change on one page, like a pull request, highlighted with your own theme and grammars, or one file at a time next to the file list. Diff shows the whole branch since the fork, uncommitted work included, and diffs open on your real files, so Go to Definition just works.

Inline diff colored by the editor's theme

🗂️ Worktrees at a glance

One chip per worktree: its branch, ↑↓ vs main, its uncommitted files on hover, its own row in the graph. Create one from any branch with +, open it or a terminal in it, or bring its branch back to the main folder.

Worktrees: chips, hover cards and graph rows

🥞 Stacked pull requests

See a stack as one thing. Right-click a branch → Graph Filter: it with main, with the branches built on it, or its whole stack.

Graph Filter: a branch's whole stack

Pull requests where you look. State, reviewers and their verdicts, open conversations and checks on every branch and graph badge, through your gh CLI (any of its accounts) or the editor's GitHub account. Every branch shows its owner.

A branch's pull request on its card

A row of pull requests. Filter it to yours, those waiting for your review, drafts, merged or closed ones, those whose branch you have, or those waiting on their author; the one of the branch you're on comes first, and its + opens a new one. Review a pull request in the details panel, like a commit: its files as a list, a tree or inline diffs, with its reviews, checks and fork point. Its branch doesn't have to be on your machine: Treeline fetches what GitHub has, without making a branch.

🧹 Clean up in one go

Filter to merged, gone or stale branches, then delete them all with one confirmation that says what would be lost. Rebased, cherry-picked and squash-merged branches count as merged.

Deleting the merged branches in one go

✨ Claude Code, built in

Sessions per branch and worktree. The Claude Code sessions that worked on a branch show on its card; its menu resumes them, in the desktop app or a terminal.

Claude Code sessions of a worktree

Summarize any diff. Four lines on what a commit, or your uncommitted work, does. Claude sees only the diff: no project files, settings or tools.

Summarize: four lines from the diff alone

Commit messages in your repository's style, from ✨ in the Source Control title bar.

Claude writes the commit message

📜 And everything you loved in Git Graph

Infinite history · author and branch filters · find · compare any two commits · resizable columns · checkout, merge, rebase, cherry-pick, revert, reset, tag, push, pull, stash. Treeline asks only when something would be lost, and every button explains itself on hover.

Install

Search Treeline in the Extensions view of VS Code, Cursor, VSCodium or Windsurf. It's on the VS Code Marketplace and on Open VSX, and every release also attaches the .vsix to GitHub Releases.

Then run Treeline: View Git Graph, or click Git Graph in the status bar. The Claude features need Claude Code (claude on your PATH); commit messages fall back to any model your editor provides. Without it they stay hidden; to hide them anyway, turn off Treeline › Claude: Enabled (treeline.claude.enabled).

Develop

pnpm install
pnpm dev        # watch the extension and the webview; press F5 in VS Code to launch it
pnpm test       # git layer against real temporary repos + graph layout
pnpm e2e        # the extension inside a real VS Code (actions, diffs, worktrees, commit messages)
pnpm --filter @treeline/webview dev:browser   # the UI in a browser with a mocked host

The architecture, conventions and roadmap live in AGENTS.md, written for humans and coding agents alike.

Credits

Inspired by Git Graph by Michael Hutchison (unmaintained since 2021). Treeline is an independent, from-scratch reimplementation and shares no code with it.

License

MIT © Emanuele Pavanello

About

A fast, minimal Git Graph for VS Code and Cursor, built for branches, worktrees and reviews.

Topics

Resources

Stars

9 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages