From 887e0847cd43bc5bbe745949bced556c85748678 Mon Sep 17 00:00:00 2001 From: Awiteb Date: Wed, 26 Jun 2024 23:04:48 +0300 Subject: [PATCH] chore: Add contribution guide file Signed-off-by: Awiteb --- CONTRIBUTING.md | 113 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 113 insertions(+) create mode 100644 CONTRIBUTING.md diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 0000000..26f68f1 --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,113 @@ +# Contributing to oxidetalis + +Thank you for your interest in contributing to oxidetalis! We welcome +contributions from the community to help improve the project. + +## Reporting Issues + +If you encounter any issues or bugs while using oxidetalis, 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. + +## Feature Requests + +If you have a feature request or an idea for improving oxidetalis, 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. + +### Rust Version +In the oxidetalis project, we always try to stay on the lowest MSRV possible for +compatibility, but the development process relies on the nightly release to get +the latest rust-analyzer and rustfmt features. + +You can check the nightly version used in the project in the `rust-toolchain` +file. And the MSRV in the `Cargo.toml` file. + +### 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] 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 oxidetalis +project. This includes: + +- Using Rust's official formatting tool, `rustfmt`, to format your code. +- Writing clear and concise code with meaningful variable and function names. +- Adding comments to explain complex logic or algorithms. + +### CI +Run the CI before submitting your code. You can run the CI with the following +command: + +```bash +just ci +``` + +This will run the tests and check the code formatting. If the CI fail, please +fix the issues before submitting your code. + +## Code Review + +All contributions to oxidetalis will go through a code review process. This +ensures that the code meets the project's standards and maintains its quality. +Please be open to feedback and suggestions from the project maintainers during +the code review process. + +## License + +By contributing to oxidetalis, you agree that your contributions will be +licensed under the project's licenses. Each crate in the project has its own +license, so please make sure you are aware of the license terms before making a +contribution. + +Happy contributing! + +[Conventional Commits]: https://www.conventionalcommits.org/en/v1.0.0/