Contributions Guide

We welcome contributions - fixing bugs, adding features, adding documentation, etc. - to the esp-idf-kconfig package on GitHub. This guide provides information on how to contribute to the project.

How to Contribute

  1. Fork the repository on GitHub and setup your local development package:

$ git clone git@github.com:espressif/esp-idf-kconfig.git
$ cd esp-idf-kconfig
$ pip install -e ".[dev]"

By setting up the package in editable mode, you can make changes to the code and test them without having to reinstall the package.

  1. Install pre-commit. which is a framework for managing pre-commit hooks. These hooks help to identify simple issues before committing code for review. You can install it by running:

$ pip install pre-commit
$ pre-commit install -t pre-commit -t commit-msg

This will install the pre-commit hooks to your repository. You can run the checks manually by running: pre-commit run, but pre-commit will run automatically before every commit. On the first commit pre-commit will install the hooks, subsequent checks will be significantly faster. If an error is found an appropriate error message will be displayed.

  1. Create new branch for your changes. We are using conventional commits for commit messages and try to reflect this for branch names as well. For example, if you are fixing a bug, you can name your branch fix/<short_description>, e.g. fix/support_long_config_names.

$ git checkout -b <branch-name>
  1. Before making your changes, please refer to code style to make sure your changes will be compliant with our code style. Then, make your changes and test them. We are using pytest for testing. It is a good practice to write tests for your changes. Details about testing the esp-idf-kconfig package can be found in the Writing tests section.

  2. Commit your changes. esp-idf-kconfig complies with the Conventional Commits standard. Every commit message is checked with Conventional Precommit Linter, ensuring it adheres to the standard.

  3. Push your changes to your fork and create a pull request. We are using GH Pull Requests for code review. Please make sure that your PR passes the CI checks.

  4. Wait for the review. We will review your changes and provide feedback. If everything is OK, we will merge your PR. Alternatively, we may ask you to make some changes.