Към всички skills

cherry-pick-pro

chatboxai · Инструменти

Cherry-pick commits from chatbox-pro repo to the open chatbox repo, handling mobile-only files, package name differences, and other repo-specific exclusions.

Оригинален текст · няма потвърден превод на български

Теми: assistant · chatbot · chatgpt · claude · claude-code · copilot · deepseek · gemini · gpt · gpt-5 · ollama · openai

Първо прочетете инструкцията.

Файлът се зарежда от посочения източник само по ваше действие. Можете да го прочетете тук, да го копирате или да го запазите като .md.

Оригинален SKILL.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) A pro/main commit hash to start from (exclusive). Must be a commit on pro/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 to pro/main HEAD.

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 repo
  • ios/ - mobile-only, not in open repo
  • capacitor.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.json or release/app/package.json, always keep the open repo name (xyz.chatboxapp.ce)

Целият SKILL.md в GitHub