| # **PR Submission Guidelines** |
| |
| **Please remove this entire section before submitting your PR.** |
| **This section is only for your reference.** |
| |
| 🙌 **Thank you for contributing to `iggy`!** |
| |
| To help us incorporate your changes efficiently, please adhere to the following guidelines: |
| |
| ## General Coding Remarks |
| |
| - **Code Formatting**: Run `cargo fmt` to ensure your code adheres to the project's style. |
| - **Code Linting**: Run `cargo clippy --all-targets --all-features -- -D warnings` to make sure your code is lint-free. |
| - **Unit Testing**: Write or update unit tests to cover your changes. |
| - **Integration Testing**: Write or update integration tests to cover your changes. |
| - **Project Structure**: Follow the `iggy` project's structure and coding style. |
| - **Build Integrity**: Ensure your code compiles and runs error-free. |
| - **Check unused dependencies**: Run `cargo machete` to make sure no unused dependencies made their way into your changeset. |
| - **Sort dependencies**: Run `cargo sort --workspace` so that the content of the toml files stay ordered. |
| |
| ## Commit Message Rules |
| |
| - **Description**: Provide a concise description of the changes. |
| - **Style**: Use an imperative style in the subject line (e.g., "Fix bug" rather than "Fixed bug" or "Fixes bug"). |
| - **Brevity**: Keep the subject line under 80 characters. |
| - **Rationale**: Explain the 'why' and 'what' of your changes in the summary. |
| - **Details**: Use the body to elaborate on the 'how' of your changes. |
| - **Context**: Include 'before' and 'after' scenarios if applicable. |
| - **References**: Link any relevant issues or PRs in the message body. |
| |
| **Remember:** Your contribution is essential to the success of `iggy`. Please ensure that your PR conforms to these guidelines for a swift and smooth integration process. |
| |
| Thank you! |