Files
dotfiles/docs/terminal/herdr.mdx
T

91 lines
4.2 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
title: herdr
description: herdr, an agent-aware terminal multiplexer, with its keys, theme, plugins and Claude Code hook.
---
herdr is a terminal multiplexer with workspaces, tabs and panes, a sidebar, a prefix key (`ctrl+b`), and a plugin system. It tracks coding agents running in its panes: agent-state colors, next/previous agent keys, and an integration that reports Claude Code sessions to it.
| | |
| --- | --- |
| Source | `dot_config/herdr/config.toml`, `dot_config/herdr/plugins.json`, `dot_config/herdr/plugins/config/`, `dot_config/herdr/empty_dot_plugins.lock`, `dot_config/herdr/kitty.conf`, `dot_config/herdr-nvim/config.toml` |
| Target | `~/.config/herdr/`, `~/.config/herdr-nvim/config.toml` |
| Install | Not in `packages.yaml`; updated by topgrade (`herdr update`) |
| Launch | kitty `super+a` (see [kitty](/terminal/kitty)); Ghostty keys send the same prefix bytes |
## config.toml
`onboarding = false`.
### UI and theme
| Setting | Value |
| --- | --- |
| `ui.pane_borders`, `ui.pane_outer_borders` | `false` (panes separated by gaps only) |
| `ui.prompt_new_tab_name` | `false` |
| `ui.accent` | `#5ea1ff` |
| `ui.status_indicators` | `symbols` |
| `ui.toast.delivery` | `system` |
| `theme.name` | `terminal`, `auto_switch = false` |
| `theme.custom.panel_bg` | `reset` (keeps kitty's translucency and compositor blur) |
| `sidebar_bg` / `active_row_bg` / `selection_bg` | `#16181a` / `#1e2124` / `#3c4048` |
| `accent` / `surface_dim` | `#243348` / `#5ea1ff` (active tab plate matches kitty's tab bar) |
| Agent-state colors | green `#5eff6c`, yellow `#f1ff5e`, red `#ff6e5e`, peach `#ffbd5e`, mauve `#bd5eff` |
| `experimental.kitty_graphics` | `true`; `pane_history = false` |
| `switch_ascii_input_source_in_prefix` | `true` |
These are cyberdream colors.
### Keys
| Key | Action |
| --- | --- |
| `prefix %` | Split vertical |
| `prefix "` | Split horizontal |
| `prefix d` | Detach |
| `prefix s` | Workspace picker |
| `prefix shift+s` | Settings |
| `k` / `j` | Move up / down in the workspace picker (pane up/down in navigate mode unbound) |
| `prefix .` / `prefix ,` | Next / previous agent |
| `prefix j` / `prefix k` | Next / previous workspace |
| `prefix up/down/left/right` | Focus pane |
| `ctrl+h/j/k/l` | `vim-herdr-navigation` left/down/up/right |
| `prefix e` | `chmarax.herdr-nvim.toggle` (nvim sidebar) |
| `prefix o` | `chmarax.herdr-nvim.pick-file` (open file from agent output) |
| `prefix t` | `switchboard.menu` |
| `prefix shift+p` | `switchboard.commands` |
| `prefix shift+l` | `switchboard.git` |
| `prefix shift+k` | `switchboard.projects` |
| `prefix y` | Open `official.browser` plugin in a right split |
| `prefix shift+o` | Open `official.browser` as an overlay |
## Plugins
`plugins.json` is herdr's plugin registry. `.plugins.lock` is created empty. `plugins/config/official.browser/` and `plugins/config/vim-herdr-navigation/` hold placeholder `.keep` files for per-plugin config.
| Plugin | Description (from its manifest) |
| --- | --- |
| `chmarax.herdr-nvim` | Full-height nvim sidebar with agent annotations |
| `herdr-automatic-rename` | Names tabs after the foreground program, adds 1–9 jump numbers |
| `io.github.salemsayed.omaherd` | Tells the Omarchy bar when an agent changes state |
| `official.browser` | Open and inspect real browser pages from herdr |
| `oh-my-opencode-slim` | OpenCode agent orchestration with a herdr adapter |
| `persiyanov.reviewr` | Review agent-written diffs beside the chat |
| `rjyo.window-title-sync` | Syncs the outer terminal title to the focused workspace, tab and agent |
| `switchboard` | Command palette: projects, commands, ports, git, clone, settings |
| `vim-herdr-navigation` | Vim-aware `ctrl+h/j/k/l` pane movement |
[fish](/shell/fish) sources `herdr-automatic-rename`'s `shell/hook.fish` if present.
## herdr-nvim
```toml ~/.config/herdr-nvim/config.toml
[sidebar]
position = "left"
```
The nvim sidebar opens to the left of existing panes (default is right).
## herdr/kitty.conf
A legacy kitty config kept in the herdr folder. It runs `tmux new-session -A -s main`, listens on `unix:@mykitty`, includes `current-theme.conf`, maps `super`/`alt` keys to tmux prefix bytes, and has a copy of an older `tmux.conf` appended. The active herdr host is `~/.config/kitty/herdr.conf`.