如何为 🤗 LeRobot 做贡献

欢迎每个人做贡献,我们重视每个人的贡献。代码并不是帮助社区的唯一方式。回答问题、帮助他人、主动联系以及改进文档都极具价值。

无论你选择哪种方式做贡献,请务必尊重我们的行为准则AI 政策

贡献方式

你可以通过多种方式做贡献:

  • 修复问题: 解决 bug 或改进现有代码。
  • 新功能: 开发新功能。
  • 扩展: 实现新的模型/policy、机器人或 simulation environment,并将 dataset 上传到 Hugging Face Hub。
  • 文档: 改进示例、指南和 docstring。
  • 反馈: 提交与 bug 或期望的新功能相关的工单。

如果你不确定从哪里开始,欢迎加入我们的 Discord 频道

开发环境设置

要贡献代码,你需要设置开发环境。

1. Fork 并克隆

在 GitHub 上 fork 该仓库,然后克隆你的 fork:

git clone https://github.com/<your-handle>/lerobot.git
cd lerobot
git remote add upstream https://github.com/huggingface/lerobot.git

2. 环境安装

请遵循我们的安装指南进行环境设置和从源码安装。

运行测试和质量检查

代码风格(Pre-commit)

安装 pre-commit 钩子,以便在提交前自动运行检查:

pre-commit install

要对所有文件手动运行检查:

pre-commit run --all-files

Docstring

API 参考文档由 src/lerobot/ 中的 docstring 生成。如果你添加或更改任何公共内容,请遵循 docstring 标准——该格式由渲染器解析并在 CI 中检查。

运行测试

我们使用 pytest。首先,通过安装 git-lfs 确保你拥有测试工件:

git lfs install
git lfs pull

运行完整测试套件(这可能需要安装额外项):

pytest -sv ./tests

或在开发期间运行特定的测试文件:

pytest -sv tests/test_specific_feature.py

提交 Issue 和 Pull Request

使用模板来填写必填字段和示例。

  • Issue: 遵循工单模板
  • Pull request: 基于 upstream/main 进行 rebase,使用描述性的分支(不要在 main 上工作),在本地运行 pre-commit 和测试,并遵循 PR 模板

社区审查政策:为帮助扩大我们的努力并营造协作环境,我们要求贡献者在自己的 PR 受到关注之前,至少审查一个其他人的开放 PR。这种共同责任能成倍提升我们的审查能力,并帮助每个人的代码更快合并!

一旦你提交了 PR 并完成了同行评审,LeRobot 团队的一名成员将审查你的贡献。

感谢你为 LeRobot 做贡献!

在 GitHub 上更新