Repo2RLEnv

Installation

Install Repo2RLEnv, add the extras your route needs, and set up the credentials each command uses.

Edit on GitHub

Repo2RLEnv is a Python package with one CLI, repo2rlenv. The base install covers native generation, validation and publishing; optional extras add remote workers, Tasksmith and in-process Harbor execution.

Requirements

RequirementNeeded for
Python 3.12 or laterEverything.
GitCloning source repositories.
GitHub CLI (gh)Every GitHub API call during generation (listing PRs, fetching diffs, issues and commits), even when you authenticate with GITHUB_TOKEN.
DockerNative runtime pipelines (pr_runtime, commit_runtime, code_instruct, equivalence_tests, cve_patches), which build and check environments locally, and running any task locally with harbor run --env docker. Generating pr_diff tasks doesn't need it.
A Modal or Daytona accountResearch recipes, Tasksmith and the quality loop. They build and execute on remote workers; there's no local Docker fallback.
Node.js 22.19 or laterTasksmith's Pi and OpenCode adapters.

Install

pip install repo2rlenv

Add extras in brackets. For example, Tasksmith on Daytona:

pip install 'repo2rlenv[tasksmith,daytona,harbor]'

To run tasks, install the Harbor CLI as well: uv tool install harbor. The harbor extra also puts a harbor command in the same environment.

From a checkout

Research recipes, Tasksmith and the quality loop upload the Repo2RLEnv runtime wheel to the remote worker, and the controller checks that the wheel matches its own package. Build it from a checkout:

git clone https://github.com/huggingface/Repo2RLEnv
cd Repo2RLEnv
uv sync --extra modal --extra harbor
uv build --wheel
uv run repo2rlenv --version

uv build --wheel writes dist/repo2rlenv-<version>-py3-none-any.whl; recipe configs and tasksmith run --runtime-wheel point at that file. Pass one --extra per extra you need.

Tasksmith runtime

Tasksmith drives Pi or OpenCode through a Node.js runtime (Node.js 22.19 or later). Install it once, after the tasksmith extra:

repo2rlenv tasksmith install-runtime

Extras

ExtraAddsEnablesYou need it when
harborharbor 0.22.0Harbor's task models and trial runner, used in-processYou run research recipes, Tasksmith, the quality loop or release
modalmodal, dockerfile-parseModal workers, including Tasksmith's L4 GPU routeYour remote provider is Modal
daytonadaytonaDaytona workersYour remote provider is Daytona
tasksmithlanggraph, langgraph-checkpoint-sqliteTasksmith's stage graph and its SQLite checkpointsYou run Tasksmith
mutationlibcst, pyflakesSource mutation and checksYou run the swe_smith recipe

The base install already includes LiteLLM for model calls and the Hugging Face Hub client for push and pull.

Credentials

Set only what your route needs. Repo2RLEnv reads secrets from the environment and never writes token values into task directories or logs.

ServiceHow to authenticateUsed by
GitHubgh auth login, or GITHUB_TOKEN. For per-repository tokens, name the variable in repo.auth_token_env in a config file. GitLab uses GITLAB_TOKEN.generate (cloning, PR and commit mining), Tasksmith intake
LLM providersANTHROPIC_API_KEY, OPENAI_API_KEY, HF_TOKEN, TOGETHER_API_KEY, GROQ_API_KEY (resolved through LiteLLM). --llm-key-env VAR picks a different variable; --llm-endpoint URL targets a self-hosted OpenAI-compatible server.generate --llm for the runtime pipelines, bootstrap, research recipes with model stages, Tasksmith, quality run
Hugging Face Hubhf auth login, or HF_TOKEN with write access to pushpush, pull of private datasets, release publish
Modalmodal setup, or MODAL_TOKEN_ID and MODAL_TOKEN_SECRETworkers start --provider modal, quality run (Modal is its default provider), tasksmith run --provider modal
DaytonaDAYTONA_API_KEYworkers start --provider daytona, quality run --provider daytona, tasksmith run --provider daytona
Container registryGHCR_TOKEN or GITHUB_TOKEN for GHCR; DOCKER_USERNAME and DOCKER_TOKEN for Docker Hubpush of runtime datasets whose bootstrap images you distribute; without one, push falls back to inline Dockerfiles

Agents and verifiers that run under Harbor get their keys from harbor run --ae and --ve instead. The Quickstart shows how. Authentication covers the GitHub resolution order and private repositories; Registry authentication covers image distribution.

Using a .env file

The CLI loads a .env file automatically. It searches the directory the package is installed in and its parents, so it finds the .env at the root of a checkout, or of a project whose virtual environment lives inside it. With uv tool install or a global install, export the variables in your shell instead:

set -a && source .env && set +a

The repository's .env.example lists every variable.

Platform support

Repo2RLEnv runs on Linux and macOS. On Windows, CI covers CLI startup, recipe discovery, native task emission and static validation. Run Tasksmith, research-recipe generation and the quality loop on Linux, macOS or WSL: their controllers depend on POSIX file permissions and process cleanup, and choosing a cloud provider doesn't remove that host requirement.

Verify your install

repo2rlenv --version
repo2rlenv pipelines list

The first command prints the version (repo2rlenv 0.9.3). The second lists every native pipeline and research recipe with its status and source type:

┃ Pipeline             ┃ Recipe            ┃ Status       ┃ Source     ┃
│ pr_diff              │ native            │ stable       │ repository │
│ pr_runtime           │ native            │ stable       │ repository │
│ commit_runtime       │ native            │ stable       │ repository │
│ code_instruct        │ native            │ experimental │ repository │
│ …                    │                   │              │            │
│ reasoning_synth      │ scaler            │ experimental │ family     │
│ optimization_synth   │ frontiersmith     │ experimental │ seeds      │

Then check the tools your route uses: gh auth status for GitHub and docker info for local runtime pipelines. When everything reports cleanly, continue with the Quickstart.

On this page