docs: add the manual release runbook for this fork
What
Adds RELEASING.md — how to cut a release of this fork — and one line in AGENTS.md pointing at it.
Why
Every release of this fork is built on someone's laptop and uploaded by hand. The inherited .github/workflows/publish.yml is gated if: github.repository == 'anomalyco/opencode', so it never fires here; all 12 releases to date were manual. Until now the only written procedure lived in one engineer's local agent config, so everyone else has been rediscovering it from the install script and the previous release's PR.
That mostly works, because the pieces are guessable. What isn't guessable is the set of rules that fail loudly downstream instead of here:
installrejects a bare base version and an unreleased-Ntag rather than normalizing — so the tag has to exist before anything pins it.- A release without
SHA256SUMSmakes everycurl … installabort, since v1.17.9-1 verifies archives before extracting. - Omitting
opencode-linux-x64-baseline404s installs on hosts without AVX2. - Consumers fetch
…/v<version>/installby tag, so re-pointing or deleting a shipped tag changes what already-deployed machines install.
Each of those is a red build or a broken install somewhere else, hours later, for someone who didn't cut the release.
Where this sits
The fork deliberately carries no docs — the divergence from upstream is 26 files, all code and tests, which is what keeps rebasing onto a new base cheap. RELEASING.md is a path upstream doesn't use, so it won't conflict. The AGENTS.md line is the cost of the file being discovered at all: agents load AGENTS.md at session start and would otherwise never find a root markdown file. One appended bullet, trivial to resolve if upstream ever touches that block.
The runbook stops at the release. Replo's two consumer pins live in replohq/andytown and are documented there, in a skill this file links to — that half moves with the code it describes rather than being mirrored here.
Testing
Docs only; no code paths touched. The commands in the runbook are the ones used to cut v1.17.9-7, and the four rules each correspond to a check in the root install script.
Summary by cubic
Add a manual release runbook for this fork in RELEASING.md, with a pointer in AGENTS.md. It explains how to cut and upload releases by hand (no CI), including tags, required targets, archive formats, and SHA256SUMS to avoid downstream install failures.