Skip to content

Latest commit

 

History

History
50 lines (38 loc) · 4.21 KB

CONTRIBUTING.md

File metadata and controls

50 lines (38 loc) · 4.21 KB

Contributing

Thank you so much for your interest in contributing! This project is only and example but all contributions are welcomed.

There are multiple ways you can help. For example you can Submit a patch or you can Contribute documentation. If you have encountered an issue while using the project please Report errors or bugs to help us fix the issue. If you feel that this project is missing something feel free to Request a feature/improvement - it might be that other people can benefit from this feature too.

Submit a patch

If you want to fix an issue or add a feature - code contribution is the best way to do it. Easiest way to submit a patch is by raising a pull request (PR):

  • Clone the project.
  • Make any necessary changes to the source code. Please see coding convention about code style.
  • Include any additional documentation the changes might be needed.
  • When adding new feature it is essential to write tests that verify that your contribution works as expected.
  • When fixing existing issues it is essential to update existing tests accordingly.
  • All code changes are subject to automatic code quality checks run as part of CI. Code changes can not be accepted if they fail quality check so please make sure this checks pass by run make codecheck locally before submitting.
  • Write clear, concise commit message(s) using conventional-changelog format.
  • Go to https://github.com/abbyssoul/marxfs/pulls and open a new pull request with your changes.
  • If your PR is connected to an open issue, add a line in your PR's description that says Fixes: #123, where #123 is the number of the issue you're fixing.

Testing

This project is committed to maintaining highest level of code quality. That is why any new feature submitted must be include extensive unit test coverage and pass code quality checks. For fixes it is natural that existing test coverage was not sufficient to vet it. Thus it is expected that existing tests will be extended to cover issue being fixed when ever possible. This helps to avoid re-occurrence of the issue as code changes over time.

Reporting errors or bugs

If you think you run into an error or bug with the project please let us know. It is possible that other users also might experience similar issues. To report an issues:

  • Open an Issue at https://github.com/abbyssoul/marxfs/issues
  • Include reproduction steps that someone else can follow to recreate the bug or error on their own.
  • It helps if you can specify what expected behaviour/outcome was and what was the actual result.
  • Provide project and platform versions (OS name, compiler version), depending on what seems relevant. If not, please be ready to provide that information if maintainers ask for it.

Request a feature/improvement

If the project doesn't do something you need or want it to do you can create a feature request. It is possible that there are other users who need the same functionality. To request a feature:

  • Open an Issue at https://github.com/abbyssoul/marxfs/issues
  • Provide as much context as you can about what you're running into.
  • Please try and be clear about why existing features and alternatives would not work for you.

Contributing documentation

Documentation is essential part of any project. To contribute documentation:

  • Clone the project.
  • Edit or add any relevant documentation.
  • Make sure your changes are formatted correctly and consistently with the rest of the documentation.
  • Re-read what you wrote, and run a spell-checker on it to make sure you didn't miss anything.
  • Write clear, concise commit message(s) using conventional-changelog format. Documentation commits should use docs(<component>): <message>.
  • Go to https://github.com/abbyssoul/marxfs/pulls and open a new pull request with your changes.
  • If your PR is connected to an open issue, add a line in your PR's description that says Fixes: #123, where #123 is the number of the issue you're fixing.