Release Homebrew (agent-workspace-launcher)
This repo releases from semver tags (vX.Y.Z).
Primary release output is native CLI archives for Homebrew/manual install.
Contract
Prereqs:
- Run in repo root.
- Working tree clean before tagging.
gitavailable onPATH.- Recommended:
gh auth statussucceeds.
Inputs:
- Release version:
vX.Y.Z - Optional release date:
YYYY-MM-DD
Outputs:
CHANGELOG.mdupdated forvX.Y.Z- Required checks passed
- Tag
vX.Y.Zpushed release-brew.ymlpublished assets + checksums for all targets
Exit codes:
0: success1: failure2: usage error
Failure modes:
- Any required check fails.
- Changelog audit fails.
- Release asset verification fails (missing targets, checksum mismatch, missing alias/completion payload).
- Local Homebrew validation fails (formula still old, PATH still resolving old
awl, or completion files missing). - Missing/invalid release version input.
Scripts (only entrypoints)
<PROJECT_ROOT>/.agents/skills/release-homebrew/scripts/release-homebrew.sh<PROJECT_ROOT>/.agents/skills/release-homebrew/scripts/verify-brew-installed-version.sh
Workflow
Run the skill entrypoint:
.agents/skills/release-homebrew/scripts/release-homebrew.sh --version vX.Y.Z [--date YYYY-MM-DD]
Decide version + date
- Version:
vX.Y.Z - Date:
YYYY-MM-DD(default:date +%Y-%m-%d)
- Version:
Run required repo checks (per
DEVELOPMENT.md)bash -n $(git ls-files 'scripts/*.sh' 'scripts/*.bash')zsh -n $(git ls-files 'scripts/*.zsh')shellcheck $(git ls-files 'scripts/*.sh' 'scripts/*.bash').venv/bin/python -m ruff format --check ..venv/bin/python -m ruff check ..venv/bin/python -m pytest -m script_smokecargo fmt --all -- --checkcargo check --workspacecargo clippy --workspace --all-targets -- -D warningscargo test -p agent-workspace
Local binary smoke
cargo build --release -p agent-workspace --bin agent-workspace-launcher./target/release/agent-workspace-launcher --helptmp="$(mktemp -d)"; ln -sf "$(pwd)/target/release/agent-workspace-launcher" "$tmp/awl"; "$tmp/awl" --help
Prepare changelog
./scripts/release_prepare_changelog.sh --version vX.Y.Z
Commit release notes
- Suggested message:
chore(release): vX.Y.Z - Use semantic commit helper (do not call
git commitdirectly).
- Suggested message:
Audit (strict)
./scripts/release_audit.sh --version vX.Y.Z --branch main --strict
Tag and push
git -c tag.gpgSign=false tag vX.Y.Zgit push origin vX.Y.Z
Verify CLI channel
- Confirm
release-brew.ymlran forvX.Y.Z - Confirm release assets include all target tarballs + checksums
- Confirm tarball payload includes:
bin/agent-workspace-launcherbin/awlcompletions/agent-workspace-launcher.bashcompletions/_agent-workspace-launcher
- Confirm
Verify local Homebrew is upgraded to the same version
- Run after
homebrew-tapformula update/merge: .agents/skills/release-homebrew/scripts/verify-brew-installed-version.sh --version vX.Y.Z- If validating against a local tap checkout:
.agents/skills/release-homebrew/scripts/verify-brew-installed-version.sh --version vX.Y.Z --tap-repo ~/Project/graysurf/homebrew-tap
Project-specific non-negotiables
agent-workspace-launcheris the canonical command identity in release assets/docs.awlis compatibility alias only (same binary behavior).- Release readiness is gated by required repo checks (
DEVELOPMENT.md) and CLI archive verification.
Optional compatibility channel
Container-image publishing may remain as optional compatibility work, but it must not gate native CLI release completion.
Output templates
- Success:
.agents/skills/release-homebrew/references/OUTPUT_TEMPLATE.md - Blocked:
.agents/skills/release-homebrew/references/OUTPUT_TEMPLATE_BLOCKED.md
Converted and distributed by TomeVault — claim your Tome and manage your conversions.