cluttry 1.0.3 → 1.5.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 (91) hide show
  1. package/CHANGELOG.md +71 -0
  2. package/README.md +203 -300
  3. package/dist/commands/completions.d.ts +16 -0
  4. package/dist/commands/completions.d.ts.map +1 -0
  5. package/dist/commands/completions.js +46 -0
  6. package/dist/commands/completions.js.map +1 -0
  7. package/dist/commands/explain-copy.d.ts +11 -0
  8. package/dist/commands/explain-copy.d.ts.map +1 -0
  9. package/dist/commands/explain-copy.js +34 -0
  10. package/dist/commands/explain-copy.js.map +1 -0
  11. package/dist/commands/finish.d.ts +20 -0
  12. package/dist/commands/finish.d.ts.map +1 -0
  13. package/dist/commands/finish.js +817 -0
  14. package/dist/commands/finish.js.map +1 -0
  15. package/dist/commands/gc.d.ts +22 -0
  16. package/dist/commands/gc.d.ts.map +1 -0
  17. package/dist/commands/gc.js +163 -0
  18. package/dist/commands/gc.js.map +1 -0
  19. package/dist/commands/init.d.ts.map +1 -1
  20. package/dist/commands/init.js +1 -0
  21. package/dist/commands/init.js.map +1 -1
  22. package/dist/commands/open.d.ts +15 -1
  23. package/dist/commands/open.d.ts.map +1 -1
  24. package/dist/commands/open.js +96 -17
  25. package/dist/commands/open.js.map +1 -1
  26. package/dist/commands/resume.d.ts +21 -0
  27. package/dist/commands/resume.d.ts.map +1 -0
  28. package/dist/commands/resume.js +106 -0
  29. package/dist/commands/resume.js.map +1 -0
  30. package/dist/commands/rm.d.ts.map +1 -1
  31. package/dist/commands/rm.js +6 -14
  32. package/dist/commands/rm.js.map +1 -1
  33. package/dist/commands/spawn.d.ts +3 -0
  34. package/dist/commands/spawn.d.ts.map +1 -1
  35. package/dist/commands/spawn.js +182 -19
  36. package/dist/commands/spawn.js.map +1 -1
  37. package/dist/index.d.ts +4 -0
  38. package/dist/index.d.ts.map +1 -1
  39. package/dist/index.js +198 -9
  40. package/dist/index.js.map +1 -1
  41. package/dist/lib/completions.d.ts +35 -0
  42. package/dist/lib/completions.d.ts.map +1 -0
  43. package/dist/lib/completions.js +368 -0
  44. package/dist/lib/completions.js.map +1 -0
  45. package/dist/lib/config.d.ts.map +1 -1
  46. package/dist/lib/config.js +2 -0
  47. package/dist/lib/config.js.map +1 -1
  48. package/dist/lib/errors.d.ts +43 -0
  49. package/dist/lib/errors.d.ts.map +1 -0
  50. package/dist/lib/errors.js +251 -0
  51. package/dist/lib/errors.js.map +1 -0
  52. package/dist/lib/git.d.ts +17 -0
  53. package/dist/lib/git.d.ts.map +1 -1
  54. package/dist/lib/git.js +78 -10
  55. package/dist/lib/git.js.map +1 -1
  56. package/dist/lib/safety.d.ts +79 -0
  57. package/dist/lib/safety.d.ts.map +1 -0
  58. package/dist/lib/safety.js +133 -0
  59. package/dist/lib/safety.js.map +1 -0
  60. package/dist/lib/secrets.d.ts +29 -0
  61. package/dist/lib/secrets.d.ts.map +1 -1
  62. package/dist/lib/secrets.js +115 -0
  63. package/dist/lib/secrets.js.map +1 -1
  64. package/dist/lib/session.d.ts +93 -0
  65. package/dist/lib/session.d.ts.map +1 -0
  66. package/dist/lib/session.js +254 -0
  67. package/dist/lib/session.js.map +1 -0
  68. package/dist/lib/types.d.ts +6 -1
  69. package/dist/lib/types.d.ts.map +1 -1
  70. package/package.json +1 -1
  71. package/.claude/settings.local.json +0 -7
  72. package/src/commands/doctor.ts +0 -222
  73. package/src/commands/init.ts +0 -120
  74. package/src/commands/list.ts +0 -133
  75. package/src/commands/open.ts +0 -78
  76. package/src/commands/prune.ts +0 -36
  77. package/src/commands/rm.ts +0 -125
  78. package/src/commands/shell.ts +0 -99
  79. package/src/commands/spawn.ts +0 -169
  80. package/src/index.ts +0 -123
  81. package/src/lib/config.ts +0 -120
  82. package/src/lib/git.ts +0 -243
  83. package/src/lib/output.ts +0 -102
  84. package/src/lib/paths.ts +0 -108
  85. package/src/lib/secrets.ts +0 -193
  86. package/src/lib/types.ts +0 -69
  87. package/tests/config.test.ts +0 -102
  88. package/tests/paths.test.ts +0 -155
  89. package/tests/secrets.test.ts +0 -150
  90. package/tsconfig.json +0 -20
  91. package/vitest.config.ts +0 -15
package/CHANGELOG.md ADDED
@@ -0,0 +1,71 @@
1
+ # Changelog
2
+
3
+ All notable changes to this project will be documented in this file.
4
+
5
+ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
6
+ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
+
8
+ ## [1.5.0] - 2025-01-09
9
+
10
+ ### Added
11
+
12
+ - **Shell completions** for bash, zsh, and fish (`cry completions <shell>`)
13
+ - **`cry gc`** command to clean up stale session manifests
14
+ - **`cry resume`** command to resume sessions by branch name or ID
15
+ - **`cry finish`** command with full commit wizard and PR creation
16
+ - **`--finish-on-exit`** flag for spawn to show finish menu when agent exits
17
+ - **`--base-branch`** option for spawn to specify PR target branch
18
+ - **`cry explain-copy`** command to preview which files will be copied
19
+ - **`--dry-run`** flag for spawn to preview without creating worktree
20
+ - **Session manifests** stored in `.cry/sessions/` for tracking
21
+ - **Structured error messages** with What/Why/Fix format for all failures
22
+ - **`cry shell`** command for shell integration (`crycd` function)
23
+
24
+ ### Changed
25
+
26
+ - **README rewritten** with AI session lifecycle positioning
27
+ - **Improved `cry open`** with agent/editor fallback support
28
+ - **Hardened base branch detection** using current branch or origin/HEAD
29
+ - **Better CLI help** with examples, finish flow, and safety notes
30
+
31
+ ### Fixed
32
+
33
+ - Proper handling of detached HEAD state
34
+ - Commander.js `--no-cleanup` flag parsing
35
+ - Git commit messages with spaces
36
+
37
+ ## [1.0.3] - 2024-12-XX
38
+
39
+ ### Added
40
+
41
+ - Initial release
42
+ - `cry spawn` - Create worktrees with secrets handling
43
+ - `cry list` - List all worktrees
44
+ - `cry rm` - Remove worktrees safely
45
+ - `cry open` - Open worktrees in editor
46
+ - `cry init` - Initialize configuration
47
+ - `cry doctor` - Check configuration health
48
+ - `cry prune` - Clean up git worktree references
49
+ - Automatic secrets copying (gitignored files only)
50
+ - Post-create hooks support
51
+ - Agent launch integration (Claude, Cursor)
52
+
53
+ ---
54
+
55
+ ## Version Bump Instructions
56
+
57
+ ### For maintainers
58
+
59
+ 1. Update version in `package.json`
60
+ 2. Update version in `src/index.ts` (`.version('X.Y.Z')`)
61
+ 3. Add entry to this CHANGELOG
62
+ 4. Commit: `git commit -am "chore: bump version to X.Y.Z"`
63
+ 5. Tag: `git tag vX.Y.Z`
64
+ 6. Push: `git push && git push --tags`
65
+ 7. Publish: `npm publish`
66
+
67
+ ### Versioning guidelines
68
+
69
+ - **MAJOR** (X.0.0): Breaking changes to CLI interface or config format
70
+ - **MINOR** (0.X.0): New commands, flags, or features
71
+ - **PATCH** (0.0.X): Bug fixes, documentation, internal improvements