Quick Start
This guide takes a repository from no release automation to a self-updating release PR. It assumes GitHub; the flow is the same on GitLab and Forgejo, with forge-specific details covered in the forge guides.
-
Install brel — see Installation, e.g.:
Terminal window brew install better-releases/tap/brel -
Create a
brel.tomlat the repository root:# GitHub is the default provider, but keeping it explicit makes the file clearer.provider = "github"# Release PRs target this branch.default_branch = "main"[release_pr.version_updates]# Update the root package version in package.json on each release PR."package.json" = ["version"]Point
version_updatesat your real version files —Cargo.toml,pyproject.toml, whatever applies. See Version File Updates. -
Validate the config and generate the CI workflow:
Terminal window brel validatebrel init --yesbrel initwrites a managed workflow file (.github/workflows/release-pr.ymlon GitHub). Run it without--yesfor interactive prompts — forge, changelog provider, tagging — which it persists back intobrel.toml. -
Commit and push
brel.tomland the workflow tomain. -
Ship. Land commits using Conventional Commits (
feat:,fix:,feat!:). CI keeps aRelease vX.Y.ZPR up to date with the bumped version files and changelog. Merge it to release — and with tagging enabled, the tag is pushed automatically.