/release-check — pre-tag checklist
Run only when preparing a release. Do each step manually; do not shortcut. A bad release is worse than a late release.
1. Clean tree
git status # must be clean
git fetch origin
git log --oneline origin/master..HEAD # changes going out
2. Version + changelog
package.jsonversion bumped per semver.CHANGELOG.mdhas an entry for this version with sections: Added / Changed / Fixed / Security.- Entry references issue/PR numbers where applicable.
3. Verify
Run /verify. All 249+ tests pass, clean format, clean lint, clean
typecheck, clean build.
4. Docs
README.md"At a glance" numbers still match reality.docs/ARCHITECTURE.mdreflects any hot-path changes.docs/SETUP.md/docs/INSTALL.mdreflect any new env vars or dependencies.- If counts changed (tools, providers, agents), regenerate:
bash scripts/metrics.sh.
5. Docker
docker build -f docker/Dockerfile -t forge:dev .
docker run --rm forge:dev doctor --no-banner
6. Smoke test
npm run build
./bin/forge.js doctor
./bin/forge.js --version
7. Tag
Only after every step above passes. Tagging triggers the 6-stage release workflow — do not push a tag you haven't verified.
git tag v<x.y.z>
git push origin v<x.y.z>