| name | update-buttercut |
| description | A skill to automatically download and install the latest ButterCut version from GitHub while preserving libraries. Use when user wants to check for updates or update their installation for new features. |
Skill: Update ButterCut
Updates ButterCut to the latest version. Uses git pull if available, otherwise downloads from GitHub.
Before updating, always make a backup and encourage the user to save it to a location outside the ButterCut directory. Verify the most recent backup exists and offer to copy it to their Desktop or iCloud Drive.
Workflow
1. Check current version:
cat lib/buttercut/version.rb
2. Check if git repo:
git rev-parse --git-dir 2>/dev/null
3a. If git repo exists:
# Check for uncommitted changes
git status --porcelain
# If changes exist, STOP and inform user to commit/stash first
# Pull latest
git pull origin main
bundle install
3b. If not git repo:
# Download latest
curl -L https://github.com/barefootford/buttercut/archive/refs/heads/main.zip -o /tmp/buttercut-latest.zip
unzip -q /tmp/buttercut-latest.zip -d /tmp/
# Update files (excludes libraries/)
rsync -av --exclude 'libraries/' --exclude '.git/' /tmp/buttercut-main/ ./
bundle install
rm -rf /tmp/buttercut-latest.zip /tmp/buttercut-main
4. Verify:
cat lib/buttercut/version.rb
bundle exec rspec
If tests fail, STOP and report issue. Show old and new version numbers.