wharfy 0.4–0.5 — agents drive it by default, install.sh lives anywhere, no duplicate PRs
Three gaps closed since 0.3.0 (0.4.0–0.5.0). Each as problem → before → after.
Agents reinvented the release instead of using wharfy
- Problem: after the first release, an AI agent told “release it” tends to hand-roll the steps instead of driving wharfy.
- Before: nothing in the repo told the agent that releases go through wharfy.
- After:
wharfy initwrites a small managed block toAGENTS.md/CLAUDE.mdpointing agents atwharfy agent(the always-current map) instead of guessing. It’s idempotent, andstatusplus a successfulrelease/publishnudge when the block is missing.
install.sh was nailed to GitHub Releases
- Problem:
script.base_urlexisted in the schema but was never wired — a dead field. You couldn’t serveinstall.shfrom your own domain. - Before: the advertised
curl | shURL always pointed at the GitHub Release asset. - After: set
script: { base_url: … }and both the install instructions and thestatusprobe follow your domain / CDN. (Bonus:install.sh’s runtime messages now name your app, not “wharfy”.)
Gated channels opened duplicate PRs
- Problem: winget / homebrew-core opened a new PR on every
--yes, even while the previous review was still open. - Before: publishing a new version with a PR still pending opened a second one — noise for reviewers.
- After: wharfy checks the recorded PR’s live state first — still open → it skips and points you to it; merged or closed → it submits the new version.
| Area | Before | After |
|---|---|---|
| Agent handoff | agent re-derives the release | wharfy init → agent runs wharfy agent |
| install.sh URL | GitHub Releases only | script.base_url → your domain / CDN |
| Gated PR | a duplicate per --yes | one open PR at a time |
Getting it
brew upgrade wharfy / scoop update wharfy / go install github.com/ShiroDoromoto/wharfy/cmd/wharfy@latest. On Linux, from the apt / yum repo.