martin-hausleitner/sonar-skills/release-sidestore

Trust tier 3
  • community
Source check pending

Checking that the SKILL.md file is still in the repository.

Cut a new Sonar SideStore release. Use when the user says "publish", "ship", "release", "bump version", or wants the in-app SideStore Update button to surface a new build. Runs the validated `make publish` flow — bumps Info.plist, runs the iPhone 16 Pro test suite, builds an unsigned IPA, archives it under releases/, regenerates apps.json, commits, pushes, and creates a GitHub release.

Install

npx vskill@latest install martin-hausleitner/sonar-skills/release-sidestore

SKILL.md

release-sidestore

Run a Sonar release through the SideStore source. The pipeline is scripts/release/publish.sh, surfaced via make publish. This skill exists because the release flow has been validated in production — don't improvise around it.

When to invoke

  • "publish a new version" / "ship 0.3.0" / "cut a release"
  • "the SideStore source needs the latest build"
  • After a meaningful change is merged and the user wants the in-app Update button to show it

Preconditions

  • Working tree on main, clean (git status empty, no M or ??).
  • iPhone 16 Pro simulator booted; default UDID is DCF24978-ABA7-4DC1-9E95-D96B0CE16CD4. Override with SIM_UDID=….
  • make lint passes locally.
  • You are in the repo root (Sonar/).

If any precondition fails, stop and tell the user — don't paper over it with --no-verify or by skipping the test step.

The flow

sh
# Auto-bump patch (e.g. 0.2.8 → 0.2.9)
make publish
# Or: explicit version
make publish VERSION=0.3.0

That's it. The script handles everything else:

  1. Reads CFBundleShortVersionString and CFBundleVersion from sonar/Resources/Info.plist.
  2. Bumps both (patch by default, or to the version you passed).
  3. Runs xcodebuild test on the pinned simulator UDID, skipping SonarUITests.
  4. Builds Release with CODE_SIGNING_ALLOWED=NO, IPHONEOS_DEPLOYMENT_TARGET=26.2.
  5. Packages the .app into releases/Sonar-v<NEW>.ipa and refreshes the legacy Sonar-unsigned-iOS26.ipa at the repo root.
  6. Calls scripts/release/update-apps-json.sh to insert the new version at the top of apps.json (the SideStore source).
  7. Updates releases/RELEASES.md.
  8. Commits all of the above with message release: Sonar v<NEW>.
  9. Pushes main and creates a gh release with the .ipa attached.

Idempotency

publish.sh refuses to overwrite releases/Sonar-v<NEW>.ipa if it already exists, and refuses to reuse a local git tag. If you re-run after a partial failure, either:

  • delete the half-built IPA in releases/ and re-run, or
  • pass an explicit higher VERSION=.

Don't rm -rf blindly. Read the error first.

After it succeeds

  • Open the in-app Update-Button to verify SideStore picks up the new version from apps.json.
  • The download URL is https://raw.githubusercontent.com/Martin-Hausleitner/Sonar/main/releases/Sonar-v<NEW>.ipa — confirm it 200s.

What this skill does NOT do

  • No App Store / TestFlight upload — that's scripts/release/build-appstore.sh, separate flow.
  • No release-notes generation. The GitHub release notes default to the commit subject; if you want richer notes, edit the release on GitHub after the fact.
  • No rollback. If a release is broken, ship a higher patch version with the fix.

Security

  • Security scanPassed, 90 of 100Pattern checks on the skill's files.
  • Model reviewPassed

Quality evaluation

  • Task evaluationNot runNo evaluation yet. Run one in Skill Studio.

Source

Popularity

7-day trend score
0

Not refreshed yet.

Works with

Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.

  • Claude Code
  • Cursor
  • GitHub Copilot
  • Windsurf
  • Codex
  • Gemini CLI
  • Cline
  • Amp
  • Roo Code
  • Goose
  • Continue
  • Kilo Code
  • Junie
  • Trae
  • OpenHands
  • Qwen Code
  • AI Agent
  • Tabnine Chat
  • Sourcegraph Cody
  • Amazon Q
  • Firebase Genkit
  • Sweep
  • Devin
  • Phind
  • Mentat
  • Claude Desktop
  • Aider
  • GPT Pilot
  • Plandex
  • bolt.new
  • v0
  • Replit Agent
  • Anse
  • TypingMind
  • BetterChatGPT
  • LibreChat
  • Warp AI
  • Pieces
  • Fig AI
Embed badge
vskill VERIFIED badge
[![vskill VERIFIED](https://verified-skill.com/api/v1/skills/martin-hausleitner/sonar-skills/release-sidestore/badge)](https://verified-skill.com/skills/martin-hausleitner/sonar-skills/release-sidestore)

Something wrong with this skill or its page? Tell us.