Getting Started
Install
uv add --dev uv-releasePrerequisites
uvr works with uv workspace monorepos. Your root pyproject.toml must define workspace members.
[tool.uv.workspace]
members = ["packages/*"]You also need the GitHub CLI (gh) authenticated. uvr uses it to create releases, download artifacts, and dispatch workflows. It always prompts for confirmation before committing, pushing, or dispatching on your behalf.
Scaffold the release workflow
uvr workflow initThis writes .github/workflows/release.yml from a bundled template. Commit and push it.
git add .github/workflows/release.yml
git commit -m "chore: add release workflow"
git pushValidate and upgrade
uvr workflow validate # check structure and frozen fields
uvr workflow validate --diff # show diff against template
uvr workflow init --upgrade # three-way merge template changes
uvr workflow init --upgrade --editor code # resolve merge conflicts in your editor of choiceCustom jobs survive upgrades. The three-way merge preserves your additions while picking up template changes.
Check workspace status
uvr statusPackages
--------
STATUS PACKAGE VERSION PREVIOUS DIFF FROM CHANGES COMMITS
changed pkg-alpha 0.2.0.dev0 0.1.0 pkg-alpha/v0.2.0.dev0-base 3 2
unchanged pkg-beta 0.1.1.dev0 0.1.0 pkg-beta/v0.1.1.dev0-base - -Your first release
You can also release interactively with the Claude Code skill.
Preview the plan without making changes.
uvr release --dry-runWhen ready, release for real.
uvr releaseThis generates a release plan locally, commits release versions, pushes, and dispatches to GitHub Actions. CI then builds, creates GitHub releases with wheels, publishes to configured indexes, and bumps versions to the next .dev0.
Next steps
To release a minor or major version instead of patch, bump first. See Managing Versions for the full version lifecycle.
uvr bump --minor
uvr release