Update the VibePad website: upload the new DMG for the download button and add an appcast entry for Sparkle auto-updates.
Gathering info
Ask the user for any values not provided as arguments or inferrable from context:
- •Version (e.g.
1.1) — thesparkle:shortVersionString - •Build number (e.g.
2) — thesparkle:version - •EdDSA signature — the
sparkle:edSignature="..."value fromsign_update - •File length in bytes — the
length="..."value fromsign_update
If the user just ran /release, these values should be available in the conversation context — use them without asking again.
Steps
- •
Read the current appcast: Read
/Users/vyuignatiov/code/vibepad-site/appcast.xml. - •
Replace the existing
<item>entry in<channel>with the new version's data. Use this format:
<item>
<title>Version {VERSION}</title>
<pubDate>{RFC 2822 date, e.g. "Sat, 08 Feb 2026 12:00:00 -0800"}</pubDate>
<sparkle:version>{BUILD_NUMBER}</sparkle:version>
<sparkle:shortVersionString>{VERSION}</sparkle:shortVersionString>
<sparkle:minimumSystemVersion>14.0</sparkle:minimumSystemVersion>
<enclosure
url="https://vibepad.now/assets/VibePad.dmg"
type="application/x-apple-diskimage"
sparkle:edSignature="{ED_SIGNATURE}"
length="{FILE_LENGTH}"
/>
</item>
Use the current date/time for <pubDate>. Replace (don't stack) — the site serves a single DMG at a stable URL, so old entries would have stale signatures/lengths. Sparkle only checks the newest compatible item anyway.
- •Copy the DMG to the website assets (stable filename for the download button):
cp "/Users/vyuignatiov/code/VibePad/VibePad-${VERSION}.dmg" "/Users/vyuignatiov/code/vibepad-site/assets/VibePad.dmg"
- •Commit and push the vibepad-site repo (auto-deploys on push):
cd ~/code/vibepad-site && git add appcast.xml assets/VibePad.dmg && git commit -m "Update to VibePad ${VERSION}" && git push
- •Report to the user:
- •Show the updated appcast entry
- •Remind them to verify at
https://vibepad.now/appcast.xml