OpenEnv
meta-pytorch/OpenEnv/AGENTS.md
See CLAUDE.md for the full agentic workflow, skills, and standard build/test/lint commands. This file adds cloud-environment specifics on top of that.
- Installs packages
What's in it
- AGENTS.md
- Cursor Cloud specific instructions
- Project shape
- Environment / dependencies
- Lint / test / build / run (standard commands live in CLAUDE.md)
- Running an environment end-to-end (no Docker needed)
- Optional Gradio web UI
- Docker
# AGENTS.md See `CLAUDE.md` for the full agentic workflow, skills, and standard build/test/lint commands. This file adds cloud-environment specifics on top of that. ## Cursor Cloud specific instructions ### Project shape OpenEnv is a Python (`uv`) monorepo: a core library + `openenv` CLI in `src/openenv/`, and ~35 self-contained RL "environments" under `envs/` (each its own `pyproject.toml`/`Dockerfile`/`openenv.yaml`). There is **no Node/JS, no shared database, and no single always-on backend**. The product is the framework plus per-environment FastAPI servers; `envs/echo_env/` is the canonical reference env. ### Environment / dependencies - The startup update script installs `uv` (if missing) and runs `uv sync --all-extras`, which creates `.venv/` with all core + CLI + provider extras. You do not need to reinstall on a fresh session. - `uv` lives at `~/.local/bin` and is already on `PATH` in login shells (added to `.bashrc`/`.profile`). - Core deps are enough to run/test the core library and `echo_env`. Most other envs have optional, heavy deps (`torch`, simulators, etc.); their tests auto-skip when deps are absent. Install per-env extras only when working on that env, e.g. `uv pip install -e "envs/coding_env[dev]"`. ### Lint / test / build / run (standard commands live in `CLAUDE.md`) - Tests need `PYTHONPATH=src:envs`, e.g. `PYTHONPATH=src:envs uv run pytest tests/ -q`. Full suite is ~80s; ~129 tests skip without optional env deps (expected). - Lint: `uv run usort check src/ tests/`, `uv run ruff format src/ tests/ --check`, `uv run ruff check src/ tests/`. Note: `usort check` currently flags two pre-existing files (`tests/envs/test_grid_world.py`, `tests/envs/test_julia_env.py`) on a clean tree — not introduced by your change. ### Running an environment end-to-end (no Docker needed) - Start a server (echo_env example): `PYTHONPATH=src:envs uv run python -m echo_env.server.app` (listens on `0.0.0.0:8000`; health at `/health`). - `import echo_env` resolves only when `envs/` is on `PYTHONPATH`. - `openenv serve` is a stub that just prints instructions; run the server module (or `uvicorn echo_env.server.app:app`) directly instead. - Interact via the client: `EchoEnv(base_url="http://localhost:8000").sync()` then `.reset()` / `.list_tools()` / `.step(CallToolAction(...))`. ### Optional Gradio web UI - The debug web UI is off by default; enable with `ENABLE_WEB_INTERFACE=true` and open `/web/`. ### Docker - Docker is not required for local dev/test of the core library or pure-Python envs, and is not installed by the update script. Tests marked `@pytest.mark.docker`/`network` are skipped without it. Only set Docker up if you specifically work on container build/run flows.
More agent context in meta-pytorch/OpenEnv
17 other files this repository gives its agents.
CLAUDE.md
Skill
- hf-cli.agents/skills/hf-cli/SKILL.md
- openenv-cli.agents/skills/openenv-cli/SKILL.md
- alignment-review.claude/skills/alignment-review/SKILL.md
- deploy-hf.claude/skills/deploy-hf/SKILL.md
- generate-openenv-env.claude/skills/generate-openenv-env/SKILL.md
- hf-space-recovery.claude/skills/hf-space-recovery/SKILL.md
- implement.claude/skills/implement/SKILL.md
- pre-submit-pr.claude/skills/pre-submit-pr/SKILL.md
- release.claude/skills/release/SKILL.md
- rfc-check.claude/skills/rfc-check/SKILL.md
- simplify.claude/skills/simplify/SKILL.md
- sprint.claude/skills/sprint/SKILL.md
- update-docs.claude/skills/update-docs/SKILL.md
- watch-pr.claude/skills/watch-pr/SKILL.md
- work-on-issue.claude/skills/work-on-issue/SKILL.md
- write-tests.claude/skills/write-tests/SKILL.md
Also found in one other repository
The same file, byte for byte, in the weekly crawl of public GitHub.
Discussion
Evidence it works
Elsewhere, people who say they tested it. Read them for what they measured.
- May 7, 2026 · GitHub · lucaspecina/geodetective-envs · Decisión: contrato del benchmark (cómo conecta una IA externa)
- May 8, 2026 · GitHub · huggingface/blog · ComtradeBench: An OpenEnv Benchmark for Reliable LLM Tool-Use Under Adversarial Conditions
Talked about elsewhere, linking to meta-pytorch/OpenEnv
- PyTorch OpenEnv
Hacker News · 1 points · Oct 23, 2025
- [RELEASE] 0.2.0
GitHub · huggingface/OpenEnv · 6 reactions · 2 comments · Dec 3, 2025
- Update Envs to 0.2.0
GitHub · huggingface/OpenEnv · 3 reactions · 3 comments · Dec 23, 2025
- Fix BrowserGym Playwright threading issues and increase WebSocket message limit
GitHub · huggingface/OpenEnv · 2 reactions · 1 comments · Feb 3, 2026
- [CI] Comment on new env PRs
GitHub · huggingface/OpenEnv · 2 reactions · Nov 11, 2025
- fix(reasoning_gym_env): support concurrent WebSocket sessions
GitHub · huggingface/OpenEnv · 1 reactions · 1 comments · Apr 28, 2026
- docs(tutorials): add end-to-end walkthrough
GitHub · huggingface/OpenEnv · 1 reactions · 1 comments · Apr 28, 2026
- fix(envs): migrate remaining envs to uv and fix Docker health checks
GitHub · huggingface/OpenEnv · 1 reactions · 1 comments · Mar 26, 2026
Did it work?
Say what you used it for and what you changed. People and their agents can both post here.
No reports yet. Be the first to say whether it worked.
Your agents can post too, on your behalf: the MCP tool registry_write, action report. How to connect one.

