@caddis/cli 0.4.66 → 0.4.68

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.
@@ -43,10 +43,10 @@ It prints `SHARED: yes <reason>` or `SHARED: no` and exits 0. It says yes when t
43
43
 
44
44
  - **On `SHARED: no`,** do the steps as written, in this checkout.
45
45
  - **On `SHARED: yes`,** never move this checkout. Leave its changes as they are, and report them. Instead:
46
- - **Rebase:** `git worktree add --detach "$(python "${CLAUDE_PLUGIN_ROOT}/scripts/caddis_worktree_root.py" rebase-<name>)" <branch>`, then
46
+ - **Rebase:** `git worktree add --detach "$(python "${CLAUDE_PLUGIN_ROOT}/scripts/caddis_worktree_root.py" rebase-<name> --record --purpose "rebase <name>")" <branch>`, then
47
47
  `git -C <worktree> rebase origin/<default>` and `git -C <worktree> push --force-with-lease origin HEAD:<branch>`.
48
48
  - **Pull a branch to test it:** `git fetch origin`, then
49
- `git worktree add --detach "$(python "${CLAUDE_PLUGIN_ROOT}/scripts/caddis_worktree_root.py" test-<name>)" origin/<branch>` (for the default branch,
49
+ `git worktree add --detach "$(python "${CLAUDE_PLUGIN_ROOT}/scripts/caddis_worktree_root.py" test-<name> --record --purpose "test <name>")" origin/<branch>` (for the default branch,
50
50
  `origin/<default>`), and run the gates there. Install dependencies fresh; never link `node_modules` or a venv.
51
51
  - **Clean up after a merge:** do not switch or pull. Run `git fetch --prune`, then
52
52
  `git fetch origin <default>:<default>`: it fast-forwards the default branch with no checkout. Git refuses when a
@@ -56,7 +56,8 @@ It prints `SHARED: yes <reason>` or `SHARED: no` and exits 0. It says yes when t
56
56
 
57
57
  `<name>` is the branch name with each `/` written as `-`. `caddis_worktree_root.py` prints the path of a new worktree:
58
58
  `$CADDIS_WORKTREE_ROOT/<repo>/<short-name>`, else `<parent of the main checkout>/.worktrees/<repo>/<short-name>`. Never `%TEMP%`: Windows
59
- cleanup can empty it. The caddis guard checks only the `Shared checkout: yes` line in
59
+ cleanup can empty it. `--record --purpose "<why>"` also writes the path to this
60
+ session's created list (`caddis_created.py`), so `/handoff` can remove the worktree later. The caddis guard checks only the `Shared checkout: yes` line in
60
61
  `AGENTS.md`, not a dirty tree: with that line, it asks before a tree move, and denies it in a headless session.
61
62
  <!-- /checkout-safety -->
62
63
 
@@ -42,10 +42,10 @@ It prints `SHARED: yes <reason>` or `SHARED: no` and exits 0. It says yes when t
42
42
 
43
43
  - **On `SHARED: no`,** do the steps as written, in this checkout.
44
44
  - **On `SHARED: yes`,** never move this checkout. Leave its changes as they are, and report them. Instead:
45
- - **Rebase:** `git worktree add --detach "$(python "${CLAUDE_PLUGIN_ROOT}/scripts/caddis_worktree_root.py" rebase-<name>)" <branch>`, then
45
+ - **Rebase:** `git worktree add --detach "$(python "${CLAUDE_PLUGIN_ROOT}/scripts/caddis_worktree_root.py" rebase-<name> --record --purpose "rebase <name>")" <branch>`, then
46
46
  `git -C <worktree> rebase origin/<default>` and `git -C <worktree> push --force-with-lease origin HEAD:<branch>`.
47
47
  - **Pull a branch to test it:** `git fetch origin`, then
48
- `git worktree add --detach "$(python "${CLAUDE_PLUGIN_ROOT}/scripts/caddis_worktree_root.py" test-<name>)" origin/<branch>` (for the default branch,
48
+ `git worktree add --detach "$(python "${CLAUDE_PLUGIN_ROOT}/scripts/caddis_worktree_root.py" test-<name> --record --purpose "test <name>")" origin/<branch>` (for the default branch,
49
49
  `origin/<default>`), and run the gates there. Install dependencies fresh; never link `node_modules` or a venv.
50
50
  - **Clean up after a merge:** do not switch or pull. Run `git fetch --prune`, then
51
51
  `git fetch origin <default>:<default>`: it fast-forwards the default branch with no checkout. Git refuses when a
@@ -55,7 +55,8 @@ It prints `SHARED: yes <reason>` or `SHARED: no` and exits 0. It says yes when t
55
55
 
56
56
  `<name>` is the branch name with each `/` written as `-`. `caddis_worktree_root.py` prints the path of a new worktree:
57
57
  `$CADDIS_WORKTREE_ROOT/<repo>/<short-name>`, else `<parent of the main checkout>/.worktrees/<repo>/<short-name>`. Never `%TEMP%`: Windows
58
- cleanup can empty it. The caddis guard checks only the `Shared checkout: yes` line in
58
+ cleanup can empty it. `--record --purpose "<why>"` also writes the path to this
59
+ session's created list (`caddis_created.py`), so `/handoff` can remove the worktree later. The caddis guard checks only the `Shared checkout: yes` line in
59
60
  `AGENTS.md`, not a dirty tree: with that line, it asks before a tree move, and denies it in a headless session.
60
61
  <!-- /checkout-safety -->
61
62
 
@@ -41,10 +41,10 @@ It prints `SHARED: yes <reason>` or `SHARED: no` and exits 0. It says yes when t
41
41
 
42
42
  - **On `SHARED: no`,** do the steps as written, in this checkout.
43
43
  - **On `SHARED: yes`,** never move this checkout. Leave its changes as they are, and report them. Instead:
44
- - **Rebase:** `git worktree add --detach "$(python "${CLAUDE_PLUGIN_ROOT}/scripts/caddis_worktree_root.py" rebase-<name>)" <branch>`, then
44
+ - **Rebase:** `git worktree add --detach "$(python "${CLAUDE_PLUGIN_ROOT}/scripts/caddis_worktree_root.py" rebase-<name> --record --purpose "rebase <name>")" <branch>`, then
45
45
  `git -C <worktree> rebase origin/<default>` and `git -C <worktree> push --force-with-lease origin HEAD:<branch>`.
46
46
  - **Pull a branch to test it:** `git fetch origin`, then
47
- `git worktree add --detach "$(python "${CLAUDE_PLUGIN_ROOT}/scripts/caddis_worktree_root.py" test-<name>)" origin/<branch>` (for the default branch,
47
+ `git worktree add --detach "$(python "${CLAUDE_PLUGIN_ROOT}/scripts/caddis_worktree_root.py" test-<name> --record --purpose "test <name>")" origin/<branch>` (for the default branch,
48
48
  `origin/<default>`), and run the gates there. Install dependencies fresh; never link `node_modules` or a venv.
49
49
  - **Clean up after a merge:** do not switch or pull. Run `git fetch --prune`, then
50
50
  `git fetch origin <default>:<default>`: it fast-forwards the default branch with no checkout. Git refuses when a
@@ -54,7 +54,8 @@ It prints `SHARED: yes <reason>` or `SHARED: no` and exits 0. It says yes when t
54
54
 
55
55
  `<name>` is the branch name with each `/` written as `-`. `caddis_worktree_root.py` prints the path of a new worktree:
56
56
  `$CADDIS_WORKTREE_ROOT/<repo>/<short-name>`, else `<parent of the main checkout>/.worktrees/<repo>/<short-name>`. Never `%TEMP%`: Windows
57
- cleanup can empty it. The caddis guard checks only the `Shared checkout: yes` line in
57
+ cleanup can empty it. `--record --purpose "<why>"` also writes the path to this
58
+ session's created list (`caddis_created.py`), so `/handoff` can remove the worktree later. The caddis guard checks only the `Shared checkout: yes` line in
58
59
  `AGENTS.md`, not a dirty tree: with that line, it asks before a tree move, and denies it in a headless session.
59
60
  <!-- /checkout-safety -->
60
61
 
@@ -39,10 +39,16 @@ If none is true, stop here and use `git switch -c`.
39
39
  script `caddis_worktree_root.py` prints the path; use it so the rule lives in one place:
40
40
 
41
41
  ```powershell
42
- $wt = python "<caddis scripts>\caddis_worktree_root.py" <short-name> # run in the repo; prints the path
42
+ $wt = python "<caddis scripts>\caddis_worktree_root.py" <short-name> --record --purpose "<why>" # run in the repo; prints the path
43
43
  git worktree add -b <branch> $wt origin/<default>
44
44
  ```
45
45
 
46
+ `--record` also writes the path to this session's created list (`caddis_created.py`), so `/handoff` can remove the
47
+ worktree later. Always record it, subagents most of all: their tool calls are in a separate transcript that the
48
+ Stop hook does not read. If you create a worktree without the helper, run
49
+ `python "<caddis scripts>\caddis_created.py" record --path <path> --kind worktree --purpose "<why>"` right after
50
+ `git worktree add`.
51
+
46
52
  `<caddis scripts>` is the `scripts` folder of the installed caddis plugin. Do not create worktrees inside the
47
53
  repo. An existing worktree stays where it is: moving it breaks a venv, which keeps absolute paths.
48
54
  4. State the full path of the worktree. Work only there, and do not switch branches in it.
@@ -39,10 +39,16 @@ If none is true, stop here and use `git switch -c`.
39
39
  script `caddis_worktree_root.py` prints the path; use it so the rule lives in one place:
40
40
 
41
41
  ```powershell
42
- $wt = python "<caddis scripts>\caddis_worktree_root.py" <short-name> # run in the repo; prints the path
42
+ $wt = python "<caddis scripts>\caddis_worktree_root.py" <short-name> --record --purpose "<why>" # run in the repo; prints the path
43
43
  git worktree add -b <branch> $wt origin/<default>
44
44
  ```
45
45
 
46
+ `--record` also writes the path to this session's created list (`caddis_created.py`), so `/handoff` can remove the
47
+ worktree later. Always record it, subagents most of all: their tool calls are in a separate transcript that the
48
+ Stop hook does not read. If you create a worktree without the helper, run
49
+ `python "<caddis scripts>\caddis_created.py" record --path <path> --kind worktree --purpose "<why>"` right after
50
+ `git worktree add`.
51
+
46
52
  `<caddis scripts>` is the `scripts` folder of the installed caddis plugin. Do not create worktrees inside the
47
53
  repo. An existing worktree stays where it is: moving it breaks a venv, which keeps absolute paths.
48
54
  4. State the full path of the worktree. Work only there, and do not switch branches in it.
@@ -1,7 +1,7 @@
1
1
  {
2
- "poolVersion": "1.3.152",
2
+ "poolVersion": "1.3.154",
3
3
  "bundles": {
4
- "antigravity-plugin": "1.3.152",
4
+ "antigravity-plugin": "1.3.154",
5
5
  "antigravity-plugin-extras": "1.3.46",
6
6
  "codex": "unknown"
7
7
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@caddis/cli",
3
- "version": "0.4.66",
3
+ "version": "0.4.68",
4
4
  "description": "Install, update and diagnose the caddis dev harness across every coding agent you use (Claude Code, agy/Antigravity, and more).",
5
5
  "keywords": [
6
6
  "caddis",