Sticky agent pane for Herdr: review / explorer / terminal tabs with a live agent that follows the active tool tab.
Plugin id: agentic-dev.dev-layout
Requires: Herdr >= 0.7.5, jq, and the tools you use in each tab (tuicr, nvim, etc.)
Herdr plugins run as your user and can call the full Herdr CLI. Read Trust and security before installing.
Before installing:
- Skim
herdr-plugin.tomlanddev-layout.sh. - Prefer interactive install (no
--yes) the first time — Herdr shows a source/command preview. - Pin a release when you want a fixed revision.
herdr plugin install simoncrypta/herdr-dev-layout --ref v0.2.0Local development link:
git clone https://github.com/simoncrypta/herdr-dev-layout.git
herdr plugin link ~/path/to/herdr-dev-layoutVerify:
herdr plugin list
herdr plugin action invoke agentic-dev.dev-layout.create| Action id | Behavior |
|---|---|
create / apply |
Create or ensure the sticky-pane layout in the current workspace |
focus_agent |
Focus the agent pane (dev workspaces only; no-op elsewhere) |
select_review / select_explorer / select_terminal |
Semantic tab switch with sticky agent (dev only; no-op elsewhere) |
alt_review / alt_explorer / alt_terminal |
Semantic tabs in a dev workspace; otherwise focus the 1st / 2nd / 3rd tab |
Navigation never creates a layout. Only create / apply do.
On Herdr startup (and after live handoff), the [[startup]] hook reconciles saved state: invalid records are quarantined, closed workspaces are dropped, and stale pane ids are cleared so later navigation can recreate lazily.
Add to ~/.config/herdr/config.toml:
[[keys.command]]
key = "prefix+d"
type = "plugin_action"
command = "agentic-dev.dev-layout.apply"
[[keys.command]]
key = "prefix+1"
type = "plugin_action"
command = "agentic-dev.dev-layout.focus_agent"
[[keys.command]]
key = "prefix+2"
type = "plugin_action"
command = "agentic-dev.dev-layout.select_review"
[[keys.command]]
key = "prefix+3"
type = "plugin_action"
command = "agentic-dev.dev-layout.select_explorer"
[[keys.command]]
key = "prefix+4"
type = "plugin_action"
command = "agentic-dev.dev-layout.select_terminal"
[[keys.command]]
key = "alt+1"
type = "plugin_action"
command = "agentic-dev.dev-layout.alt_review"
[[keys.command]]
key = "alt+2"
type = "plugin_action"
command = "agentic-dev.dev-layout.alt_explorer"
[[keys.command]]
key = "alt+3"
type = "plugin_action"
command = "agentic-dev.dev-layout.alt_terminal"Reload after editing:
herdr server reload-configherdr plugin config-dir agentic-dev.dev-layout
cp config.toml.example "$(herdr plugin config-dir agentic-dev.dev-layout)/config.toml"[agent]
command = "agent"
[layout]
editor = "nvim"Without config, the agent pane defaults to agent and the explorer tab uses $EDITOR or nvim.
If you previously linked or installed this plugin from simoncrypta/agentic-dev-setup/plugins/dev-layout:
- Upgrade Herdr to >= 0.7.5.
- Unlink/uninstall the legacy local source.
- Install
simoncrypta/herdr-dev-layout --ref v0.2.0. - Keep your existing plugin state/config directories; startup reconciliation clears only stale pane ids.
The stable plugin id remains agentic-dev.dev-layout.
bash -n dev-layout.sh tests/*.sh
python3 -c 'import tomllib; tomllib.load(open("herdr-plugin.toml","rb"))'
bash tests/state_test.sh
bash tests/actions_test.sh
bash tests/startup_test.sh
shellcheck dev-layout.sh tests/*.sh