pi-herdr-agents 1.2.0 → 1.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (3) hide show
  1. package/CHANGELOG.md +8 -1
  2. package/README.md +79 -50
  3. package/package.json +3 -2
package/CHANGELOG.md CHANGED
@@ -7,7 +7,13 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog).
9
9
 
10
- ## [v1.2.0](https://github.com/giuseppecrj/pi-herdr-agents/compare/v1.1.0...v1.2.0)
10
+ ## [v1.2.1](https://github.com/giuseppecrj/pi-herdr-agents/compare/v1.2.0...v1.2.1)
11
+
12
+ ### Commits
13
+
14
+ - docs: polish package readme and artwork [`908dd76`](https://github.com/giuseppecrj/pi-herdr-agents/commit/908dd76875c91871b8d91113e6d1633d5112d5b3)
15
+
16
+ ## [v1.2.0](https://github.com/giuseppecrj/pi-herdr-agents/compare/v1.1.0...v1.2.0) - 2026-08-13
11
17
 
12
18
  ### Commits
13
19
 
@@ -17,6 +23,7 @@ Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog).
17
23
  - feat: simplify worktree command [`4dc88e0`](https://github.com/giuseppecrj/pi-herdr-agents/commit/4dc88e0a962625eec10240d57cf67548510e6a9a)
18
24
  - docs: add worktree handoff research [`00f95c6`](https://github.com/giuseppecrj/pi-herdr-agents/commit/00f95c65e0f050492259a0de625c35e4eef9aae8)
19
25
  - test: cover failed worktree handoff recovery [`dd27c0a`](https://github.com/giuseppecrj/pi-herdr-agents/commit/dd27c0a8f17e51cff635e5b77e18ff7f05896650)
26
+ - chore: release v1.2.0 [`dba1ab5`](https://github.com/giuseppecrj/pi-herdr-agents/commit/dba1ab5564b9ef64ae1f0f57b6df4bb40502970c)
20
27
  - ci: upgrade release actions to node24 [`ec9158d`](https://github.com/giuseppecrj/pi-herdr-agents/commit/ec9158d838cb0fae914c94fc448a6677b4ab1696)
21
28
 
22
29
  ## [v1.1.0](https://github.com/giuseppecrj/pi-herdr-agents/compare/v1.0.0...v1.1.0) - 2026-08-11
package/README.md CHANGED
@@ -1,84 +1,99 @@
1
1
  # Pi Herdr Agents
2
2
 
3
- Async subagents for [Pi](https://github.com/earendil-works/pi) running exclusively in [Herdr](https://herdr.dev). Spawn, orchestrate, and manage sub-agent sessions in dedicated herdr tabs or panes. **Fully non-blocking** — the main agent keeps working while subagents run in the background.
3
+ ![Pi Herdr Agents: parallel Pi agents running asynchronously in dedicated Herdr panes and managed worktrees.](https://raw.githubusercontent.com/giuseppecrj/pi-herdr-agents/main/docs/assets/pi-herdr-agents-gallery.png)
4
4
 
5
- Package: `pi-herdr-agents` · Repository: [`giuseppecrj/pi-herdr-agents`](https://github.com/giuseppecrj/pi-herdr-agents)
5
+ Asynchronous subagents and approved review workflows for [Pi](https://github.com/earendil-works/pi), running exclusively in [Herdr](https://herdr.dev).
6
6
 
7
- ## How It Works
7
+ Delegate investigation, implementation, and review without blocking the parent session. Each child runs as a real Pi process in its own Herdr surface; results return automatically when the child finishes.
8
8
 
9
- Call `subagent()` and it **returns immediately**. The sub-agent runs in its own terminal pane. A live widget above the input shows all tracked agents with their projected state — for example `starting`, `active`, `waiting`, `blocked`, `interrupted`, `stalled`, `running`, or `finalizing`. The header summarizes **active** (processing) vs **open** (not processing). When every tracked subagent is open, the border switches to amber. When a sub-agent finishes, its result is **steered back** into the main session as an async notification — triggering a new turn so the agent can process it.
9
+ ## Features
10
10
 
11
- ```
12
- ╭─ Subagents ──────────────────── 1 active · 1 open ─╮
13
- 00:23 Scout: Auth (scout) active · bash 7m
14
- 00:45 Scout: DB (scout) waiting 2m
15
- ╰────────────────────────────────────────────────────╯
16
- ```
11
+ - **Non-blocking delegation** — `subagent` acknowledges launch immediately while the parent keeps working.
12
+ - **Parallel execution** run independent scouts, workers, and reviewers at the same time.
13
+ - **Live supervision** track process and turn state in Pi's subagent widget; interrupt one child turn without destroying its session.
14
+ - **Managed worktrees** isolate writing agents in retained Herdr workspaces with explicit Git ownership and recovery details.
15
+ - **Conversation handoff** — continue the active Pi conversation in a new worktree with `/worktree` while preserving the parent session.
16
+ - **Approved review workflows** — prepare and run bounded, read-only multi-agent reviews with fresh evidence and one synthesized result.
17
+ - **Reusable roles** — use bundled agents, project or global definitions, and installable role packs.
17
18
 
18
- For parallel execution, just call `subagent` multiple times — they all run concurrently:
19
+ ## Requirements
19
20
 
20
- ```typescript
21
- subagent({ name: "Scout: Auth", agent: "scout", task: "Analyze auth module" });
22
- subagent({ name: "Scout: DB", agent: "scout", task: "Map database schema" });
23
- // Both return immediately, results steer back independently
24
- ```
21
+ - [Pi](https://github.com/earendil-works/pi) with package support
22
+ - [Herdr](https://herdr.dev) and its CLI
23
+ - `HERDR_ENV=1` start Pi from inside Herdr
25
24
 
26
- Read-only agents can safely share the parent checkout. For parallel agents that write files, give each task a unique Herdr-managed worktree; see [Worktree subagents](docs/worktree-subagents.md).
25
+ Other terminal multiplexers are not supported. Worktrees isolate Git checkouts, not processes or permissions; child agents and installed Pi packages run with your user account's access.
27
26
 
28
- ## Development
27
+ ## Install
29
28
 
30
- Run unit tests and lint locally:
29
+ Install from npm:
31
30
 
32
31
  ```bash
33
- npm test
34
- npm run lint
32
+ pi install npm:pi-herdr-agents
35
33
  ```
36
34
 
37
- Run the required end-to-end suite from inside herdr:
35
+ Install project-locally or try it for one run:
38
36
 
39
37
  ```bash
40
- npm run test:integration
38
+ pi install -l npm:pi-herdr-agents
39
+ pi -e npm:pi-herdr-agents
41
40
  ```
42
41
 
43
- It launches real Pi sessions, Herdr panes, worktrees, and the extension from the working tree, but routes model requests to a local deterministic fixture. It needs no provider credentials or network access.
44
-
45
- An optional live-provider smoke test remains available for Pi/provider compatibility; it is not a merge gate:
42
+ Then start Pi inside Herdr:
46
43
 
47
44
  ```bash
48
- PI_TEST_MODEL="openai-codex/gpt-5.6-luna" PI_TEST_TIMEOUT=180000 \
49
- npm run test:integration:live
45
+ herdr
46
+ pi
50
47
  ```
51
48
 
52
- `PI_TEST_MODEL` selects the parent and child runtime only in live mode.
49
+ Restart or `/reload` Pi after installation. Review package source before installing any Pi package.
53
50
 
54
- ## Install
51
+ ## Quick start
55
52
 
56
- Install the package globally from npm:
53
+ Ask Pi to delegate naturally:
57
54
 
58
- ```bash
59
- pi install npm:pi-herdr-agents
55
+ ```text
56
+ Use two scouts in parallel to map the authentication flow, then summarize their findings.
60
57
  ```
61
58
 
62
- Use `pi install -l npm:pi-herdr-agents` for a project-local installation, or try it for one run without changing settings:
59
+ Or launch a named role directly:
63
60
 
64
- ```bash
65
- pi -e npm:pi-herdr-agents
61
+ ```text
62
+ /subagent scout Analyze the authentication module and report relevant files and risks
66
63
  ```
67
64
 
68
- Pi packages execute with your user account's full system access. Review the package source before installation.
65
+ For an isolated writing task:
69
66
 
70
- The documented `npm version` release step updates [CHANGELOG.md](CHANGELOG.md). Pushing that version change to `main` publishes to npm and creates the matching Git tag and GitHub Release. For bootstrap authentication, versioning, verification, and troubleshooting, see [RELEASING.md](RELEASING.md).
67
+ ```text
68
+ /worktree auth-fix Implement the approved authentication fix and run the focused tests
69
+ ```
71
70
 
72
- Start herdr, then run pi inside it:
71
+ Pi can also call the tool directly:
73
72
 
74
- ```bash
75
- herdr
76
- pi
73
+ ```typescript
74
+ subagent({ name: "Auth scout", agent: "scout", task: "Map the authentication flow" });
75
+ subagent({ name: "DB scout", agent: "scout", task: "Map the session schema" });
76
+ // Both return immediately; each result comes back independently.
77
77
  ```
78
78
 
79
- herdr is the only supported terminal environment. The extension requires `HERDR_ENV=1` and the `herdr` CLI to be available.
79
+ Use ordinary panes for read-only agents. Give each independent writing agent a unique managed worktree; see [Worktree subagents](docs/worktree-subagents.md).
80
+
81
+ ## How it works
80
82
 
81
- ### Troubleshooting completion delivery
83
+ ![Pi Herdr Agents lifecycle: spawn a child, run it in Herdr, supervise live state, and deliver one bounded result to the parent.](https://raw.githubusercontent.com/giuseppecrj/pi-herdr-agents/main/docs/assets/async-subagent-lifecycle.png)
84
+
85
+ A `subagent` call creates a dedicated Herdr pane or worktree, launches a child Pi session, and returns `started`. The parent watcher combines Herdr process state with child activity details and projects the result into a live widget:
86
+
87
+ ```text
88
+ ╭─ Subagents ──────────────────── 1 active · 1 open ─╮
89
+ │ 00:23 Scout: Auth (scout) active · read 7m │
90
+ │ 00:45 Reviewer (reviewer) waiting 2m │
91
+ ╰────────────────────────────────────────────────────╯
92
+ ```
93
+
94
+ When the child completes, the parent receives one bounded `subagent_result` message and starts a new turn with that result in context. Callers never need to poll, tail session files, or wait in a shell loop.
95
+
96
+ ## Troubleshooting completion delivery
82
97
 
83
98
  If a child finishes but the parent returns an empty or unrelated response, first verify that the result reached the parent session:
84
99
 
@@ -865,17 +880,31 @@ Every sub-agent session displays a compact tools widget showing available and de
865
880
 
866
881
  ---
867
882
 
868
- ## Requirements
883
+ ## Development
869
884
 
870
- - [Pi](https://github.com/earendil-works/pi) — the coding agent
871
- - [herdr](https://herdr.dev) — the required terminal workspace
885
+ Run local checks:
872
886
 
873
887
  ```bash
874
- herdr
875
- pi
888
+ npm ci
889
+ npm test
890
+ npm run lint
891
+ npm pack --dry-run
892
+ ```
893
+
894
+ Run the required end-to-end suite from inside Herdr:
895
+
896
+ ```bash
897
+ npm run test:integration
898
+ ```
899
+
900
+ The deterministic suite launches real Pi sessions, Herdr panes, and worktrees without provider credentials. The optional live-provider smoke test is not a merge gate:
901
+
902
+ ```bash
903
+ PI_TEST_MODEL="openai-codex/gpt-5.6-luna" PI_TEST_TIMEOUT=180000 \
904
+ npm run test:integration:live
876
905
  ```
877
906
 
878
- Other multiplexers and terminal backends are not supported. Worktrees provide Git checkout isolation only, not process or security isolation; child agents and installed Pi packages run with your user's filesystem and command permissions.
907
+ See [RELEASING.md](RELEASING.md) for versioning, trusted publication, and release verification.
879
908
 
880
909
  ---
881
910
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pi-herdr-agents",
3
- "version": "1.2.0",
3
+ "version": "1.2.1",
4
4
  "description": "Asynchronous Pi subagents and approved review workflows in Herdr, with optional isolated Git worktrees",
5
5
  "keywords": [
6
6
  "pi-package",
@@ -53,7 +53,8 @@
53
53
  ],
54
54
  "skills": [
55
55
  "./skills"
56
- ]
56
+ ],
57
+ "image": "https://raw.githubusercontent.com/giuseppecrj/pi-herdr-agents/main/docs/assets/pi-herdr-agents-gallery.png"
57
58
  },
58
59
  "devDependencies": {
59
60
  "@earendil-works/pi-ai": "^0.84.0",