用途
该技能用于在发布新版本 cocoindex 后,批量升级仓库中所有示例项目 pyproject.toml 文件里的 cocoindex 依赖版本。
主要能力
- 使用基于正则的 sed 命令,一次性更新所有示例 pyproject.toml 中的 cocoindex 版本号。
- 自动排除 .venv 目录,避免误改虚拟环境中的文件。
- 升级后通过 grep 验证版本号是否正确。
- 自动创建分支、提交、推送并创建 PR。
- 完成后切回原分支并删除本地临时分支。
- 向用户报告更新的文件数量并提供 PR 链接。
使用方式
调用格式:
/upgrade-examples <version>
示例:
/upgrade-examples 1.0.0a5
执行步骤:
- 创建新分支:
git checkout -b ex-dep-VERSION
- 运行以下命令更新所有示例 pyproject.toml 文件。注意:直接在 sed 命令中使用字面版本字符串,不要使用 shell 变量,因为引号问题可能导致版本被省略。
find examples -name "pyproject.toml" -not -path "*/.venv/*" -exec grep -l "cocoindex" {} \; | xargs sed -i '' 's/cocoindex\([^>]*\)>=[0-9][0-9a-zA-Z.]*/cocoindex\1>=VERSION/g'
- 验证更改显示正确版本:
grep -r "cocoindex.*>=" examples --include="pyproject.toml" | grep -v ".venv"
- 提交并推送更改:
git add examples/*/pyproject.toml
git commit -m "chore: upgrade examples deps to cocoindex-VERSION"
git push -u origin ex-dep-VERSION
- 使用 gh CLI 创建 PR 并从输出中捕获 PR URL:
gh pr create --base v1 --title "chore: upgrade examples deps to cocoindex-VERSION" --body ""
- 切回之前的分支并删除本地分支:
git checkout v1
git branch -d ex-dep-VERSION
- 向用户报告更新的文件数量,并提供 gh pr create 输出中的 PR 链接。
适用场景
- cocoindex 发布新版本后,需要同步更新仓库内全部示例项目的依赖版本。
- 维护示例代码与主包版本一致性。
限制
- 该技能依赖 git 与 gh CLI 环境。
- sed 命令使用了 macOS 风格的
-i ''参数,在 Linux 等平台可能需要调整。 - 仅处理 examples 目录下的 pyproject.toml 文件,且排除 .venv 目录。
- 其他平台、收费、价格等信息暂未提供。