A reproduction of the Herdr sidebar in But Herd: a spaces list whose active space is labelled with its applied GitButler branches, an agents list, and a third section showing the output of but status in color.

a build of herdr·gitbutler-aware·source only

But Herd

Herdr shows you every agent. But Herd shows you what they did to your branches.

Several agents working one repository land in one working tree. GitButler keeps their changes on separate virtual branches — But Herd puts that state where you are already looking: the sidebar, next to the agents that caused it.

build it source on github

what it adds

  • The branch label names real branches

    A space on a GitButler workspace used to read gitbutler/workspace, which tells you nothing. It now lists the branches actually applied.

    herdr-gitbutler ↳ but-herd-landing, gitbutler-sidebar-branches
  • An empty workspace says so

    With no branches applied there is nothing to name, so the label reads (no branch) instead of a ref you never wrote.

    notes ↳ (no branch)
  • A but status section in the sidebar

    The focused space gets a third sidebar section holding its workspace graph: uncommitted changes, applied branches, and the commits on each. Read-only, refreshed in the background, with its own divider and scroll.

    ┊├┄ it [gitbutler-sidebar-branches]
  • In but's own colors

    The panel keeps the SGR sequences but emits, so branch names, commit ids, and states stay the colors you know from the terminal. Text but left uncolored takes the sidebar's foreground.

    ╭┄ zz [uncommitted] (3 files)

run it

build from source
$ git clone https://github.com/schacon/herdr-gitbutler
$ cd herdr-gitbutler
$ cargo build --release

The binary lands at target/release/herdr. Building needs a Rust toolchain and Zig 0.15.2 — the vendored libghostty-vt terminal library is built by Zig, and the version is pinned. Point ZIG at that toolchain if your default zig is newer.

then, in a gitbutler project
$ cd your-project
$ but status # a gitbutler project? then the section shows up
$ herdr

The section appears only while the focused space is a GitButler project, and it never writes: it runs but status and draws the result. Every branch, commit, and amend stays yours to make.

what this is

  • A fork, tracking upstream. But Herd is herdr with the GitButler work applied on top. Everything upstream does — detached sessions, the socket API, plugins, mouse and keyboard both first-class — it still does.
  • Source only. There are no release binaries here. Build it, or keep using upstream Herdr and watch this branch.
  • Apache-2.0, same as upstream.