|
| 1 | +# Contributing Guidelines |
| 2 | + |
| 3 | +[](http://ipn.io) |
| 4 | +[](https://libp2p.io/) |
| 5 | + |
| 6 | +Welcome to the rust-libp2p contribution guide! We appreciate your interest in improving our library. |
| 7 | + |
| 8 | +## Looking for ways to contribute? |
| 9 | + |
| 10 | +There are several ways you can contribute to rust-libp2p: |
| 11 | +- Start contributing immediately via the opened [help wanted](https://github.com/libp2p/rust-libp2p/issues?q=is%3Aissue+is%3Aopen+label%3A%22help+wanted%22) or [difficulty:easy](https://github.com/libp2p/rust-libp2p/issues?q=is%3Aissue+is%3Aopen+label%3Adifficulty%3Aeasy) issues on GitHub. |
| 12 | + These issues are suitable for newcomers and provide an excellent starting point. |
| 13 | +- Reporting issues, bugs, mistakes, or inconsistencies. |
| 14 | + As many open source projects, we are short-staffed, we thus kindly ask you to be open to contribute a fix for discovered issues. |
| 15 | + |
| 16 | +### We squash-merge pull Requests |
| 17 | + |
| 18 | +We always squash merge submitted pull requests. |
| 19 | +This means that we discourage force pushes, in order to make the diff between pushes easier for us to review. |
| 20 | +Squash merging allows us to maintain a clean and organized commit history. |
| 21 | + |
| 22 | +The PR title, which will become the commit message after the squashing process, should follow [conventional commit spec](https://www.conventionalcommits.org/en/v1.0.0/). |
| 23 | + |
| 24 | +### Write changelog entries for user-facing changes |
| 25 | + |
| 26 | +When making user-facing changes, it is important to include corresponding entries in the changelog, providing a comprehensive summary for the users. |
| 27 | +For detailed instructions on how to write changelog entries, please refer to the documentation in [`docs/release.md`](https://github.com/libp2p/rust-libp2p/blob/master/docs/release.md). |
| 28 | + |
| 29 | + |
| 30 | +### Merging of PRs is automated |
| 31 | + |
| 32 | +To streamline our workflow, we utilize Mergify and the "send-it" label. |
| 33 | +Mergify automates merging actions and helps us manage pull requests more efficiently. |
| 34 | +The "send-it" label indicates that a pull request is ready to be merged. |
| 35 | +Please refrain from making further commits after the "send-it" label has been applied otherwise your PR will be dequeued from merging automatically. |
| 36 | + |
| 37 | +### Treat CI as a self-service platform |
| 38 | + |
| 39 | +We have a lot of automated CI checks for common errors. |
| 40 | +Please treat our CI as a self-service platform and try to fix any issues before requesting a review. |
0 commit comments