Everyone is welcome to contribute, and we value everybody's contribution. Code is not the only way to help the community. Answering questions, helping others, reaching out, and improving the documentation are immensely valuable.
Whichever way you choose to contribute, please be mindful to respect our code of conduct.
You can contribute in many ways:
- Fixing issues: Resolve bugs or improve existing code.
- New features: Develop new features.
- Extend: Implement new models/policies, robots, or simulation environments and upload datasets to the Hugging Face Hub.
- Documentation: Improve examples, guides, and docstrings.
- Feedback: Submit tickets related to bugs or desired new features.
If you are unsure where to start, join our Discord Channel.
To contribute code, you need to set up a development environment.
Fork the repository on GitHub, then clone your fork:
git clone https://github.com/<your-handle>/lerobot.git
cd lerobot
git remote add upstream https://github.com/huggingface/lerobot.gitPlease follow our Installation Guide for the environment setup & installation from source.
Install pre-commit hooks to run checks automatically before you commit:
pre-commit installTo run checks manually on all files:
pre-commit run --all-filesWe use pytest. First, ensure you have test artifacts by installing git-lfs:
git lfs install
git lfs pullRun the full suite (this may require extras installed):
pytest -sv ./testsOr run a specific test file during development:
pytest -sv tests/test_specific_feature.pyUse the templates for required fields and examples.
- Issues: Follow the ticket template.
- Pull requests: Rebase on
upstream/main, use a descriptive branch (don't work onmain), runpre-commitand tests locally, and follow the PR template.
One member of the LeRobot team will then review your contribution.
Thank you for contributing to LeRobot!