Thank you for helping improve InstinctMJ.
This repository provides humanoid RL tasks on top of mjlab, so contributions should prioritize clear validation and minimal, focused changes.
- For larger features or refactors, open an issue first so scope and compatibility can be discussed before implementation.
- Keep changes local to
InstinctMJunless the change clearly requires coordination withmjlaborinstinct_rl. - Preserve existing task semantics unless the pull request explicitly proposes a behavior change.
Clone the sibling repositories, sync the environment, then switch the sibling repositories into local editable installs:
git clone https://github.com/mujocolab/mjlab.git
git clone https://github.com/project-instinct/instinct_rl.git
git clone https://github.com/project-instinct/InstinctMJ.git
cd InstinctMJ
uv sync
uv pip install --python .venv/bin/python --no-deps -e ../mjlab -e ../instinct_rlIf you use pip, install mjlab, instinct_rl, and InstinctMJ from the public repositories in editable mode:
pip install -e "git+https://github.com/mujocolab/mjlab.git#egg=mjlab"
pip install -e "git+https://github.com/project-instinct/instinct_rl.git#egg=instinct_rl"
pip install -e .- Keep pull requests scoped and avoid mixing unrelated refactors with task logic changes.
- Match the existing code style and repository structure.
- Prefer
mjlab-native implementations over compatibility layers or adapters. - Preserve task IDs, training workflow, and command-line entry points unless the change intentionally updates public interfaces.
- Update documentation when user-facing behavior, setup, or commands change.
At minimum, include the checks you ran in the pull request description. Typical validation includes:
python -m py_compile ...for changed Python modules- task import / registration checks such as
instinct-list-envs - focused train / play / script commands relevant to the changed task family
If a change is not easily testable in the current environment, explain what was verified and what still needs manual validation.
Before submitting a PR, please confirm:
- the change is scoped to the intended behavior or repository maintenance task
- documentation and config references are updated when needed
- validation commands and outcomes are included in the PR description
- you have read and agree to
CONTRIBUTOR_AGREEMENT.md
By contributing to this repository, you agree that your contributions are provided under the repository license in LICENSE and the terms described in CONTRIBUTOR_AGREEMENT.md.