aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOgulcan Celik <ogulcancelik@gmail.com>2026-05-19 14:44:34 +0300
committerOgulcan Celik <ogulcancelik@gmail.com>2026-05-19 14:44:34 +0300
commitc97f1a5c0046514fae4d92240dbceb765cbaef8a (patch)
treec99ba1bbcb0b267249d5f3d41fc4fa2e205fa4dd
parentb04c4ca3dab872b3e9dfe05f1af767e5b6af1127 (diff)
docs: finalize release readiness updates
-rw-r--r--.pi/prompts/pre-release-audit.md2
-rw-r--r--CHANGELOG.md22
-rw-r--r--README.md10
-rw-r--r--docs/next/CHANGELOG.md14
-rw-r--r--docs/next/README.md2
-rw-r--r--docs/next/website/src/content/docs/configuration.mdx8
-rw-r--r--justfile16
-rw-r--r--website/src/content/docs/agents.mdx2
-rw-r--r--website/src/content/docs/cli-reference.mdx2
-rw-r--r--website/src/content/docs/configuration.mdx8
-rw-r--r--website/src/content/docs/integrations.mdx15
11 files changed, 81 insertions, 20 deletions
diff --git a/.pi/prompts/pre-release-audit.md b/.pi/prompts/pre-release-audit.md
index 11e42eb0..4858f598 100644
--- a/.pi/prompts/pre-release-audit.md
+++ b/.pi/prompts/pre-release-audit.md
@@ -53,7 +53,7 @@ Process:
- Inspect commit bodies for issue reference lines in the form `refs #<issue-number>`.
- Flag normal commits that use GitHub closing keywords like `fixes #<issue-number>`, `closes #<issue-number>`, or `resolves #<issue-number>`, because they close issues before release when they land on `master`.
- For each shipped issue reference, check whether the changelog has a matching user-facing entry that mentions `#<issue-number>` when appropriate.
- - For each merged external PR, check whether the changelog entry mentions the PR number and thanks the contributor in the existing style, e.g. `(#129, thanks @username)`. If the PR primarily ships an issue fix, include both the issue and PR numbers when useful, e.g. `(#128, #129, thanks @username)`.
+ - For each merged external human PR, check whether the changelog entry mentions the PR number and thanks the contributor in the existing style, e.g. `(#129, thanks @username)`. If the PR primarily ships an issue fix, include both the issue and PR numbers when useful, e.g. `(#128, #129, thanks @username)`. Do not add thanks text for maintainer-owned bots or automation accounts such as `kangal-bot` or `dependabot`.
- Do not require or add GitHub closing keywords like `fixes #<issue-number>`, `closes #<issue-number>`, or `resolves #<issue-number>` to changelog entries or release notes.
- List shipped issue references under `Issue references to close after release:` so the release operator can verify what release CI will close after the GitHub Release is published.
- Flag stale entries that do not appear to correspond to shipped changes in the range.
diff --git a/CHANGELOG.md b/CHANGELOG.md
index f7a80598..3c4fef72 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -2,6 +2,28 @@
## Unreleased
+### Added
+- Added the `terminal` built-in theme, which uses the host terminal's ANSI palette for Herdr UI colors. (#140, #146, thanks @babymastodon)
+- Added Hermes Agent foreground-process detection with basic idle, working, and blocked heuristics. (#144)
+- Added a Hermes Agent plugin integration for direct state reporting. (#144)
+- Added `ui.sidebar_min_width` and `ui.sidebar_max_width` to configure the sidebar's expanded resize bounds. Defaults remain 18 and 36 columns; existing configs are unchanged. (#132, #135, thanks @ChihGodlee)
+
+### Fixed
+- Running the internal `herdr client` command from inside Herdr now respects the nested-launch guard, and the command is no longer advertised in root help. (#187)
+- The Herdr agent skill now refuses to claim pane ownership unless it is running inside Herdr. (#152)
+- Terminal-style docs code blocks now keep their copy button in the top-right corner. (#190)
+- The sidebar `new` workspace button now aligns with the sidebar's left padding. (#189)
+- Herdr now preserves `session.json` symlinks when saving persistent session state. (#139, #147, thanks @cloudmanic)
+- Alt+Backspace is now preserved when forwarded into panes. (#155, #165)
+- Directional pane focus now works while a tab is zoomed. (#151, #167)
+- Agent detection now prefers the foreground process group leader, reducing false matches from child helper processes. (#161, #172)
+- Remote attach now uses a matching `herdr` already available on the remote `PATH` before installing a new copy. (#170)
+- Modified Enter input such as Shift+Enter is now preserved in supported terminals. (#168)
+- Sidebar agent entries now show user-assigned agent names when available. (#145)
+
+### Breaking Changes
+- The client/server protocol is now version 7. Stop and restart any running v0.5.10 server before attaching with this release.
+
## [0.5.10] - 2026-05-17
### Added
diff --git a/README.md b/README.md
index d22d4051..f9d07248 100644
--- a/README.md
+++ b/README.md
@@ -137,7 +137,7 @@ not a gui window, not a web dashboard, not electron. herdr runs inside whatever
- **tabs** — first-class in the socket api and cli
- **mouse-native** — click panes/tabs/workspaces/agents, drag borders, select text to copy, right-click menus; not keyboard-only
- **notifications** — sounds and toasts for background events; tab-aware suppression
-- **17 built-in themes** — catppuccin, tokyo night, gruvbox, one, solarized, kanagawa, rosé pine, vesper, and light variants for the main palettes
+- **18 built-in themes** — catppuccin, terminal, tokyo night, gruvbox, one, solarized, kanagawa, rosé pine, vesper, and light variants for the main palettes
- **session persistence** — pane processes survive client detach; sessions restore after full restart
## agents can use herdr too
@@ -178,6 +178,7 @@ automatic detection works out of the box. process name matching plus terminal ou
| [amp](https://ampcode.com) | ✓ | ✓ | ✓ |
| [opencode](https://github.com/anomalyco/opencode) | ✓ | ✓ | ✓ |
| [grok cli](https://x.ai/grok) | ✓ | ✓ | ✓ |
+| [hermes agent](https://github.com/NousResearch/hermes-agent) | ✓ | ✓ | ✓ |
detected but not fully tested: gemini cli, cursor agent, cline, kimi, github copilot cli.
@@ -185,13 +186,14 @@ for agents outside the built-in list, herdr still works as a terminal multiplexe
### direct integrations
-the built-in pi, claude code, codex, and opencode integrations forward semantic state to herdr over the socket api. install with:
+the built-in pi, claude code, codex, opencode, and hermes integrations forward semantic state to herdr over the socket api. install with:
```bash
herdr integration install pi
herdr integration install claude
herdr integration install codex
herdr integration install opencode
+herdr integration install hermes
```
see the [integrations docs](https://herdr.dev/docs/integrations/) for setup details.
@@ -263,7 +265,7 @@ full logging and environment variable details: [configuration docs](https://herd
## docs
- [configuration](https://herdr.dev/docs/configuration/) — keybindings, themes, notifications, environment variables
-- [integrations](https://herdr.dev/docs/integrations/) — pi, claude code, codex, opencode integrations
+- [integrations](https://herdr.dev/docs/integrations/) — pi, claude code, codex, opencode, hermes integrations
- [`SKILL.md`](./SKILL.md) — reusable agent skill
- [socket api](https://herdr.dev/docs/socket-api/) — socket protocol and cli reference
@@ -284,7 +286,7 @@ cargo build --release
```bash
just test # unit tests
-just test-all # full local test suite
+just check # formatting, tests, and maintenance checks
```
## license
diff --git a/docs/next/CHANGELOG.md b/docs/next/CHANGELOG.md
index d5f1b66c..3c4fef72 100644
--- a/docs/next/CHANGELOG.md
+++ b/docs/next/CHANGELOG.md
@@ -3,15 +3,23 @@
## Unreleased
### Added
-- Added Hermes Agent foreground-process detection with basic idle, working, and blocked heuristics.
-- Added a Hermes Agent plugin integration for direct state reporting.
-- Added `ui.sidebar_min_width` and `ui.sidebar_max_width` to configure the sidebar's expanded resize bounds. Defaults remain 18 and 36 columns; existing configs are unchanged.
+- Added the `terminal` built-in theme, which uses the host terminal's ANSI palette for Herdr UI colors. (#140, #146, thanks @babymastodon)
+- Added Hermes Agent foreground-process detection with basic idle, working, and blocked heuristics. (#144)
+- Added a Hermes Agent plugin integration for direct state reporting. (#144)
+- Added `ui.sidebar_min_width` and `ui.sidebar_max_width` to configure the sidebar's expanded resize bounds. Defaults remain 18 and 36 columns; existing configs are unchanged. (#132, #135, thanks @ChihGodlee)
### Fixed
- Running the internal `herdr client` command from inside Herdr now respects the nested-launch guard, and the command is no longer advertised in root help. (#187)
- The Herdr agent skill now refuses to claim pane ownership unless it is running inside Herdr. (#152)
- Terminal-style docs code blocks now keep their copy button in the top-right corner. (#190)
- The sidebar `new` workspace button now aligns with the sidebar's left padding. (#189)
+- Herdr now preserves `session.json` symlinks when saving persistent session state. (#139, #147, thanks @cloudmanic)
+- Alt+Backspace is now preserved when forwarded into panes. (#155, #165)
+- Directional pane focus now works while a tab is zoomed. (#151, #167)
+- Agent detection now prefers the foreground process group leader, reducing false matches from child helper processes. (#161, #172)
+- Remote attach now uses a matching `herdr` already available on the remote `PATH` before installing a new copy. (#170)
+- Modified Enter input such as Shift+Enter is now preserved in supported terminals. (#168)
+- Sidebar agent entries now show user-assigned agent names when available. (#145)
### Breaking Changes
- The client/server protocol is now version 7. Stop and restart any running v0.5.10 server before attaching with this release.
diff --git a/docs/next/README.md b/docs/next/README.md
index 0a856f63..f9d07248 100644
--- a/docs/next/README.md
+++ b/docs/next/README.md
@@ -286,7 +286,7 @@ cargo build --release
```bash
just test # unit tests
-just test-all # full local test suite
+just check # formatting, tests, and maintenance checks
```
## license
diff --git a/docs/next/website/src/content/docs/configuration.mdx b/docs/next/website/src/content/docs/configuration.mdx
index 2f639be4..6d654310 100644
--- a/docs/next/website/src/content/docs/configuration.mdx
+++ b/docs/next/website/src/content/docs/configuration.mdx
@@ -120,7 +120,9 @@ name = "catppuccin"
Built-in themes:
-`catppuccin`, `catppuccin-latte`, `tokyo-night`, `tokyo-night-day`, `dracula`, `nord`, `gruvbox`, `gruvbox-light`, `one-dark`, `one-light`, `solarized`, `solarized-light`, `kanagawa`, `kanagawa-lotus`, `rose-pine`, `rose-pine-dawn`, `vesper`.
+`catppuccin`, `catppuccin-latte`, `terminal`, `tokyo-night`, `tokyo-night-day`, `dracula`, `nord`, `gruvbox`, `gruvbox-light`, `one-dark`, `one-light`, `solarized`, `solarized-light`, `kanagawa`, `kanagawa-lotus`, `rose-pine`, `rose-pine-dawn`, `vesper`.
+
+Use `terminal` when you want Herdr UI colors to follow your host terminal's ANSI palette.
You can override individual colors:
@@ -145,6 +147,8 @@ Common options:
```toml
[ui]
sidebar_width = 32
+sidebar_min_width = 18
+sidebar_max_width = 36
mouse_capture = true
confirm_close = true
prompt_new_tab_name = true
@@ -153,6 +157,8 @@ agent_panel_scope = "all"
accent = "cyan"
```
+`sidebar_min_width` and `sidebar_max_width` control the expanded sidebar's resize bounds in columns. The defaults are 18 and 36.
+
`agent_panel_scope` can be `all` or `current`. Use `current` if you only want the agent panel to show agents in the active workspace.
Set `mouse_capture = false` if you want your terminal to handle normal clicks, such as command-clicking URLs.
diff --git a/justfile b/justfile
index 01b387a1..658d6d7a 100644
--- a/justfile
+++ b/justfile
@@ -53,20 +53,20 @@ release-docs-check:
done
@test -d docs/next/website/src/content/docs
@for file in website/src/content/docs/*.mdx; do \
- staged="docs/next/website/src/content/docs/$$(basename "$$file")"; \
- if [ ! -f "$$staged" ]; then \
- echo "error: $$staged is missing; docs/next/website/src/content/docs must mirror website/src/content/docs"; \
+ staged="docs/next/website/src/content/docs/$(basename "$file")"; \
+ if [ ! -f "$staged" ]; then \
+ echo "error: $staged is missing; docs/next/website/src/content/docs must mirror website/src/content/docs"; \
exit 1; \
fi; \
- if ! diff -u "$$file" "$$staged"; then \
- echo "error: $$file differs from $$staged; finalize website docs before releasing"; \
+ if ! diff -u "$file" "$staged"; then \
+ echo "error: $file differs from $staged; finalize website docs before releasing"; \
exit 1; \
fi; \
done
@for file in docs/next/website/src/content/docs/*.mdx; do \
- released="website/src/content/docs/$$(basename "$$file")"; \
- if [ ! -f "$$released" ]; then \
- echo "error: $$file has no matching released website doc"; \
+ released="website/src/content/docs/$(basename "$file")"; \
+ if [ ! -f "$released" ]; then \
+ echo "error: $file has no matching released website doc"; \
exit 1; \
fi; \
done
diff --git a/website/src/content/docs/agents.mdx b/website/src/content/docs/agents.mdx
index ae21defe..e3d2bc0c 100644
--- a/website/src/content/docs/agents.mdx
+++ b/website/src/content/docs/agents.mdx
@@ -18,6 +18,7 @@ Automatic detection works out of the box for common coding agents.
| Amp | yes | yes | yes |
| OpenCode | yes | yes | yes |
| Grok CLI | yes | yes | yes |
+| Hermes Agent | yes | yes | yes |
| GitHub Copilot CLI | yes | yes | yes |
Detected but less thoroughly tested: Gemini CLI, Cursor Agent, Cline, and Kimi.
@@ -51,6 +52,7 @@ herdr integration install pi
herdr integration install claude
herdr integration install codex
herdr integration install opencode
+herdr integration install hermes
```
Check installed integration versions:
diff --git a/website/src/content/docs/cli-reference.mdx b/website/src/content/docs/cli-reference.mdx
index 78487b6a..57f495c1 100644
--- a/website/src/content/docs/cli-reference.mdx
+++ b/website/src/content/docs/cli-reference.mdx
@@ -165,10 +165,12 @@ herdr integration install pi
herdr integration install claude
herdr integration install codex
herdr integration install opencode
+herdr integration install hermes
herdr integration uninstall pi
herdr integration uninstall claude
herdr integration uninstall codex
herdr integration uninstall opencode
+herdr integration uninstall hermes
herdr integration status [--outdated-only]
```
diff --git a/website/src/content/docs/configuration.mdx b/website/src/content/docs/configuration.mdx
index 2f639be4..6d654310 100644
--- a/website/src/content/docs/configuration.mdx
+++ b/website/src/content/docs/configuration.mdx
@@ -120,7 +120,9 @@ name = "catppuccin"
Built-in themes:
-`catppuccin`, `catppuccin-latte`, `tokyo-night`, `tokyo-night-day`, `dracula`, `nord`, `gruvbox`, `gruvbox-light`, `one-dark`, `one-light`, `solarized`, `solarized-light`, `kanagawa`, `kanagawa-lotus`, `rose-pine`, `rose-pine-dawn`, `vesper`.
+`catppuccin`, `catppuccin-latte`, `terminal`, `tokyo-night`, `tokyo-night-day`, `dracula`, `nord`, `gruvbox`, `gruvbox-light`, `one-dark`, `one-light`, `solarized`, `solarized-light`, `kanagawa`, `kanagawa-lotus`, `rose-pine`, `rose-pine-dawn`, `vesper`.
+
+Use `terminal` when you want Herdr UI colors to follow your host terminal's ANSI palette.
You can override individual colors:
@@ -145,6 +147,8 @@ Common options:
```toml
[ui]
sidebar_width = 32
+sidebar_min_width = 18
+sidebar_max_width = 36
mouse_capture = true
confirm_close = true
prompt_new_tab_name = true
@@ -153,6 +157,8 @@ agent_panel_scope = "all"
accent = "cyan"
```
+`sidebar_min_width` and `sidebar_max_width` control the expanded sidebar's resize bounds in columns. The defaults are 18 and 36.
+
`agent_panel_scope` can be `all` or `current`. Use `current` if you only want the agent panel to show agents in the active workspace.
Set `mouse_capture = false` if you want your terminal to handle normal clicks, such as command-clicking URLs.
diff --git a/website/src/content/docs/integrations.mdx b/website/src/content/docs/integrations.mdx
index a447688c..01e72e16 100644
--- a/website/src/content/docs/integrations.mdx
+++ b/website/src/content/docs/integrations.mdx
@@ -1,6 +1,6 @@
---
title: Integrations
-description: Install Herdr integrations for Pi, Claude Code, Codex, and OpenCode.
+description: Install Herdr integrations for Pi, Claude Code, Codex, OpenCode, and Hermes Agent.
---
Herdr detects supported agents automatically. Integrations make that detection more precise by reporting semantic state directly to Herdr.
@@ -14,6 +14,7 @@ herdr integration install pi
herdr integration install claude
herdr integration install codex
herdr integration install opencode
+herdr integration install hermes
```
## Uninstall integrations
@@ -23,6 +24,7 @@ herdr integration uninstall pi
herdr integration uninstall claude
herdr integration uninstall codex
herdr integration uninstall opencode
+herdr integration uninstall hermes
```
## How Herdr uses integrations
@@ -83,6 +85,17 @@ herdr integration install opencode
The plugin reports semantic state while OpenCode runs inside a Herdr pane.
+## Hermes Agent
+
+Install the Hermes Agent plugin:
+
+```bash
+herdr integration install hermes
+```
+
+Herdr writes `~/.hermes/plugins/herdr-agent-state/` and enables `herdr-agent-state` in `~/.hermes/config.yaml`. Restart Hermes after installing so the plugin loads.
+
+The plugin reports lifecycle, tool, and approval state while Hermes runs inside a Herdr pane. Native screen heuristics remain available when the plugin is not installed.
## Custom status labels