diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index e6b14c5..6a90c2a 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -2,21 +2,53 @@ Thank you for your interest in contributing to lprs! We welcome contributions from the community to help improve the project. -## Getting Started +## Reporting Issues -To get started with contributing to lprs, please follow these steps: +If you encounter any issues or bugs while using lprs, please open a new issue on the Forgejo repository. When reporting an issue, please provide as much detail as possible, including steps to reproduce the issue and any relevant error messages. -1. Fork the lprs repository to your own GitHub account. -2. Clone the forked repository to your local machine. -3. Create a new branch for your changes: `git checkout -b my-branch-name`. -4. Make your desired changes to the codebase. -5. Test your changes to ensure they work as expected. -6. Run `just ci` to run the continuous integration. -7. Commit your changes: `git commit -m "Add my changes"`. -8. Push your changes to your forked repository: `git push origin my-branch-name`. -9. Open a pull request from your forked repository to the main lprs repository. +## Feature Requests -## Code Style +If you have a feature request or an idea for improving lprs, we encourage you to open a new issue on the Forgejo repository. Please describe the feature or improvement in detail and provide any relevant context or examples. + +## Writing Code +Before you start writing code, please open a new issue first to discuss the proposed changes. This will help ensure that your contribution is aligned with the project's goals and that you are not duplicating work that is already in progress or has been completed by someone else. + +### PR title +Your PR will squash and merge, and your PR title will be used as the commit message. Please make sure your PR title is clear and concise. + +The title must follow [Conventional Commits](https://www.conventionalcommits.org/en/v1.0.0/) format. This means that the title should be in the following format: + +``` +(): +``` + +- The `` is optional, and the `` should be a clear and concise summary of the changes. +- You should use the imperative, present tense (e.g., "Add feature" instead of "Added feature"). +- The `` should be one of the following: + - `feat`: A new feature + - `fix`: A bug fix + - `docs`: Documentation changes + - `refactor`: Refactoring code without changing its behavior + - `change`: Changes that affect the meaning of the code + - `deprecate`: Changes that deprecate a part of the code + - `remove`: Changes that remove a deprecated part of the code + - `security`: Changes that affect the security of the code + - `perf`: A code change that improves performance + - `test`: Adding missing tests or correcting existing tests + - `chore`: Changes to the build process or auxiliary tools and libraries such as documentation generation + +#### Example +``` +- feat: something +- chore(ci): update MSRV +``` + +### PR description +Your PR description should provide a clear and concise summary of the changes you have made. It should also include any relevant context or background information that will help the project maintainers understand the purpose of the changes. Make sure to reference the issue that your PR is addressing, and note any breaking changes that your PR introduces. + +Make sure to explain why you made the changes not just what changes you made. + +### Code Style Please follow the existing code style and conventions used in the lprs project. This includes: @@ -24,13 +56,14 @@ Please follow the existing code style and conventions used in the lprs project. - Writing clear and concise code with meaningful variable and function names. - Adding comments to explain complex logic or algorithms. -## Reporting Issues +### CI +Run the CI before submitting your code. You can run the CI with the following command: -If you encounter any issues or bugs while using lprs, please open a new issue on the GitHub repository. When reporting an issue, please provide as much detail as possible, including steps to reproduce the issue and any relevant error messages. +```bash +just ci +``` -## Feature Requests - -If you have a feature request or an idea for improving lprs, we encourage you to open a new issue on the GitHub repository. Please describe the feature or improvement in detail and provide any relevant context or examples. +This will run the tests and check the code formatting. If the CI fail, please fix the issues before submitting your code. ## Code Review