CLI Release
Read overview and CLI release if release behavior changed.
Trust These Facts
- CLI release package id is
cli. - Release packages and release-surface paths live in
scripts/releases/registry.ts. - CLI tags are
cli-vX.Y.Z. - CLI archives are
abadge-cli-vX.Y.Z-<target>.tar.gz. - The installer resolves
cli-v*from the release list, notreleases/latest. - Ship Unix targets only.
Use This Workflow
- Inspect the branch.
git status --shortgit rev-list --left-right --count HEAD...origin/main
- Verify versioning inputs.
- read
packages/cli/package.json - inspect
/.changeset/*.md - run
bun scripts/releases/check-changeset.ts --base-ref main - if release-surface files changed, require a root changeset
- read
- Validate the repo.
bun run formatbun run lintrm -rf apps/web/.next && bun run typecheckbun test
- Dry-run the release.
bun run release:cli:dry-run -- --outdir /tmp/abadge-cli-releasebun run release:publish -- --dry-run --package cli --outdir /tmp/abadge-cli-release-publish
- Smoke-test the installer.
ABADGE_VERSION=$(jq -r .version packages/cli/package.json)ABADGE_INSTALL_BASE_URL=file:///tmp/abadge-cli-release ABADGE_INSTALL_DIR=/tmp/abadge-cli-install ./install.sh- verify the installed
abadge --version - if
/tmpisnoexec, copy the binary into the workspace before running it
- Commit and push only if requested or necessary.
- Inspect or update the PR.
gh pr viewgh pr checks --watch
Merge Main Into The PR
git fetch origin- Merge
origin/mainunless the user explicitly asked for a rebase. - Resolve conflicts without dropping:
- package-scoped tags and assets
- installer
cli-v*resolution - session-cookie CLI auth
- local CLI agent bootstrap and rotation logic
- daemon readiness and pid-file safety fixes
- Rerun the full validation stack.
- Push the merge commit.
- Confirm
gh pr view --json mergeable,mergeStateStatus,isDraftand required checks.
Review Before Calling Ready
registry.tsstill uses the correct CLI tag prefix, asset prefix, target ids, andchangePaths- the installer asset ids match the registry target ids
- the latest lookup filters stable
cli-v*tags - the dry-run emits all six Unix archives and
SHA256SUMS - the docs still match the current release path
Report Only
- whether a changeset is present when needed
- validation commands run and their result
- dry-run result
- installer smoke result
- commit id and branch if you pushed
- PR mergeability and remaining checks