
Repo Release Tools
io.github.AnselmooPublished by GitHub account Anselmoov1.18.0Updated Oct 24, 2026
Config-driven branch and release helpers for Git repositories
Overview
A local MCP server that exposes the rrt release-policy CLI, letting an assistant validate branch names, commit subjects and changelogs and preview version bumps
- What you can do
- Validate branch names and Conventional Commit subjects before they are created or committed, using typed arguments instead of shell quoting. Preview and apply version bumps across project files, including multi-language version targets and MCP server.json manifests. Read and check changelog policy and the Unreleased section. Inspect rrt configuration and lock files, and run repository health checks such as doctor and release check. Mutating operations default to a dry-run preview.
- When to use it
- Use it in a repository that already uses repo-release-tools and enforces branch, commit, changelog or version policy, so the assistant follows that policy instead of hand-editing version strings or inventing branch names. Optional: the README says an agent instruction file is the higher-leverage step, and many rrt commands remain CLI-only.
- Requirements
- Runs as a local stdio process on the user's machine (desktop only). Install the Python package with the mcp extra and start the rrt-mcp command, for example via uv; a Docker image is also published. No accounts, API keys or environment variables are declared.
Installation
In SourceWeft
- Open Repo Release Tools in the dashboard and add it to a workspace.
- Enable the server for the chats that should use its tools.
Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.
Other MCP clients
Follow the launch instructions in the repository.
README
repo-release-tools
[REPO-RELEASE-TOOLS pipeline banner]
repo-release-tools keeps release policy boring in the best possible way.
Use it from GitHub Marketplace when you want CI to validate branch names, commit subjects, and changelog policy. Install it from PyPI when you want a local CLI, hook integration, version bumps, and release-branch automation.
- GitHub Marketplace action: https://github.com/marketplace/actions/repo-release-tools-policy-checks
- PyPI package: https://pypi.org/project/repo-release-tools/
- Choose your entry point
- Changelog workflows
- What the project includes
- Get your AI agent to actually use rrt
- Start with the doc that matches your task
- License
Choose your entry point
Use the GitHub Action for CI policy checks
Choose the action if you want pull requests and pushes to fail fast when a repo drifts from your release policy.
- validates branch names such as
feat/add-parser - validates Conventional Commit subjects
- validates changelog policy in CI
- optionally checks that the working tree stays clean
- can run
rrt doctoras a pre-release health gate
See the full action guide: https://anselmoo.github.io/repo-release-tools/action/
See the full CLI and commands reference: https://github.com/Anselmoo/repo-release-tools/blob/main/docs/commands/rrt-cli.md
Use the Python package for local workflow automation
Choose the package if you want the developer-side tools: branch helpers, version bumps, config inspection, pre-commit hooks, and release automation. The Python package is published on PyPI and has a CI counterpart in the GitHub Action guide.
Or run the CLI without installing it permanently:
If rrt is already installed and you want the bundled agent skill for Copilot,
Claude, or Codex, install it with:
For basic versioning, bump and ci-version can run without [tool.rrt] by
auto-detecting repo-root pyproject.toml, package.json, Cargo.toml,
.rrt.toml, or .config/rrt.toml.
If multiple version files are found, they are updated together. Explicit config
is for the nice extras: grouped releases, changelog paths, release branches,
lock commands, generated files, and custom patterns.
Version targets also support common language/project files such as Python
(pep621, python_version), Node/JS/TS (package_json), Go (go_version),
Rust (cargo_toml), and .NET (csproj) so multi-language repositories can
keep their release versions aligned. A mcp_server_json target keeps an MCP
Registry server.json (top-level version, each package's version, and
any oci package's image tag) in sync alongside a project's primary target.
Changelog workflows
Pick the style that matches how your repository lands changes.
incremental (default) — for teams that maintain changelog entries during development.
rrt-update-unreleasedandrrt-changeloghooks stay active.- The GitHub Action resolves
changelog-strategy: autotoper-commit. rrt bumpdefaults toauto.
squash — for repositories that squash many commits into one PR merge.
- Changelog write and check hooks skip enforcement.
- The GitHub Action resolves
changelog-strategy: autotorelease-only. rrt bumpdefaults togenerate.
Minimal config:
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.
What the project includes
rrtCLI for branches, bumps, config inspection, and Git helpersrrt-hooksforpre-commit,lefthook,husky, and CI validation- a reusable GitHub Action in
action.yml - bundled agent skills for
uvxand installed-CLI workflows - docs for branch policy, hook setup, and release workflows
Get your AI agent to actually use rrt
If you use Claude Code, Copilot, Cursor, or Codex on a repository that has rrt
configured, the agent will happily reimplement what rrt already does — hand-editing a
version string in three files, inventing a branch name the pre-commit hook then rejects,
or writing a changelog entry in the wrong section. Not because it lacks the tools, but
because nothing told it these are the tools for this job.
Two things fix that. Do both.
1. Tell your agent, once, in its instruction file
Paste the block from Agent instruction snippet below into
your repository's CLAUDE.md, AGENTS.md, or .github/copilot-instructions.md. This is
the highest-leverage step by a wide margin: it is read on every session, before the agent
has formed a plan, and it costs nothing at runtime.
2. Connect the MCP server (optional, but better for anything that writes)
Then add .mcp.json at the repository root — Claude Code picks it up on next start:
With the server connected, most tools give the agent typed JSON instead of terminal
output it has to parse (the four lock readers and rrt_config return raw dicts instead),
commit subjects and branch names are passed as arguments instead of through shell
quoting, and mutating operations default to a dry-run preview. See the
MCP Server guide for
Claude Desktop, global install, and HTTP transport with bearer auth.
The MCP server does not cover everything. rrt docs map, rrt docs generate,
rrt docs publish, rrt docs inject, rrt tree --check, rrt toc, rrt changelog lint,
rrt changelog compare, rrt drift generate/check, rrt artifacts --check, every other
--snapshot write, and every rrt-hooks subcommand are CLI-only — a mixed session is
expected, not a fallback.
Prompt phrasings that work
These reliably route to rrt rather than to hand-editing:
- "Check with rrt whether this branch name will pass the hooks before you create it."
- "Use rrt to preview a minor bump — dry run — and show me every file it would touch."
- "Read the Unreleased changelog with rrt before adding an entry, so you don't duplicate one."
- "Run rrt doctor and tell me which hook integrations are missing."
- "Before you write that commit message, validate the subject with rrt."
- "What version is this repo at according to rrt?" — not "what's the version", which invites reading a random file.
- "Run rrt release check before you open the PR."
The pattern: name rrt explicitly, and name the moment ("before you create it",
"before you open the PR"). Agents route on triggers, not on capabilities.
Agent instruction snippet
Start with the doc that matches your task
- Docs index: https://anselmoo.github.io/repo-release-tools/
- GitHub Action: https://anselmoo.github.io/repo-release-tools/action/
- CLI reference: https://github.com/Anselmoo/repo-release-tools/blob/main/docs/commands/rrt-cli.md
- Hook setup: https://github.com/Anselmoo/repo-release-tools/blob/main/docs/commands/hooks.md
- Conventional branches: https://github.com/Anselmoo/repo-release-tools/blob/main/docs/commands/branch.md
- Git workflow helpers: https://github.com/Anselmoo/repo-release-tools/blob/main/docs/commands/git_cmd.md
- Agent skills: https://github.com/Anselmoo/repo-release-tools/blob/main/docs/commands/skill.md
- Project tree: https://github.com/Anselmoo/repo-release-tools/blob/main/docs/commands/tree.md
- Markdown TOC: https://github.com/Anselmoo/repo-release-tools/blob/main/docs/commands/toc.md
- Config health checks: https://github.com/Anselmoo/repo-release-tools/blob/main/docs/commands/doctor.md
- Runtime EOL tracking: https://github.com/Anselmoo/repo-release-tools/blob/main/docs/commands/eol_check.md
- MCP Server: https://anselmoo.github.io/repo-release-tools/mcp-server/
- Agent instructions: https://anselmoo.github.io/repo-release-tools/agent-instructions/
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.
Source: README.md at commit d58a2d2
Tools
0Version history
2- v1.18.0LatestSep 22, 2026
- v1.17.1Sep 16, 2026
Score
50% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
- Reached in the last 30 days25 pts
Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.
- Auth declared10 pts
Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.
- Tools listed15 pts
Answer tools/list without a credential, or ship a package that starts in a sandbox without one.
- DescriptionRequired15 pts
- Logo10 pts
- Documentation15 pts
- License10 pts