Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Getting Started

Install Releasaurus and cut your first release in a few minutes.

Install

The fastest option, via cargo-binstall:

cargo binstall releasaurus

From crates.io

Compiles from source:

cargo install releasaurus

Docker

docker pull rgonnella/releasaurus:latest
docker run --rm rgonnella/releasaurus:latest --help

You can also download a binary directly from the releases page, or build from source — see Contributing. Confirm the install with releasaurus --version.

Preview Without Any Risk

Run Releasaurus against a local checkout to see what it would do — no token, no config, no changes:

cd /path/to/your/repo
releasaurus release-pr --forge local --repo "."

The output shows the next version and the generated changelog without touching your repository. See Local & Dry-Run Modes for more.

Cut Your First Release

1. Set an access token

Releasaurus picks the right variable from the --forge you use:

export GITHUB_TOKEN="ghp_your_token_here"    # GitHub
export GITLAB_TOKEN="glpat_your_token_here"  # GitLab
export GITEA_TOKEN="your_token_here"         # Gitea

Every token variable and its required scopes are listed in the Configuration Reference.

2. Open a release PR

releasaurus release-pr --repo "https://github.com/your-org/your-repo"

This analyzes your commits, picks the next version, generates a changelog, and opens a pull request. (--forge is inferred for known hosts like github.com; pass it explicitly for self-hosted instances.)

3. Merge, then publish

After reviewing and merging the PR:

releasaurus release --repo "https://github.com/your-org/your-repo"

This tags the release commit and publishes the release on your forge.

Add Version File Updates (Optional)

By default Releasaurus only writes changelogs and tags. To also bump versions in your manifests (package.json, Cargo.toml, etc.), add a releasaurus.toml at the repository root:

[[package]]
path = "."
release_type = "node"  # or rust, python, java, php, ruby, go, generic

See Configuration for monorepos, prereleases, changelog customization, and the full option list.

Next Steps