Skip to main content

Turn merged commits into your next tagged release

flopha reads your Git tags and commit messages, picks the next semantic version, and creates the tag, changelog, and GitHub Release. One binary for any language: run it locally, in any CI, or as a GitHub Action.

curl -fsSL https://raw.githubusercontent.com/sjquant/flopha/main/scripts/install.sh | sh

macOS and Linux x86_64. Other platforms: build from source.

v1.2.3v1.3.0

GitHub Release

v1.3.0

Features

  • feat: add release notes export (a1b2c3d)

Bug Fixes

  • fix: handle empty input (3f2c1a9)

Two ways to run it

CLI

Preview the next version in any repository. No config needed.

flopha next-version --auto

To publish the release, check in a flopha.toml and run flopha release. Creating the GitHub Release needs GH_TOKEN or gh auth login.

[release]
create = true

GitHub Action

Tag and publish from a workflow step. No config file needed.

- uses: sjquant/flopha@v1
with:
create-release: true

Fits the release flow you already have

Custom tag patterns

Version apps and packages separately in one repository.

mobile@{semver}

Release branches

Keep version streams in branch names like release/1.4.2.

--source branch

Pre-releases

Cut alpha, beta, and rc builds from the next stable version.

--pre rc # v1.3.0-rc.1

Manifest sync

Write the new version into Cargo.toml, package.json, pyproject.toml, or any file.

[[manifest]] path = "Cargo.toml" type = "cargo"