Skip to main content

repo-env — renv CLI

CI Python Docs License: MIT

Build and operate isolated git-worktree environments across many repositories. The command is renv; the distribution is repo-env.

Full documentation →

An environment is a named directory containing one git worktree per selected repository. Create it from repos matching a glob in a source directory, run commands across every worktree, and open bulk pull requests — all from one CLI.

Install

uv tool install repo-env      # or: pipx install repo-env
renv --help

Requires Python 3.10+, Git 2.38+, Linux or macOS. renv pr needs GitHub CLI (gh).

Quick start

renv init -s ~/src -d ~/envs -y
renv clone -u https://github.com/my-org                 # optional: populate ~/src first
renv create web -s ~/src -b feature/x --activate
renv ls
cd "$(renv path web)"
renv run -- git status
renv pr web --title "feat: migrate X" --push   # optional --push
renv rm web --delete-files

renv quickstart demo

Prefer arrow keys to flags? renv select walks you through picking an environment and an action (status, activate, sh, sync, path, rm) interactively:

renv select demo

Design

  • Command: renv · Distribution: repo-env · Import package: repoenv
  • POSIX-first (Linux/macOS), Python 3.10+ (3.12 recommended), Typer CLI
  • User config = YAML; machine state = JSON under REPOENV_HOME
  • Source clones are read-only. Destructive ops require explicit flags

Development

A devcontainer is available with uv, nox, gh, and the asciinema/agg demo-recording tools preinstalled (VS Code: "Reopen in Container"; also works with GitHub Codespaces). Outside a container:

uv tool install nox
nox                 # default gates: syntax, tests, lint, types, imports, dead code, dupes, cycles
nox -s tests        # unit tests with coverage
nox -s integration  # integration tests (temp git repos, mocked gh)
nox -s docs         # build docs (--strict)
nox -s docs_serve   # local preview at http://127.0.0.1:8000

If nox reports a missing interpreter (for example tests-3.14):

uv self update
uv python install 3.14
nox -s tests-3.14 --download-python always

Quality: line length 110, ruff + black + flake8 + isort + mypy + vulture + fawltydeps.

Metadata

Release files for repo-env 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for repo-env 0.1.0
File Size Uploaded
repo_env-0.1.0.tar.gz 996.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for repo-env 0.1.0
File Interpreter ABI Platform
repo_env-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 1.1 MB

Release files / repo_env-0.1.0.tar.gz

Download URL repo_env-0.1.0.tar.gz
Size 996.2 kB
Tags Source
SHA-256 checksum
How to use checksums
01b9e2ae7e72c2f5bafd1454bd0a023338c8db14ddc91c7475ee99460bc91a67
BLAKE2b-256 checksum
How to use checksums
8986e05bc190682a80142b3636a6f93840b7a010fe3d497d1569e8e9ce7bbb11
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 30, 2026.

Transparency log

Release files / repo_env-0.1.0-py3-none-any.whl

Download URL repo_env-0.1.0-py3-none-any.whl
Size 76.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
33b4b620378384311fcdd9466c129cc5044bc6f5debd1683ab882ed5e107fdf5
BLAKE2b-256 checksum
How to use checksums
5ec9b2fe0654a55c00234af091c180ec982f9e562240d23365de81d33448d6c1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 30, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page