如何为 🤗 LeRobot 做贡献
欢迎每个人做出贡献,我们重视每个人的贡献。代码并不是帮助社区的唯一方式。回答问题、帮助他人、联系交流和改进文档都是非常有价值的。
无论您选择以何种方式做出贡献,请注意尊重我们的行为准则和我们的 AI 政策。
贡献方式
您可以通过多种方式做出贡献:
- 修复问题: 解决 bug 或改进现有代码。
- 新功能: 开发新功能。
- 扩展: 实现新的模型/策略、机器人或仿真环境,并将数据集上传到 Hugging Face Hub。
- 文档: 改进示例、指南和文档字符串。
- 反馈: 提交与 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
运行测试
我们使用 pytest。首先,通过安装 git-lfs 确保您拥有测试工件:
git lfs install
git lfs pull
运行完整测试套件(这可能需要安装额外依赖):
pytest -sv ./tests
或在开发期间运行特定的测试文件:
pytest -sv tests/test_specific_feature.py
提交 Issue 和 Pull Request
使用模板填写必填字段和示例。
- Issue: 遵循 issue 模板。
- Pull request: 在
upstream/main上进行 rebase,使用描述性分支名称(不要在main上工作),在本地运行pre-commit和测试,并遵循 PR 模板。
[!IMPORTANT] 社区审查政策:为了帮助扩展我们的工作并培养协作环境,我们要求贡献者在自己的 PR 获得关注之前至少审查一个其他人的开放 PR。这种共同责任可以成倍增加我们的审查能力,并帮助每个人的代码更快地合并!
一旦您提交了 PR 并完成了同行审查,LeRobot 团队的成员将审查您的贡献。
感谢您为 LeRobot 做出贡献!