Gym Anything
Repository

Contributing

How to approach changes in this repository and where to start reading before you edit.

This section is for people who want to change the repository itself.

That can mean:

  • fixing a bug
  • adding or changing an environment
  • adding a benchmark task
  • changing the reference agent loops
  • working on the remote stack or dashboards

Start By Finding The Right Layer

Most changes belong to one of these three parts. If you start by locating the right layer, the rest of the change is usually much easier.

Core Framework

src/gym_anything/ — runtime, runners, verification, remote stack

Benchmarks

benchmarks/cua_world/ — environments, tasks, splits, support files

Agents

agents/ — reference agents and evaluation programs

Read Before You Edit

Always read the existing code and tests for a feature before changing it.

A good default reading order is:

  1. the public entry point for the feature you want to change
  2. the test file that already covers that behavior
  3. one nearby real example

Examples:

  • for environment lifecycle changes: start with src/gym_anything/env.py
  • for CLI changes: start with src/gym_anything/cli.py
  • for task checking: start with src/gym_anything/verification/
  • for agent loop changes: start with agents/evaluation/run_single.py

Prefer Small, Local Changes

Try to keep each change inside the layer that owns it.

For example:

  • a benchmark task change should usually stay inside one task folder
  • an agent prompt or parsing change should usually stay inside agents/
  • a runtime behavior change should usually stay inside src/gym_anything/

If a change crosses layers, make sure the interface between them is still clear.

Run The Smallest Useful Checks

Don't wait until the end to run the full suite.

After a meaningful change, run the most relevant targeted tests first. Then run broader checks once the local behavior looks right.

On this page