Daniel Bauke
Open Source / Herdr plugins

Herdr plugins

Animated demo: stack icons and pull request emoji fill the Herdr sidebar, and a tab gets its name from the first prompt.

Eight small plugins for Herdr, the terminal multiplexer for coding agents: session names, sidebar icons, pull request state, bookmarks, worktrees, tabs and links.

Each plugin lives in its own repository and installs with one command. Herdr itself is at herdr.dev.

Session titles

bonkey/herdr-fm-title

Every coding-agent session gets a short, readable name from its first prompt, written on-device by Apple’s Foundation Models. The name becomes the tab label and, where the agent supports it, the agent’s own session name. The prompt never leaves the machine.

It works with Claude Code, OpenCode and Codex. A Linear, Jira or GitHub link names the session after the ticket.

before: the slash probe checks fail when I run them in the her
after:  slash-probe-checks
  • herdr plugin install bonkey/herdr-fm-title && herdr plugin action invoke bonkey.fm-title.install

Stack icons

bonkey/herdr-stack-icon

A technology icon next to every workspace in the Herdr sidebar, detected from the repository’s files. Display only: nothing is renamed. Nerd Font glyphs are the default; emoji are one setting away, and each technology gets its own colour.

🍏 firefox-ios         🤖 nowinandroid          🍏🤖 shared-kmp
🦀 ripgrep             🐹 lazygit               🟩 sf-symbols-mcp        🐍 mobile-broom

Markers are searched down to three levels, first from the workspace’s own folder, then from the repository root, so a linked worktree gets the icon of its main checkout. A folder outside a git checkout gets no icon at all.

  • herdr plugin install bonkey/herdr-stack-icon

PR emoji

bonkey/herdr-pr-emoji

The pull request state of each workspace’s branch, as one emoji per Herdr sidebar row.

✅ bonkey/purchase-to-unlock     🟡 bonkey/ios-27-siri-ai-intents     👀💬 bonkey/apple-ads-interface

A pull request whose only failing checks are not required reads as mergeable, the way GitHub itself treats it. Two more actions sort the worktrees of every repository, by that state or by name.

  • herdr plugin install bonkey/herdr-pr-emoji

Bookmarks

bonkey/herdr-bookmark

Three bookmarks you put on a workspace and take off again with a keystroke, shown as one token in the sidebar. The three are independent: a workspace carries any of them, all of them, or none, and any number of workspaces can carry the same one.

−  ios-sdk              =  sundae-android         −≡ les-gardiens
   shared-kmp              ripgrep                   gcai-go

One, two and three bars, so the shape says which mark it is. One more keystroke sorts the worktrees of a repository by the mark they carry, so what you marked ≡ is at the top of its group.

  • herdr plugin install bonkey/herdr-bookmark

Worktree purpose

bonkey/herdr-wt-purpose

Type what the worktree is for, or paste a ticket URL. Apple’s on-device model names the branch, and the worktree opens as a workspace, all in the background while you keep working.

prefix+shift+n → "Purpose or ticket URL: fix crash when opening settings on iPad"
              → bonkey/landscape-settings-crash-fix

A second line picks what starts in the new workspace: Claude, Codex, OpenCode, Vibe or a plain shell. A GitHub pull request URL checks out the pull request’s own branch instead. Linear, Jira and GitHub issue links bring their title and description along.

  • herdr plugin install bonkey/herdr-wt-purpose

Duplicate tab

bonkey/herdr-dup-tab

Press one key and the command running in the focused pane runs again in a new tab, in the same directory.

before: pane running codex --yolo
after:  new tab, same directory, codex --yolo running

The new tab is labelled after the command. In an idle shell only the tab is duplicated, in the same directory.

  • herdr plugin install bonkey/herdr-dup-tab
bonkey/herdr-link-browser

Ctrl-click an http(s) URL in any pane, and it opens in terminal-browser as a split to the right of that pane. Herdr routes Ctrl-clicks on links to the plugin by itself. The split opens unfocused, so focus stays in your pane, and quitting the browser closes it.

Ctrl-click https://example.com → browser split on the right, focus stays in your pane
  • herdr plugin install bonkey/herdr-link-browser

Keep root

bonkey/herdr-keep-root

A repository’s main-checkout workspace stays open while any of its worktree workspaces is open, so the Spaces panel never flattens a worktree group.

les-gardiens                       ← root: closed by mistake → reopened at once
  ├ animated-chat-heads
  ├ trust-indicator-fix
  └ install-impeccable

The root comes back unfocused, and closes normally once it is the last space of its repository.

  • herdr plugin install bonkey/herdr-keep-root