# 贡献指南

[English]

欢迎为 ESP-IDF 项目贡献内容！

## 如何贡献

欢迎为 ESP-IDF 贡献内容，如 bug 修复、新增功能、完善文档等。你可通过 GitHub Pull Requests 提交贡献内容。

## 准备工作

在提交 Pull Request 前，请先确认以下注意事项：

- 贡献内容是否完全由你独立创作，或已获得与 Apache License 2.0 兼容的开源许可？如不符合上述条件，我们将无法接受该贡献内容。如需了解更多信息，请参阅 版权标头指南。

- 要提交的代码是否符合 乐鑫 IoT 开发框架风格指南？

- 如果贡献内容新增或修改了 Python 工具，是否遵循 Python 代码风格指南，并在适当的场景下复用了 `esp-pylib` 提供的公共辅助代码？

- 是否安装了 ESP-IDF 项目的 pre-commit 钩子？

- 代码文档是否符合 编写代码文档 的要求？

- 代码是否注释充分，便于读者理解其结构？

- 贡献代码是否附有文档或示例？关于如何编写优质示例，请参阅 examples 中的 readme 文件。

- 注释和文档是否以英语书写，且表意清晰，无拼写或语法错误？

- 欢迎贡献代码示例，具体请参阅 创建示例项目。

- 若某份贡献包含多次代码提交 (commit)，是否按照改动的内容分组处理（每个 pull request 对应一项主要改动）？对于修改错字一类的次要 commit，是否已 压缩合并到之前的 commit 中？

- 如不能确定上述任意内容，请提交 Pull Request 并在评论区寻求反馈。

## Pull Request 提交流程

创建 Pull Request 后，PR 评论区中可能会有一些讨论。

Pull Request 准备好待合并时，首先会合并到乐鑫的内部 Git 系统中进行自动化测试。

测试流程通过后，你的贡献内容将合并到公开 GitHub 仓库。

## 法律规范

在提交贡献内容前，你需签署 贡献者协议。该协议将在 Pull Request 过程中自动推送。

## 相关文档

- 乐鑫 IoT 开发框架风格指南
- 为 ESP-IDF 安装 pre-commit 钩子
- 编写文档
- 创建示例项目
- API 文档模板
- 贡献者协议
- 版权标头指南
- ESP-IDF pytest 指南

此文档对您有帮助吗？

- 反馈已收到，谢谢！
- 如果您有其他意见，欢迎填写乐鑫文档反馈表。

- 我们重视您的反馈。
- 您可以填写乐鑫文档反馈表告诉我们如何改进该文档。