Switch the `task release` and `task release-major` targets from
`entro-version` to `brrelease` (https://github.com/kerren/brrelease).
Flag mapping:
- `--main-branch-name=main` -> `--merge-into-branch=main`
- `--commit-and-tag-version-flag="--release-as=major"` -> `--release-as=major`
- `entro-version` pushed the branches and tag by default (opt out via
`--no-push`); `brrelease` does not, so `--auto-push` is passed to keep
the existing behaviour.
`brrelease` is not published on npm (its npm entry was unpublished), so it
cannot be invoked through `npx` the way `entro-version` was. The tasks now
call it off the `PATH` and gate on a precondition that points at the
Homebrew tap when it is missing.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01E8fh3EVau9ZMS24We7ZgDY
Swaps the release CLI behind
task release/task release-majorfromentro-versiontobrrelease.Flag mapping
--main-branch-name=main--merge-into-branch=main--commit-and-tag-version-flag="--release-as=major"--release-as=major--no-pushopts out)--auto-pushThe third row is the one that isn't a straight rename.
entro-versionpusheddevelop,mainand the tag automatically unless you passed--no-push;brrelease's push is opt-in. Without--auto-pushthe release would have completed silently and left everything local, so it's passed explicitly to preserve the current behaviour.npxno longer worksbrreleaseis deliberately not distributed on npm — its README FAQ explains it needs patches applied tonode_modulesthat don't survive a package install, and the npm entry was published in Dec 2024 and unpublished a day later. Sonpx --yes brreleasecannot work the waynpx --yes entro-versiondid.The tasks therefore invoke
brreleaseoff thePATH, with a Taskpreconditionsguard so a missing binary fails with an actionable message pointing at the Homebrew tap rather than a bare "command not found":Workflow difference worth knowing
entro-versiontook the base branch as a flag (defaulting todevelop).brreleasereleases from the branch you are currently on, sotask releasemust be run fromdevelop.--merge-into-branch=mainthen merges the release intomainand back intodevelop. This is noted inCLAUDE.mdalongside the install note.Changes
taskfile.yml— both release tasks rewritten, plus thepreconditionsguard on each.CLAUDE.md— the task listing comment, the CHANGELOG-tooling line (now linking the repo), and the git-flow conventions bullet, which gains the "not on npm / run fromdevelop" notes.No Go code is touched and nothing in
.github/workflows/invoked the release tooling, so CI needs no change.🤖 Generated with Claude Code
https://claude.ai/code/session_01E8fh3EVau9ZMS24We7ZgDY
Generated by Claude Code