docs: finalize release readiness updates
This commit is contained in:
parent
b04c4ca3da
commit
c97f1a5c00
|
|
@ -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.
|
||||
|
|
|
|||
22
CHANGELOG.md
22
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
|
||||
|
|
|
|||
10
README.md
10
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
|
||||
|
|
|
|||
|
|
@ -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.
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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.
|
||||
|
|
|
|||
16
justfile
16
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
|
||||
|
|
|
|||
|
|
@ -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:
|
||||
|
|
|
|||
|
|
@ -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]
|
||||
```
|
||||
|
||||
|
|
|
|||
|
|
@ -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.
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue