@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.
- package/bundles/antigravity-plugin/plugin.json +1 -1
- package/bundles/antigravity-plugin/scripts/caddis_created.py +191 -0
- package/bundles/antigravity-plugin/scripts/caddis_docs_pr.py +11 -3
- package/bundles/antigravity-plugin/scripts/caddis_fleet.py +110 -5
- package/bundles/antigravity-plugin/scripts/caddis_lanes.py +4 -0
- package/bundles/antigravity-plugin/scripts/caddis_own_cleanup.py +424 -0
- package/bundles/antigravity-plugin/scripts/caddis_roadmap_run.py +3 -0
- package/bundles/antigravity-plugin/scripts/caddis_temp_prune.py +376 -0
- package/bundles/antigravity-plugin/scripts/caddis_tidy.py +32 -5
- package/bundles/antigravity-plugin/scripts/caddis_worktree_root.py +26 -3
- package/bundles/antigravity-plugin/skills/cloud-phases/SKILL.md +4 -3
- package/bundles/antigravity-plugin/skills/handoff/SKILL.md +45 -10
- package/bundles/antigravity-plugin/skills/pr-merge/SKILL.md +4 -3
- package/bundles/antigravity-plugin/skills/ship-merge/SKILL.md +4 -3
- package/bundles/antigravity-plugin/skills/ship-pr/SKILL.md +4 -3
- package/bundles/antigravity-plugin/skills/using-git-worktrees/SKILL.md +7 -1
- package/bundles/codex/.codex/skills/devops/using-git-worktrees/SKILL.md +7 -1
- package/bundles/manifest.json +2 -2
- package/package.json +1 -1
|
@@ -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.
|
|
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.
|
|
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.
|
|
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.
|
package/bundles/manifest.json
CHANGED
package/package.json
CHANGED