cherry-pick-pro
Cherry-pick commits from chatbox-pro repo to the open chatbox repo, handling mobile-only files, package name differences, and other repo-specific exclusions.
Оригинален текст · няма потвърден превод на българскиПърво прочетете инструкцията.
Файлът се зарежда от посочения източник само по ваше действие. Можете да го прочетете тук, да го копирате или да го запазите като .md.
GitHub хранилище- Звезди на репото
- 41 844
- Лиценз
- GPL-3.0
- Последна проверка на записа
- 20.09.2026 г.
Добавете в своя инструмент.
Командата отваря избора на skills от репозитория. Прочетете файла и условията на автора преди изпълнение.
npx skills add chatboxai/chatboxСтраницата копира текст. Не инсталира и не изпълнява нищо на устройството ви.
Откъс от SKILL.md
Началото на файла на автора, без превод.
Cherry Pick Pro
Cherry-pick commits from the chatbox-pro repo (pro remote) to the open chatbox repo, filtering out mobile-only changes and adjusting for repo differences.
Usage
/cherry-pick-pro [from_commit] [to_commit]
from_commit: (optional) Apro/maincommit hash to start from (exclusive). Must be a commit onpro/main, not an open-repo commit — see step 2. Defaults to auto-detecting the last synced pro commit.to_commit: (optional) The commit hash to end at (inclusive). Defaults topro/mainHEAD.
Workflow
1. Sync remotes first
git fetch pro
git fetch origin
⚠️ Tag pollution: git fetch pro also fetches pro's tags (e.g. vX.Y.Z created on pro's release branch). These local tags point at pro commits, not open repo commits. Never push them as-is — see step 8.
2. Identify commits to cherry-pick
⚠️ The range bound must be a pro/main commit. The open repo and pro/main share no history (cherry-picks create new SHAs), so an open-repo commit hash as the lower bound makes A..pro/main return all of pro's history, not the increment.
Find the last synced pro commit by reading the cherry picked from pro commit <hash> footer that step 5 writes into each open-repo commit, then list pro commits after it:
# last synced pro commit (the lower bound)
last=$(git log --grep="cherry picked from pro commit" -1 --pretty=%B HEAD \
| grep -oE 'pro commit [0-9a-f]+' | awk '{print $3}')
git log "$last"..pro/main --oneline --reverse # commits to pick
If no footer is found (first-ever sync), pass from_commit explicitly.
3. Analyze each commit
For each commit, check the files it touches:
git diff-tree --no-commit-id --name-only -r <commit>
4. Cherry-pick rules
Files/directories to SKIP (delete if conflict):
android/- mobile-only, not in open repoios/- mobile-only, not in open repocapacitor.config.ts- mobile config.github/- open repo has no CI; workflow/config differs (see step 8)CLAUDE.md,AGENTS.md- pro-specific AI config.cursorrules- pro-specific.claude/- pro-specific skills/config (including this skill itself), never sync to open repo
Package name differences:
- Pro uses:
xyz.chatboxapp.app - Open uses:
xyz.chatboxapp.ce - When resolving conflicts in
package.jsonorrelease/app/package.json, always keep the open repo name (xyz.chatboxapp.ce)