- name
- upgrade-examples
- description
- This skill should be used when upgrading the cocoindex package version in all example pyproject.toml files. It uses regex-based sed commands to efficiently update version constraints across multiple files at once.
# Upgrade Example Dependencies
Upgrade the cocoindex version in all example `pyproject.toml` files.
## Usage
```
/upgrade-examples <version>
```
Example: `/upgrade-examples 1.0.0a5`
## Instructions
To upgrade all example dependencies (replace `VERSION` with the actual version, e.g., `1.0.0a10`):
1. Create a new branch for the changes:
```bash
git checkout -b ex-dep-VERSION
```
2. Run the following command to update all example pyproject.toml files.
**Important:** Use the literal version string directly in the sed command. Do not use shell variables as quoting issues can cause the version to be omitted.
```bash
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'
```
3. Verify the changes show the correct version:
```bash
grep -r "cocoindex.*>=" examples --include="pyproject.toml" | grep -v ".venv"
```
4. Commit and push the changes:
```bash
git add examples/*/pyproject.toml
git commit -m "chore: upgrade examples deps to cocoindex-VERSION"
git push -u origin ex-dep-VERSION
```
5. Create a PR using the `gh` CLI and capture the PR URL from its output:
```bash
gh pr create --base v1 --title "chore: upgrade examples deps to cocoindex-VERSION" --body ""
```
6. Switch back to the previous branch and delete the local branch:
```bash
git checkout v1
git branch -d ex-dep-VERSION
```
7. Report the number of files updated and provide the PR link from the `gh pr create` output to the user.
View on GitHub