From c234f221f9be698bc0501c60459e1ae8e67df6c3 Mon Sep 17 00:00:00 2001 From: Ogulcan Celik Date: Wed, 22 Jul 2026 14:58:26 +0300 Subject: feat(docs): publish versioned release documentation --- .../website/src/content/docs/agent-skill.mdx | 55 ++++ .../0.5.12/website/src/content/docs/agents.mdx | 129 +++++++++ .../website/src/content/docs/cli-reference.mdx | 195 ++++++++++++++ .../0.5.12/website/src/content/docs/concepts.mdx | 85 ++++++ .../website/src/content/docs/configuration.mdx | 290 +++++++++++++++++++++ .../website/src/content/docs/how-to-work.mdx | 103 ++++++++ .../0.5.12/website/src/content/docs/index.mdx | 59 +++++ .../0.5.12/website/src/content/docs/install.mdx | 58 +++++ .../website/src/content/docs/integrations.mdx | 136 ++++++++++ .../src/content/docs/persistence-remote.mdx | 141 ++++++++++ .../website/src/content/docs/quick-start.mdx | 82 ++++++ .../0.5.12/website/src/content/docs/socket-api.mdx | 224 ++++++++++++++++ 12 files changed, 1557 insertions(+) create mode 100644 docs/versions/0.5.12/website/src/content/docs/agent-skill.mdx create mode 100644 docs/versions/0.5.12/website/src/content/docs/agents.mdx create mode 100644 docs/versions/0.5.12/website/src/content/docs/cli-reference.mdx create mode 100644 docs/versions/0.5.12/website/src/content/docs/concepts.mdx create mode 100644 docs/versions/0.5.12/website/src/content/docs/configuration.mdx create mode 100644 docs/versions/0.5.12/website/src/content/docs/how-to-work.mdx create mode 100644 docs/versions/0.5.12/website/src/content/docs/index.mdx create mode 100644 docs/versions/0.5.12/website/src/content/docs/install.mdx create mode 100644 docs/versions/0.5.12/website/src/content/docs/integrations.mdx create mode 100644 docs/versions/0.5.12/website/src/content/docs/persistence-remote.mdx create mode 100644 docs/versions/0.5.12/website/src/content/docs/quick-start.mdx create mode 100644 docs/versions/0.5.12/website/src/content/docs/socket-api.mdx (limited to 'docs/versions/0.5.12/website/src') diff --git a/docs/versions/0.5.12/website/src/content/docs/agent-skill.mdx b/docs/versions/0.5.12/website/src/content/docs/agent-skill.mdx new file mode 100644 index 00000000..fc4f0589 --- /dev/null +++ b/docs/versions/0.5.12/website/src/content/docs/agent-skill.mdx @@ -0,0 +1,55 @@ +--- +title: Agent skill file +description: Install Herdr instructions for Claude Code or another coding agent. +--- + +Herdr ships a reusable agent skill file at [`SKILL.md`](https://github.com/ogulcancelik/herdr/blob/master/SKILL.md). + +Install that file into any coding agent that supports reusable skills or custom instructions. The skill teaches the agent how to control Herdr from inside a Herdr pane. + +## What the skill does + +The skill tells an agent to use the `herdr` CLI when `HERDR_ENV=1` is set. That means the agent is running inside a Herdr-managed pane and can safely talk to the local Herdr socket. + +With the skill installed, an agent can: + +- inspect workspaces, tabs, panes, and neighboring agents +- split panes and run commands without stealing focus +- read pane output and recent logs +- wait for servers, tests, or another agent to finish +- start helper agents in sibling panes + +The skill is not a separate app or service. It is a markdown instruction file for agents. + +## Install it + +Use the repository copy as the source of truth: + +```text +https://github.com/ogulcancelik/herdr/blob/master/SKILL.md +``` + +For agents with a skill system, install that file as a skill named `herdr`. For agents without a skill system, paste the file into the agent's project or user instructions. + +After installation, start the agent inside Herdr: + +```bash +herdr +claude +``` + +Or use any other coding agent in a Herdr pane. The important part is that the agent process runs inside Herdr, so `HERDR_ENV=1` is available. + +## Safety rule + +The skill starts with one guardrail: if `HERDR_ENV=1` is not set, the agent should stop and say it is not running inside a Herdr-managed pane. + +This prevents an agent outside Herdr from trying to control a session it does not own. + +## Agent-facing reference + +The full command guide lives in the skill file itself. It covers pane IDs, `pane split`, `pane run`, `pane read`, `wait output`, `wait agent-status`, workspace and tab commands, and coordination recipes. + +Read the source file here: + +[Open `SKILL.md` on GitHub →](https://github.com/ogulcancelik/herdr/blob/master/SKILL.md) diff --git a/docs/versions/0.5.12/website/src/content/docs/agents.mdx b/docs/versions/0.5.12/website/src/content/docs/agents.mdx new file mode 100644 index 00000000..e3d2bc0c --- /dev/null +++ b/docs/versions/0.5.12/website/src/content/docs/agents.mdx @@ -0,0 +1,129 @@ +--- +title: Agents +description: See what Herdr can detect, how agent state works, and how integrations improve it. +--- + +Herdr is useful because it knows when agents are working, blocked, done, or idle. You can scan the sidebar instead of checking every pane manually. + +## Supported agents + +Automatic detection works out of the box for common coding agents. + +| Agent | Idle / done | Working | Blocked | +| --- | --- | --- | --- | +| Pi | yes | yes | partial | +| Claude Code | yes | yes | yes | +| Codex | yes | yes | yes | +| Droid | yes | yes | yes | +| 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. + +Unsupported agents still run normally as terminal processes. They just may not get rich state unless you add an integration or report state over the socket API. + +## How detection works + +Herdr combines three signals: + +1. foreground process detection +2. terminal output heuristics +3. integration state reports + +Process detection tells Herdr which pane owns an agent. Heuristics infer state when no hook is available. Integrations provide the most precise semantic state. + +## State rollups + +The sidebar rolls state upward. + +A blocked agent makes its pane, tab, and workspace look blocked. A working agent makes the workspace look active. A done agent stays visible until you view it. + +This lets you scan many projects quickly. + +## Direct integrations + +Install integrations for agents that expose hooks or plugins: + +```bash +herdr integration install pi +herdr integration install claude +herdr integration install codex +herdr integration install opencode +herdr integration install hermes +``` + +Check installed integration versions: + +```bash +herdr integration status +``` + +Show only outdated integrations: + +```bash +herdr integration status --outdated-only +``` + +## Custom agent labels + +You can rename an agent target for display: + +```bash +herdr agent rename 1-1 reviewer +herdr agent rename reviewer --clear +``` + +Targets accept terminal IDs, unique agent names, detected or reported agent labels, and legacy pane IDs. + +## Custom status labels + +Integrations can report a visual status label without changing semantic state. + +```bash +herdr pane report-agent 1-1 \ + --source custom:indexer \ + --agent docs-bot \ + --state working \ + --custom-status indexing +``` + +`state` controls waits, notifications, and rollups. `custom-status` is only display text. + +## Start agents from the CLI + +Use `herdr agent ...` commands when you want a terminal to be treated as an agent target. Agent targets show up in `agent list`, can be read or sent input by agent name, can be waited on by agent state, and can be directly attached. + +Spawn an agent into Herdr from a script: + +```bash +herdr agent start reviewer --cwd ~/project --split right -- pi +``` + +You can place that agent in a specific workspace or tab: + +```bash +herdr agent start docs --workspace 1 --tab 1-1 -- claude +``` + +Use `herdr pane ...` commands for ordinary terminals, servers, tests, shells, and low-level terminal input. For example, use `pane split` and `pane run` for `cargo test`, not `agent start`, unless that terminal is intentionally being treated as an agent target. + +## Attach directly to an agent + +Attach your current terminal to one agent terminal instead of the full Herdr UI: + +```bash +herdr agent attach reviewer +``` + +Detach with `ctrl+b q`. Send a literal `ctrl+b` with `ctrl+b ctrl+b`. + +Use `--takeover` if another direct attach client already owns input: + +```bash +herdr agent attach reviewer --takeover +``` + +Use `herdr terminal attach ` when you want the same direct attach behavior for a non-agent terminal. diff --git a/docs/versions/0.5.12/website/src/content/docs/cli-reference.mdx b/docs/versions/0.5.12/website/src/content/docs/cli-reference.mdx new file mode 100644 index 00000000..14c36a76 --- /dev/null +++ b/docs/versions/0.5.12/website/src/content/docs/cli-reference.mdx @@ -0,0 +1,195 @@ +--- +title: CLI reference +description: Herdr commands for sessions, workspaces, tabs, panes, agents, waits, integrations, and status. +--- + +Herdr’s CLI talks to the running server over the same local socket API used by integrations and agents. + +Most commands print JSON responses. Use them from scripts when you want deterministic automation. + +## Launch and status + +```bash +herdr # launch or attach to the default session +herdr --session work # launch or attach to a named session +herdr --remote workbox # attach through SSH +herdr --no-session # single-process escape hatch +herdr --default-config # print default config +herdr update # download and install the latest version +herdr --version # print version +``` + +Status commands: + +```bash +herdr status +herdr status server +herdr status client +``` + +## Server + +```bash +herdr server +herdr server stop +herdr server reload-config +``` + +`herdr server` runs the headless server explicitly. Use it for supervised or service-style setups. `reload-config` applies reloadable settings without restarting panes. + +## Sessions + +```bash +herdr session list [--json] +herdr session attach +herdr session stop [--json] +herdr session delete [--json] +``` + +Use `default` as the session name when you need to stop the default session explicitly. + +## Workspaces + +```bash +herdr workspace list +herdr workspace create [--cwd PATH] [--label TEXT] [--focus] [--no-focus] +herdr workspace get +herdr workspace focus +herdr workspace rename