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.
- package/README.md +23 -153
- 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
|
-
|
|
43
|
+
For a full release workflow, see the [Quick Start guide](docs/quick-start.md).
|
|
112
44
|
|
|
113
|
-
|
|
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
|
-
|
|
47
|
+
## ๐งญ What it does
|
|
166
48
|
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
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
|
-
## ๐
|
|
64
|
+
## ๐ Documentation
|
|
176
65
|
|
|
177
66
|
| Topic | Description |
|
|
178
67
|
|-------|-------------|
|
|
179
|
-
| [
|
|
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
|
|
182
|
-
| [๐พ Profiles](docs/profiles.md) | Save/load/list profiles, config file
|
|
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