@henryqw/pi-herdr-done 0.5.3 → 0.5.5

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 +23 -6
  2. package/package.json +4 -4
package/README.md CHANGED
@@ -1,10 +1,10 @@
1
1
  # `@henryqw/pi-herdr-done`
2
2
 
3
- Pi extension that closes and removes the current Herdr-managed linked worktree. Requires Pi Coding Agent 0.84.x (minimum 0.84.2) running inside Herdr.
3
+ Close and remove the current Herdr-managed linked worktree safely.
4
4
 
5
5
  ## Why
6
6
 
7
- - **Created for**: Automating safe cleanup after finishing worktree-based tasks instead of manually removing checkouts, closing tabs, and pulling parents.
7
+ - **Created for**: Clean up finished worktree tasks without manually removing checkouts, closing tabs, and pulling parents.
8
8
  - **Advantage**: `/done` removes the checkout, closes workspace tabs, fast-forwards the parent with `--ff-only`, and refuses unsafe cases unless forced.
9
9
 
10
10
  ## Install
@@ -13,6 +13,8 @@ Pi extension that closes and removes the current Herdr-managed linked worktree.
13
13
  pi install npm:@henryqw/pi-herdr-done
14
14
  ```
15
15
 
16
+ Requires a Pi session running inside Herdr.
17
+
16
18
  ## Use
17
19
 
18
20
  | Surface | Type | Purpose |
@@ -20,7 +22,13 @@ pi install npm:@henryqw/pi-herdr-done
20
22
  | `/done` | command | Remove the current worktree checkout, close its Herdr workspace's tabs, and fast-forward the parent workspace. |
21
23
  | `/done --force` | command | Same, even when the worktree is dirty or used by tabs in another workspace. |
22
24
 
23
- Both forms wait for Pi to become idle. `/done` asks for confirmation first; `/done --force` skips it because the flag already states intent. Normal removal runs:
25
+ ### Idle and confirmation
26
+
27
+ - Both forms wait for Pi to become idle.
28
+ - `/done` asks for confirmation first.
29
+ - `/done --force` skips confirmation because the flag already states intent.
30
+
31
+ Normal removal runs:
24
32
 
25
33
  ```bash
26
34
  git worktree remove .
@@ -29,8 +37,17 @@ git -C <parent> pull --ff-only
29
37
  herdr tab close "$HERDR_TAB_ID"
30
38
  ```
31
39
 
32
- The parent pull runs only when this session ran in a linked worktree with a non-bare primary. It fails safely when the parent has diverged. Parent tabs do not block worktree removal or the parent pull. Once removal succeeds, every tab in the current Herdr workspace closes even when the parent pull fails. Concurrent completions serialize on a lock around the parent checkout.
40
+ ### Parent pull and tabs
41
+
42
+ - The parent pull runs only when this session ran in a linked worktree with a non-bare primary.
43
+ - It fails safely when the parent has diverged.
44
+ - Parent tabs do not block worktree removal or the parent pull.
45
+ - Once removal succeeds, every tab in the current Herdr workspace closes, even when the parent pull fails.
46
+ - Concurrent completions serialize on a lock around the parent checkout.
33
47
 
34
- Tabs in the current Herdr workspace close automatically. When a tab from another workspace still uses the current checkout, `/done` refuses and lists it by name; use `/done --force` to remove the checkout regardless. Command requires Pi running inside Herdr with `HERDR_ENV=1`, `HERDR_WORKSPACE_ID`, and `HERDR_TAB_ID` set.
48
+ ### Herdr requirements and force
35
49
 
36
- Dirty worktrees make `/done` fail. Commit or discard changes, or use `/done --force` to explicitly delete them.
50
+ - Tabs in the current Herdr workspace close automatically.
51
+ - If a tab from another workspace still uses the current checkout, `/done` refuses and lists it by name. Use `/done --force` to remove the checkout regardless.
52
+ - The command requires Pi inside Herdr with `HERDR_ENV=1`, `HERDR_WORKSPACE_ID`, and `HERDR_TAB_ID` set.
53
+ - Dirty worktrees make `/done` fail. Commit or discard changes, or use `/done --force` to explicitly delete them.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@henryqw/pi-herdr-done",
3
- "version": "0.5.3",
3
+ "version": "0.5.5",
4
4
  "description": "Close and remove the current Herdr worktree from Pi.",
5
5
  "keywords": [
6
6
  "pi-package",
@@ -14,9 +14,9 @@
14
14
  },
15
15
  "license": "MIT",
16
16
  "files": [
17
+ "LICENSE",
17
18
  "extensions",
18
- "README.md",
19
- "LICENSE"
19
+ "README.md"
20
20
  ],
21
21
  "scripts": {
22
22
  "test": "node --test test/*.test.ts",
@@ -24,7 +24,7 @@
24
24
  "pack:check": "npm pack --dry-run"
25
25
  },
26
26
  "peerDependencies": {
27
- "@earendil-works/pi-coding-agent": "^0.84.2"
27
+ "@earendil-works/pi-coding-agent": "^0.84.4"
28
28
  },
29
29
  "dependencies": {
30
30
  "@henryqw/pi-herdr": "^0.3.0"