@solaqua/gji 0.9.0 → 0.11.0

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 (100) hide show
  1. package/README.md +93 -20
  2. package/dist/back.d.ts +3 -0
  3. package/dist/back.js +19 -7
  4. package/dist/bootstrap-output.d.ts +3 -0
  5. package/dist/bootstrap-output.js +27 -0
  6. package/dist/bootstrap-preview.d.ts +10 -0
  7. package/dist/bootstrap-preview.js +21 -0
  8. package/dist/clean.js +25 -3
  9. package/dist/cli.js +105 -19
  10. package/dist/clone-failure-store.d.ts +18 -0
  11. package/dist/clone-failure-store.js +230 -0
  12. package/dist/command-runner.d.ts +6 -0
  13. package/dist/command-runner.js +38 -0
  14. package/dist/completion.js +7 -2
  15. package/dist/config-command.d.ts +1 -0
  16. package/dist/config-command.js +7 -1
  17. package/dist/config.d.ts +26 -1
  18. package/dist/config.js +110 -6
  19. package/dist/dependency-bootstrap-prompt.d.ts +24 -0
  20. package/dist/dependency-bootstrap-prompt.js +103 -0
  21. package/dist/dependency-bootstrap.d.ts +129 -0
  22. package/dist/dependency-bootstrap.js +566 -0
  23. package/dist/dir-clone.d.ts +33 -0
  24. package/dist/dir-clone.js +505 -0
  25. package/dist/done.d.ts +10 -0
  26. package/dist/done.js +208 -0
  27. package/dist/file-sync.js +71 -22
  28. package/dist/format-bytes.d.ts +1 -0
  29. package/dist/format-bytes.js +14 -0
  30. package/dist/fs-utils.d.ts +4 -0
  31. package/dist/fs-utils.js +26 -0
  32. package/dist/git.d.ts +5 -0
  33. package/dist/git.js +50 -0
  34. package/dist/gji-bundle.mjs +5489 -1206
  35. package/dist/go-resolver.d.ts +35 -0
  36. package/dist/go-resolver.js +185 -0
  37. package/dist/go.d.ts +5 -2
  38. package/dist/go.js +262 -62
  39. package/dist/hooks.d.ts +1 -1
  40. package/dist/hooks.js +13 -7
  41. package/dist/init.js +30 -22
  42. package/dist/install-prompt.d.ts +1 -0
  43. package/dist/install-prompt.js +3 -25
  44. package/dist/navigation-output.d.ts +11 -0
  45. package/dist/navigation-output.js +6 -0
  46. package/dist/new.d.ts +14 -2
  47. package/dist/new.js +434 -36
  48. package/dist/open.d.ts +1 -0
  49. package/dist/open.js +14 -2
  50. package/dist/pr.d.ts +6 -2
  51. package/dist/pr.js +135 -30
  52. package/dist/remove.js +20 -0
  53. package/dist/repo.d.ts +3 -0
  54. package/dist/repo.js +57 -6
  55. package/dist/safe-destination.d.ts +15 -0
  56. package/dist/safe-destination.js +166 -0
  57. package/dist/shell-completion.js +47 -14
  58. package/dist/sync-directories.d.ts +33 -0
  59. package/dist/sync-directories.js +97 -0
  60. package/dist/sync-plan.d.ts +16 -0
  61. package/dist/sync-plan.js +128 -0
  62. package/dist/sync.js +7 -13
  63. package/dist/undo.d.ts +36 -0
  64. package/dist/undo.js +392 -0
  65. package/dist/warp.d.ts +3 -1
  66. package/dist/warp.js +32 -125
  67. package/dist/worktree-bootstrap.d.ts +35 -0
  68. package/dist/worktree-bootstrap.js +93 -0
  69. package/dist/worktree-management.d.ts +1 -0
  70. package/dist/worktree-management.js +23 -4
  71. package/dist/worktree-picker.d.ts +21 -8
  72. package/dist/worktree-picker.js +107 -15
  73. package/dist/worktree-prompts.js +1 -1
  74. package/dist/worktree-source.d.ts +6 -0
  75. package/dist/worktree-source.js +1 -0
  76. package/dist/worktree-sources.d.ts +3 -0
  77. package/dist/worktree-sources.js +31 -0
  78. package/man/man1/gji-back.1 +1 -1
  79. package/man/man1/gji-clean.1 +1 -1
  80. package/man/man1/gji-completion.1 +1 -1
  81. package/man/man1/gji-config.1 +1 -1
  82. package/man/man1/gji-doctor.1 +1 -1
  83. package/man/man1/gji-done.1 +19 -0
  84. package/man/man1/gji-go.1 +9 -3
  85. package/man/man1/gji-history.1 +1 -1
  86. package/man/man1/gji-init.1 +1 -1
  87. package/man/man1/gji-ls.1 +1 -1
  88. package/man/man1/gji-new.1 +21 -3
  89. package/man/man1/gji-open.1 +4 -1
  90. package/man/man1/gji-pr.1 +7 -1
  91. package/man/man1/gji-remove.1 +3 -3
  92. package/man/man1/gji-root.1 +1 -1
  93. package/man/man1/gji-run-hook.1 +1 -1
  94. package/man/man1/gji-status.1 +1 -1
  95. package/man/man1/gji-sync-files.1 +1 -1
  96. package/man/man1/gji-sync.1 +1 -1
  97. package/man/man1/gji-undo.1 +16 -0
  98. package/man/man1/gji-warp.1 +3 -6
  99. package/man/man1/gji.1 +13 -5
  100. package/package.json +3 -1
@@ -1,10 +1,10 @@
1
- .TH GJI\-REMOVE 1 "July 2026" "gji 0.9.0" "User Commands"
1
+ .TH GJI\-REMOVE 1 "July 2026" "gji 0.11.0" "User Commands"
2
2
  .SH NAME
3
- gji\-remove \- remove a linked worktree and delete its branch when present
3
+ gji\-remove \- deprecated: use gji done for one worktree or gji clean for bulk cleanup
4
4
  .SH SYNOPSIS
5
5
  .B gji remove [\fIoptions\fR] [options] [branch]
6
6
  .SH DESCRIPTION
7
- remove a linked worktree and delete its branch when present
7
+ deprecated: use gji done for one worktree or gji clean for bulk cleanup
8
8
  .SH OPTIONS
9
9
  .TP
10
10
  .B \-f, \-\-force
@@ -1,4 +1,4 @@
1
- .TH GJI\-ROOT 1 "July 2026" "gji 0.9.0" "User Commands"
1
+ .TH GJI\-ROOT 1 "July 2026" "gji 0.11.0" "User Commands"
2
2
  .SH NAME
3
3
  gji\-root \- print the main repository root path
4
4
  .SH SYNOPSIS
@@ -1,4 +1,4 @@
1
- .TH GJI\-RUN\-HOOK 1 "July 2026" "gji 0.9.0" "User Commands"
1
+ .TH GJI\-RUN\-HOOK 1 "July 2026" "gji 0.11.0" "User Commands"
2
2
  .SH NAME
3
3
  gji\-run\-hook \- run a named hook (after\-create, after\-enter, before\-remove) in the current worktree
4
4
  .SH SYNOPSIS
@@ -1,4 +1,4 @@
1
- .TH GJI\-STATUS 1 "July 2026" "gji 0.9.0" "User Commands"
1
+ .TH GJI\-STATUS 1 "July 2026" "gji 0.11.0" "User Commands"
2
2
  .SH NAME
3
3
  gji\-status \- summarize repository and worktree health
4
4
  .SH SYNOPSIS
@@ -1,4 +1,4 @@
1
- .TH GJI\-SYNC\-FILES 1 "July 2026" "gji 0.9.0" "User Commands"
1
+ .TH GJI\-SYNC\-FILES 1 "July 2026" "gji 0.11.0" "User Commands"
2
2
  .SH NAME
3
3
  gji\-sync\-files \- manage local files copied into new worktrees
4
4
  .SH SYNOPSIS
@@ -1,4 +1,4 @@
1
- .TH GJI\-SYNC 1 "July 2026" "gji 0.9.0" "User Commands"
1
+ .TH GJI\-SYNC 1 "July 2026" "gji 0.11.0" "User Commands"
2
2
  .SH NAME
3
3
  gji\-sync \- fetch and update one or all worktrees
4
4
  .SH SYNOPSIS
@@ -0,0 +1,16 @@
1
+ .TH GJI\-UNDO 1 "July 2026" "gji 0.11.0" "User Commands"
2
+ .SH NAME
3
+ gji\-undo \- restore the most recent destructive worktree operation
4
+ .SH SYNOPSIS
5
+ .B gji undo [\fIoptions\fR] [options] [id]
6
+ .SH DESCRIPTION
7
+ restore the most recent destructive worktree operation
8
+ .SH OPTIONS
9
+ .TP
10
+ .B \-\-list
11
+ list recoverable operations
12
+ .TP
13
+ .B \-\-json
14
+ emit JSON on success or error instead of human\-readable output
15
+ .SH "SEE ALSO"
16
+ .BR gji (1)
@@ -1,15 +1,12 @@
1
- .TH GJI\-WARP 1 "July 2026" "gji 0.9.0" "User Commands"
1
+ .TH GJI\-WARP 1 "July 2026" "gji 0.11.0" "User Commands"
2
2
  .SH NAME
3
- gji\-warp \- jump to any worktree across all known repos
3
+ gji\-warp \- deprecated: use gji go (press Tab for all known repos)
4
4
  .SH SYNOPSIS
5
5
  .B gji warp [\fIoptions\fR] [options] [branch]
6
6
  .SH DESCRIPTION
7
- jump to any worktree across all known repos
7
+ deprecated: use gji go (press Tab for all known repos)
8
8
  .SH OPTIONS
9
9
  .TP
10
- .B \-n, \-\-new [branch]
11
- create a new worktree in a registered repo
12
- .TP
13
10
  .B \-\-print
14
11
  print the resolved worktree path without changing directory
15
12
  .TP
package/man/man1/gji.1 CHANGED
@@ -1,4 +1,4 @@
1
- .TH GJI 1 "July 2026" "gji 0.9.0" "User Commands"
1
+ .TH GJI 1 "July 2026" "gji 0.11.0" "User Commands"
2
2
  .SH NAME
3
3
  gji \- Context switching without the mess.
4
4
  .SH SYNOPSIS
@@ -12,7 +12,13 @@ eliminating the need for \fBgit stash\fR when switching contexts.
12
12
  .SH COMMANDS
13
13
  .TP
14
14
  .B new [options] [branch]
15
- create a new branch or detached linked worktree
15
+ create a new branch or detached linked worktree and CoW\-bootstrap configured directories
16
+ .TP
17
+ .B done [options] [branch]
18
+ finish the current linked worktree and return safely
19
+ .TP
20
+ .B undo [options] [id]
21
+ restore the most recent destructive worktree operation
16
22
  .TP
17
23
  .B init [options] [shell]
18
24
  set up shell integration interactively or print a shell wrapper
@@ -36,7 +42,7 @@ show navigation history
36
42
  open the worktree in an editor
37
43
  .TP
38
44
  .B go [options] [branch]
39
- print or select a worktree path
45
+ resolve and jump to a worktree path
40
46
  .br
41
47
  Alias: \fBjump\fR
42
48
  .TP
@@ -59,7 +65,7 @@ list active worktrees
59
65
  interactively prune linked worktrees
60
66
  .TP
61
67
  .B remove [options] [branch]
62
- remove a linked worktree and delete its branch when present
68
+ deprecated: use gji done for one worktree or gji clean for bulk cleanup
63
69
  .br
64
70
  Alias: \fBrm\fR
65
71
  .TP
@@ -69,7 +75,7 @@ run a named hook (after\-create, after\-enter, before\-remove) in the current wo
69
75
  Alias: \fBtrigger\-hook\fR
70
76
  .TP
71
77
  .B warp [options] [branch]
72
- jump to any worktree across all known repos
78
+ deprecated: use gji go (press Tab for all known repos)
73
79
  .TP
74
80
  .B config [options] [command]
75
81
  manage global config defaults
@@ -79,6 +85,8 @@ manage global config defaults
79
85
  output the version number
80
86
  .SH "SEE ALSO"
81
87
  .BR gji\-new (1),
88
+ .BR gji\-done (1),
89
+ .BR gji\-undo (1),
82
90
  .BR gji\-init (1),
83
91
  .BR gji\-doctor (1),
84
92
  .BR gji\-completion (1),
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@solaqua/gji",
3
- "version": "0.9.0",
3
+ "version": "0.11.0",
4
4
  "description": "Git worktree CLI for fast context switching.",
5
5
  "license": "MIT",
6
6
  "author": "sjquant",
@@ -49,6 +49,7 @@
49
49
  "docs:start": "pnpm --dir website start",
50
50
  "prepublishOnly": "pnpm test && pnpm build && pnpm generate-man",
51
51
  "test": "vitest run --passWithNoTests",
52
+ "test:coverage": "vitest run --coverage --passWithNoTests",
52
53
  "test:watch": "vitest",
53
54
  "lint": "biome lint --write .",
54
55
  "format": "biome format --write .",
@@ -65,6 +66,7 @@
65
66
  "@biomejs/biome": "^2.4.15",
66
67
  "@j178/prek": "^0.3.13",
67
68
  "@types/node": "^24.6.0",
69
+ "@vitest/coverage-v8": "3.2.4",
68
70
  "esbuild": "^0.27.0",
69
71
  "tsx": "^4.22.4",
70
72
  "typescript": "^5.9.3",