diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 0b40d81a..f5b87b34 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -65,6 +65,26 @@ A good feature request addresses the following points: If your issue is well written we're already 80% of the way there by the time you post it. +## Adding new policies, datasets or environments + +Look at our implementations for [datasets](./lerobot/common/datasets/), [policies](./lerobot/common/policies/), +environments ([aloha](https://github.com/huggingface/gym-aloha), +[xarm](https://github.com/huggingface/gym-xarm), +[pusht](https://github.com/huggingface/gym-pusht)) +and follow the same api design. + +When implementing a new dataset class (e.g. `AlohaDataset`) follow these steps: +- Update `available_datasets` in `lerobot/__init__.py` +- Set the required `available_datasets` class attribute using the previously updated `lerobot.available_datasets` + +When implementing a new environment (e.g. `gym_aloha`), follow these steps: +- Update `available_envs`, `available_tasks_per_env` and `available_datasets` in `lerobot/__init__.py` + +When implementing a new policy class (e.g. `DiffusionPolicy`) follow these steps: +- Update `available_policies` in `lerobot/__init__.py` +- Set the required `name` class attribute. +- Update variables in `tests/test_available.py` by importing your new Policy class + ## Submitting a pull request (PR) Before writing code, we strongly advise you to search through the existing PRs or