Skip to main content

Config-driven branch and release helpers for Git repositories

Project description

repo-release-tools

repo-release-tools is a small product for conventional branches, changelog policy, version bumps, and opinionated Git workflows across local development, CI, and Copilot workflows.

Product surfaces

Minimal quickstart

pip install repo-release-tools
rrt init
rrt branch new feat "add parser"
rrt git commit "add parser"
rrt git doctor
rrt bump patch

Or:

uvx repo-release-tools branch new feat "add parser"

For basic versioning, bump and ci-version can run without [tool.rrt] by auto-detecting root-level pyproject.toml, package.json, and Cargo.toml. If multiple version files are found they are updated together, and explicit config becomes optional fine-tuning for groups, release branches, changelog paths, lock commands, generated files, or custom patterns. Go repos still need explicit config for file updates because Go has no standard in-file project version. Run rrt init to capture the current recommendation in .rrt.toml.

Minimal config:

[tool.rrt]
release_branch = "release/v{version}"
changelog_file = "CHANGELOG.md"

[[tool.rrt.version_targets]]
path = "pyproject.toml"
kind = "pep621"

Native config is also supported in package.json ("rrt": { ... }) and Cargo.toml ([package.metadata.rrt] / [workspace.metadata.rrt]). Go repos should use .rrt.toml or .config/rrt.toml.

Conventional Branching

repo-release-tools uses conventional branches as the next step after trunk-based publishing. The idea is simple: keep branches short-lived, encode intent in the branch name, and let release automation stay predictable.

The default pattern is type/kebab-case-description, for example feat/add-config-discovery or fix/handle-tag-workflows.

This works well with conventional commits and changelog automation:

  • branch type tells reviewers and automation what kind of change is coming
  • commit subjects stay conventional for changelog generation
  • release branches stay explicit, such as release/v1.2.3

See Conventional branches for the full branch model and supported branch types.

Documentation

License

repo-release-tools is released under the MIT License.

Some workflow ideas were initially inspired by joseluisq/gitnow, but the rrt git surface is intentionally narrower and reshaped around conventional branching, safe commits, and release automation.

Built with ❤️ for safe, simple release automation.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

repo_release_tools-0.1.9.tar.gz (48.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

repo_release_tools-0.1.9-py3-none-any.whl (57.7 kB view details)

Uploaded Python 3

File details

Details for the file repo_release_tools-0.1.9.tar.gz.

File metadata

  • Download URL: repo_release_tools-0.1.9.tar.gz
  • Upload date:
  • Size: 48.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for repo_release_tools-0.1.9.tar.gz
Algorithm Hash digest
SHA256 3fff148bcefe84990f6556c8df109a6e0c6007cd9c246aaf0d74526675eed258
MD5 bec494d4ab25b9b11d68588c68c8acd2
BLAKE2b-256 29f381ce4c4e852a1de3b35c24f52f44e2a9e170b16fa6be0ead391c41ba1386

See more details on using hashes here.

Provenance

The following attestation bundles were made for repo_release_tools-0.1.9.tar.gz:

Publisher: cicd.yml on Anselmoo/repo-release-tools

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file repo_release_tools-0.1.9-py3-none-any.whl.

File metadata

File hashes

Hashes for repo_release_tools-0.1.9-py3-none-any.whl
Algorithm Hash digest
SHA256 e2110378d407d5972a41fe684181bbaa20129f660f3187ca2e3dc05fc7c1857f
MD5 f3e13ad123937a3200a42ccc7524716f
BLAKE2b-256 2c58ed9c495b58031a676c896b85ffea7798ad5ed4a927e639da1cf59ff6ec6f

See more details on using hashes here.

Provenance

The following attestation bundles were made for repo_release_tools-0.1.9-py3-none-any.whl:

Publisher: cicd.yml on Anselmoo/repo-release-tools

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page