@axelgar/opentree 0.1.21 → 0.1.23

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 (2) hide show
  1. package/README.md +18 -14
  2. package/package.json +5 -5
package/README.md CHANGED
@@ -230,26 +230,29 @@ args = ["--some-flag"]
230
230
 
231
231
  Agents can tell opentree how they're doing by writing a `.opentree-status.json`
232
232
  file to the **worktree root**. The workspace list reads it on every refresh and
233
- shows a badge (and, for `needs_input`, a `N need input` count in the status bar),
234
- so a glance across the dashboard tells you which worktree is waiting on you.
233
+ shows a badge, so a glance across the dashboard tells you which worktrees are
234
+ working and which have gone quiet and want your attention.
235
235
 
236
236
  ```jsonc
237
237
  {
238
- "status": "needs_input", // required
239
- "message": "Approve running tests?", // optional — shown on the row
240
- "updated_at": "2026-07-13T12:00:00Z" // optional
238
+ "status": "needs_input", // required: "in_progress" or "needs_input"
239
+ "message": "Approve running tests?" // optional — shown on the row
241
240
  }
242
241
  ```
243
242
 
244
- Valid `status` values:
243
+ Agents only ever report two things — `in_progress` (a turn started) and
244
+ `needs_input` (a turn ended, or it hit a prompt). opentree pairs that with **how
245
+ long ago** the file last changed to derive the badge, so a finished turn from an
246
+ hour ago doesn't look the same as one that just landed:
245
247
 
246
- | `status` | Badge |
247
- | ------------- | -------------- |
248
- | `in_progress` | `working...` |
249
- | `needs_input` | `needs input` |
250
- | `success` | `done` |
251
- | `failure` | `failed` |
252
- | `error` | `error` |
248
+ | Agent wrote | Last change | Badge | Meaning |
249
+ | ------------- | ---------------- | -------------------- | ------------------------------------ |
250
+ | `in_progress` | recent | `working…` | actively generating |
251
+ | `in_progress` | stale | `stalled · 40m ago` | turn never ended — likely dead session |
252
+ | `needs_input` | recent | `waiting · your turn`| just stopped — your move |
253
+ | `needs_input` | stale | `idle · 2h ago` | parked; nobody's touched it |
254
+
255
+ The status bar tallies the ones that want you: `N waiting` and, if any, `N stalled`.
253
256
 
254
257
  **One-step setup.** Let opentree install the hooks for you:
255
258
 
@@ -266,7 +269,8 @@ any session opentree didn't start. That means you install once, globally, and it
266
269
  just works across all your worktrees.
267
270
 
268
271
  `opentree agents setup <agent>` maps a new prompt → `in_progress` and a
269
- permission prompt / notification / turn-end → `needs_input`.
272
+ permission prompt / notification / turn-end → `needs_input`. The bundled hooks
273
+ report `status` only; the optional `message` is for hand-written or custom hooks.
270
274
 
271
275
  **GitHub Copilot** and **Pi** can't be fully automated (Copilot has no
272
276
  "waiting for input" event; Pi's notify config holds a single script) — running
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@axelgar/opentree",
3
- "version": "0.1.21",
3
+ "version": "0.1.23",
4
4
  "description": "Git worktree manager CLI for orchestrating parallel AI coding sessions",
5
5
  "repository": {
6
6
  "type": "git",
@@ -15,10 +15,10 @@
15
15
  "bin/opentree"
16
16
  ],
17
17
  "optionalDependencies": {
18
- "@axelgar/opentree-linux-x64": "0.1.21",
19
- "@axelgar/opentree-linux-arm64": "0.1.21",
20
- "@axelgar/opentree-darwin-x64": "0.1.21",
21
- "@axelgar/opentree-darwin-arm64": "0.1.21"
18
+ "@axelgar/opentree-linux-x64": "0.1.23",
19
+ "@axelgar/opentree-linux-arm64": "0.1.23",
20
+ "@axelgar/opentree-darwin-x64": "0.1.23",
21
+ "@axelgar/opentree-darwin-arm64": "0.1.23"
22
22
  },
23
23
  "engines": {
24
24
  "node": ">=18"