# Contributions Guide

[中文]

We welcome contributions to the ESP-IDF project!

## How to Contribute

Contributions to ESP-IDF - fixing bugs, adding features, adding documentation - are welcome. We accept contributions via Github Pull Requests.

## Before Contributing

Before sending us a Pull Request, please consider this list of points:

- Is the contribution entirely your own work, or already licensed under an Apache License 2.0 compatible Open Source License? If not then we unfortunately cannot accept it. Please check the Copyright Header Guide for additional information.

- Does any new code conform to the Espressif IoT Development Framework Style Guide?

- If your contribution adds or changes Python tooling, does it follow the Python Code Style and reuse shared helpers from `esp-pylib` where applicable?

- Have you installed the pre-commit hook for ESP-IDF project?

- Does the code documentation follow requirements in Documenting Code?

- Is the code adequately commented for people to understand how it is structured?

- Is there documentation or examples that go with code contributions? There are additional suggestions for writing good examples in examples readme.

- Are comments and documentation written in clear English, with no spelling or grammar errors?

- Example contributions are also welcome. Please check the Creating Examples guide for these.

- If the contribution contains multiple commits, are they grouped together into logical changes (one major change per pull request)? Are any commits with names like "fixed typo" squashed into previous commits?

- If you are unsure about any of these points, please open the Pull Request anyhow and then ask us for feedback.

## Pull Request Process

After you open the Pull Request, there will probably be some discussion in the comments field of the request itself.

Once the Pull Request is ready to merge, it will first be merged into our internal git system for in-house automated testing.

If this process passes, it will be merged into the public GitHub repository.

## Legal Part

Before a contribution can be accepted, you will need to sign our Contributor Agreement. You will be prompted for this automatically as part of the Pull Request process.

## Related Documents

- Espressif IoT Development Framework Style Guide
- Install Pre-commit Hook for ESP-IDF Project
- Documenting Code
- Creating Examples
- API Documentation Template
- Contributor Agreement
- Copyright Header Guide
- ESP-IDF Tests with Pytest Guide

Was this page helpful?

- Thank you! We received your feedback.
- If you have any comments, fill in Espressif Documentation Feedback Form.

- We value your feedback.
- Let us know how we can improve this page by filling in Espressif Documentation Feedback Form.