aboutsummaryrefslogtreecommitdiff
path: root/SOCKET_API.md
diff options
context:
space:
mode:
authorOgulcan Celik <ogulcancelik@gmail.com>2026-04-27 22:53:34 +0300
committerOgulcan Celik <ogulcancelik@gmail.com>2026-04-27 22:54:02 +0300
commit5a61ae2f9d89320c2e91d58fc3646b5a6a88f44a (patch)
tree5a627b659542cc3b881e50de1b57e10f1736a198 /SOCKET_API.md
parentd7879fafe80933ce962f1e029992e47a4eafc69d (diff)
feat: add status command
Diffstat (limited to 'SOCKET_API.md')
-rw-r--r--SOCKET_API.md18
1 files changed, 16 insertions, 2 deletions
diff --git a/SOCKET_API.md b/SOCKET_API.md
index 3ee1cfcc..b9da2efb 100644
--- a/SOCKET_API.md
+++ b/SOCKET_API.md
@@ -50,7 +50,8 @@ successful responses look like:
"id": "req_1",
"result": {
"type": "pong",
- "version": "0.1.2"
+ "version": "0.1.2",
+ "protocol": 2
}
}
```
@@ -891,10 +892,20 @@ example pushed `pane.agent_status_changed` event:
`agent` in pushed events follows the same rules as `pane_info.agent`: it may be a built-in detected name, a custom hook-reported label, or omitted.
## cli wrappers
-these commands talk to the same local socket surface and are usually the easiest starting point for shell scripts and coding agents.
+these commands provide the shell-facing control surface. most command groups talk to the local socket; `status client` only inspects the local executable.
### command groups
+status commands:
+
+```text
+herdr status
+herdr status server
+herdr status client
+```
+
+`herdr -V` and `herdr --version` print the local executable version without contacting the server. `herdr status` compares that local executable with the running server when one is reachable.
+
workspace commands:
```text
@@ -939,6 +950,9 @@ herdr wait agent-status <pane_id> --status <idle|working|blocked|done|unknown> [
### cli behavior notes
+- `status` prints local client version/protocol, running server version/protocol when reachable, socket path, compatibility, and whether a restart is needed
+- `status server` prints only the running server side; if no server is reachable it exits successfully and prints `status: not running`
+- `status client` prints only the local executable version/protocol and binary path without contacting the server
- `workspace create` focuses by default; pass `--no-focus` to keep focus where it is
- `workspace create` without `--label` keeps the default cwd-based workspace naming
- `workspace create --label` applies the custom workspace name immediately