cherrypick-interactive 1.13.4 โ†’ 1.13.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 -153
  2. package/package.json +1 -1
package/README.md CHANGED
@@ -22,26 +22,6 @@ No manual `git log` diffing. No risky merges. No guesswork.
22
22
 
23
23
  ---
24
24
 
25
- ## ๐Ÿงญ What it does
26
-
27
- - ๐Ÿ” Finds commits in `dev` not present in `main`
28
- - ๐Ÿ—‚๏ธ Lets you select which commits to cherry-pick (or pick all)
29
- - ๐Ÿชœ Cherry-picks in the correct order (oldest โ†’ newest)
30
- - โš”๏ธ [**Interactive conflict resolution wizard**](docs/conflict-resolution.md) with multiple strategies
31
- - ๐ŸŽฏ **Preserves exact commit messages** from squashed commits
32
- - ๐Ÿช„ Detects [**semantic version bump**](docs/semantic-versioning.md) from conventional commits
33
- - ๐Ÿงฉ Creates a `release/x.y.z` branch from `main`
34
- - ๐Ÿงพ Generates a Markdown changelog from commits
35
- - ๐Ÿ”— [**Tracker integration**](docs/tracker-integration.md) โ€” links ticket IDs to ClickUp, Jira, Linear, or custom
36
- - ๐Ÿ–ฅ๏ธ Rich [**TUI dashboard**](docs/tui-dashboard.md) with diff preview, search, and keyboard shortcuts
37
- - ๐Ÿค– [**CI mode**](docs/ci-mode.md) for fully non-interactive pipeline execution
38
- - โ†ฉ๏ธ [**Undo / rollback**](docs/undo-rollback.md) with checkpoint-based session recovery
39
- - ๐Ÿ“‹ **Changelog preview** before cherry-pick starts
40
- - โš ๏ธ **Dependency detection** warns when selected commits depend on unselected ones
41
- - ๐Ÿ’พ [**Profiles**](docs/profiles.md) to save and reuse CLI flag combinations
42
-
43
- ---
44
-
45
25
  ## ๐Ÿ“ฆ Installation
46
26
 
47
27
  ```bash
@@ -55,131 +35,43 @@ npm install -g cherrypick-interactive
55
35
  ## ๐Ÿš€ Quick Start
56
36
 
57
37
  ```bash
58
- cherrypick-interactive \
59
- --semantic-versioning \
60
- --version-file ./package.json \
61
- --create-release \
62
- --push-release \
63
- --draft-pr
64
- ```
65
-
66
- โœ… This will:
67
- 1. Fetch `origin/dev` and `origin/main`
68
- 2. List commits in `dev` missing from `main`
69
- 3. Let you select which to cherry-pick (TUI dashboard with diff preview)
70
- 4. Detect potential dependencies between commits
71
- 5. Show a changelog preview with version bump info
72
- 6. Create `release/<next-version>` from `main`
73
- 7. Cherry-pick the selected commits (with conflict resolution if needed)
74
- 8. Update your `package.json` version and commit it
75
- 9. Push the branch and open a **draft PR** on GitHub
76
-
77
- ---
78
-
79
- ## ๐Ÿงฉ Common Use Cases
80
-
81
- ```bash
82
- # Compare branches (default: origin/dev vs origin/main, last week)
83
38
  cherrypick-interactive
84
-
85
- # Pick everything, no prompts
86
- cherrypick-interactive --all-yes
87
-
88
- # Preview without applying
89
- cherrypick-interactive --dry-run
90
-
91
- # Filter out noise
92
- cherrypick-interactive --ignore-commits "^chore\(deps\)|^ci:"
93
-
94
- # Use a saved profile
95
- cherrypick-interactive --profile hotfix
96
-
97
- # Run in CI/CD
98
- cherrypick-interactive --ci --conflict-strategy theirs --format json > result.json
99
-
100
- # Link ticket IDs in changelog
101
- cherrypick-interactive --tracker clickup --tracker-url "https://app.clickup.com/t/{{id}}"
102
-
103
- # Undo the last session
104
- cherrypick-interactive --undo
105
39
  ```
106
40
 
107
- ---
108
-
109
- ## โš™๏ธ Options
41
+ That's it. Compares `origin/dev` vs `origin/main` for the last week and lets you pick interactively.
110
42
 
111
- ### Cherry-pick options
43
+ For a full release workflow, see the [Quick Start guide](docs/quick-start.md).
112
44
 
113
- | Flag | Description | Default |
114
- |------|--------------|----------|
115
- | `--dev` | Source branch | `origin/dev` |
116
- | `--main` | Target branch | `origin/main` |
117
- | `--since` | Time window (e.g. `"2 weeks ago"`) | `1 week ago` |
118
- | `--no-fetch` | Skip `git fetch --prune` | `false` |
119
- | `--all-yes` | Cherry-pick all without prompt | `false` |
120
- | `--ignore-commits` | Regex patterns to exclude commits | โ€” |
121
-
122
- ### Version options
123
-
124
- | Flag | Description | Default |
125
- |------|--------------|----------|
126
- | `--semantic-versioning` | Auto-detect version bump | `true` |
127
- | `--current-version` | Current X.Y.Z version | โ€” |
128
- | `--version-file` | Path to `package.json` | `./package.json` |
129
- | `--version-commit-message` | Commit message template | `chore(release): bump version to {{version}}` |
130
- | `--ignore-semver` | Regex patterns to ignore for semver | โ€” |
131
-
132
- ### Release options
133
-
134
- | Flag | Description | Default |
135
- |------|--------------|----------|
136
- | `--create-release` | Create release branch | `true` |
137
- | `--push-release` | Push and create PR | `true` |
138
- | `--draft-pr` | Create PR as draft | `false` |
139
-
140
- ### CI options โ€” [detailed docs](docs/ci-mode.md)
141
-
142
- | Flag | Description | Default |
143
- |------|--------------|----------|
144
- | `--ci` | Non-interactive mode | `false` |
145
- | `--conflict-strategy` | `fail`, `ours`, `theirs`, `skip` | `fail` |
146
- | `--format` | `text` or `json` | `text` |
147
- | `--dependency-strategy` | `warn`, `fail`, `ignore` | `warn` |
148
-
149
- ### Tracker options โ€” [detailed docs](docs/tracker-integration.md)
150
-
151
- | Flag | Description | Default |
152
- |------|--------------|----------|
153
- | `--tracker` | Preset: `clickup`, `jira`, `linear` | โ€” |
154
- | `--ticket-pattern` | Custom regex (one capture group) | โ€” |
155
- | `--tracker-url` | URL template with `{{id}}` | โ€” |
156
-
157
- ### Profile options โ€” [detailed docs](docs/profiles.md)
158
-
159
- | Flag | Description | Default |
160
- |------|--------------|----------|
161
- | `--profile` | Load named profile | โ€” |
162
- | `--save-profile` | Save flags as profile | โ€” |
163
- | `--list-profiles` | List profiles and exit | `false` |
45
+ ---
164
46
 
165
- ### Other options
47
+ ## ๐Ÿงญ What it does
166
48
 
167
- | Flag | Description | Default |
168
- |------|--------------|----------|
169
- | `--undo` | [Rollback](docs/undo-rollback.md) to pre-cherry-pick state | `false` |
170
- | `--no-tui` | Disable [TUI dashboard](docs/tui-dashboard.md), use simple checkbox | `false` |
171
- | `--dry-run` | Preview without applying | `false` |
49
+ - ๐Ÿ” Finds commits in `dev` not present in `main`
50
+ - ๐Ÿ—‚๏ธ Lets you select which commits to cherry-pick (or pick all)
51
+ - ๐Ÿชœ Cherry-picks in the correct order (oldest โ†’ newest)
52
+ - โš”๏ธ [**Interactive conflict resolution wizard**](docs/conflict-resolution.md)
53
+ - ๐ŸŽฏ **Preserves exact commit messages** from squashed commits
54
+ - ๐Ÿช„ Detects [**semantic version bump**](docs/semantic-versioning.md) from conventional commits
55
+ - ๐Ÿงฉ Creates a `release/x.y.z` branch from `main`
56
+ - ๐Ÿงพ Generates a Markdown changelog with [**ticket linking**](docs/tracker-integration.md)
57
+ - ๐Ÿ–ฅ๏ธ Rich [**TUI dashboard**](docs/tui-dashboard.md) with diff preview, search, and keyboard shortcuts
58
+ - ๐Ÿค– [**CI mode**](docs/ci-mode.md) for fully non-interactive pipeline execution
59
+ - โ†ฉ๏ธ [**Undo / rollback**](docs/undo-rollback.md) with checkpoint-based session recovery
60
+ - ๐Ÿ’พ [**Profiles**](docs/profiles.md) to save and reuse CLI flag combinations
172
61
 
173
62
  ---
174
63
 
175
- ## ๐Ÿ“– Detailed Documentation
64
+ ## ๐Ÿ“– Documentation
176
65
 
177
66
  | Topic | Description |
178
67
  |-------|-------------|
179
- | [โš”๏ธ Conflict Resolution](docs/conflict-resolution.md) | Per-file and bulk conflict resolution, CI strategies |
68
+ | [๐Ÿš€ Quick Start](docs/quick-start.md) | Getting started, full workflow, custom branches |
69
+ | [๐Ÿงฉ Common Use Cases](docs/common-use-cases.md) | Filtering, profiles, CI, tracker, undo, and more |
70
+ | [โš™๏ธ All Options](docs/options.md) | Complete reference for all CLI flags |
71
+ | [โš”๏ธ Conflict Resolution](docs/conflict-resolution.md) | Per-file and bulk resolution, CI strategies |
180
72
  | [๐Ÿง  Semantic Versioning](docs/semantic-versioning.md) | Conventional commits, version sources, ignore patterns |
181
- | [๐Ÿ–ฅ๏ธ TUI Dashboard](docs/tui-dashboard.md) | Keyboard shortcuts, diff preview, search, fallback behavior |
182
- | [๐Ÿ’พ Profiles](docs/profiles.md) | Save/load/list profiles, config file format, CI usage |
73
+ | [๐Ÿ–ฅ๏ธ TUI Dashboard](docs/tui-dashboard.md) | Keyboard shortcuts, diff preview, search, fallback |
74
+ | [๐Ÿ’พ Profiles](docs/profiles.md) | Save/load/list profiles, config file, CI usage |
183
75
  | [๐Ÿ”— Tracker Integration](docs/tracker-integration.md) | ClickUp, Jira, Linear presets, custom patterns |
184
76
  | [๐Ÿค– CI Mode](docs/ci-mode.md) | Exit codes, JSON output, GitHub Actions example |
185
77
  | [โ†ฉ๏ธ Undo / Rollback](docs/undo-rollback.md) | Checkpoint system, safety checks, limitations |
@@ -194,16 +86,6 @@ cherrypick-interactive --undo
194
86
 
195
87
  ---
196
88
 
197
- ## ๐ŸŽฏ Best Practices
198
-
199
- 1. **Filter noise:** `--ignore-commits "^ci:|^chore\(deps\):|Merge branch"`
200
- 2. **Version accuracy:** `--ignore-semver "bump|dependencies|merge"`
201
- 3. **Review first:** `--draft-pr`
202
- 4. **Test first:** `--dry-run`
203
- 5. **Save your workflow:** `--save-profile release --dev origin/dev --main origin/main --since "1 month ago"`
204
-
205
- ---
206
-
207
89
  ## ๐Ÿง‘โ€๐Ÿ’ป Contributing
208
90
 
209
91
  1. Clone the repo
@@ -214,18 +96,6 @@ cherrypick-interactive --undo
214
96
 
215
97
  ---
216
98
 
217
- ## ๐Ÿ› Troubleshooting
218
-
219
- | Problem | Solution |
220
- |---------|----------|
221
- | GitHub CLI not installed | Install from https://cli.github.com/ or use `--no-push-release` |
222
- | Cherry-pick has conflicts | Use the [interactive wizard](docs/conflict-resolution.md) or `--conflict-strategy` in CI |
223
- | Version not detected correctly | Use `--ignore-semver "bump\|chore\(deps\)"` |
224
- | Too many commits | Use `--ignore-commits` or `--since "3 days ago"` |
225
- | Want to undo | `cherrypick-interactive --undo` ([details](docs/undo-rollback.md)) |
226
-
227
- ---
228
-
229
99
  ## ๐Ÿงพ License
230
100
 
231
101
  **MIT** โ€” free to use, modify, and distribute.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "cherrypick-interactive",
3
- "version": "1.13.4",
3
+ "version": "1.13.5",
4
4
  "description": "Interactively cherry-pick commits that are in dev but not in main, using subject-based comparison.",
5
5
  "main": "cli.js",
6
6
  "bin": "cli.js",