Thank you for your interest in contributing!
This guide outlines how to set up your development environment, follow project conventions, and submit high-quality contributions to the project.
Please review the Code of Conduct to ensure a respectful and productive environment for all contributors.
-
Fork and clone the repository:
git clone https://github.com/MGross21/mujoco-toolbox.git cd mujoco-toolbox -
Install Poetry (if you haven’t already):
curl -sSL https://install.python-poetry.org | python3 -Or see: Poetry Installation Docs
-
Install dependencies:
poetry install --with dev
-
Activate the shell:
poetry shell
or
poetry env activate
We welcome:
- 🐛 Bug fixes
- 📚 Documentation improvements
- 🚀 New features
- 🧪 Additional tests
- 🔧 Code refactors
For significant changes, please open an issue or start a discussion first.
- Write clean, modular, and well-documented code.
- Use meaningful names for variables, classes, and functions.
- Avoid large, complex functions — break logic into smaller components.
- Public classes and functions must include Python docstrings.
- Avoid unnecessary dependencies.
- Add or update tests for any new features or bug fixes.
All pull requests are automatically checked using GitHub Actions.
The following tools are enforced:
Run checks locally using Poetry:
poetry run black mujoco_toolbox
poetry run ruff check mujoco_toolbox
poetry run mypy mujoco_toolbox
poetry run pytest tests/To build the documentation locally, run:
poetry run sphinx-build docs docs/_build/htmlTo automatically open the generated documentation in your default web browser after building, use:
poetry run sphinx-build docs docs/_build/html && start docs/_build/html/index.htmlThis will generate the HTML documentation and open the index.html page for easy viewing.
Use GitHub Issues to:
- Report bugs
- Request features
- Ask usage questions
- Suggest improvements
Please include:
- A clear and descriptive title
- Environment information (OS, Python version, MuJoCo Toolbox version, etc.)
- Reproduction steps (if applicable)
- Screenshots or logs (when helpful)
By contributing, you agree that your work will be released under the MIT License.