Skip to content

Latest commit

 

History

History
59 lines (33 loc) · 2.43 KB

CONTRIBUTING.md

File metadata and controls

59 lines (33 loc) · 2.43 KB

Contributing to ripeg

Thanks a lot for contributing to this project!

The following is a set of guidelines for contributing to ripeg.

Since the project is young: consider those best practices prone to change. Please suggest improvements!

Basics

License

The project uses the GPL3 license. By contributing to this project you agree to license your changes under this license.

What to do

Issues

There is plenty of features missing (I’ll try to create such issues soon) and possibly bugs might be already there. Feel free to add new issues and to wrangle over those already open and help fixing them.

Code

Only one module has been implemented for now, feel free to submit your PRs. Work is ongoing on isa module now, if that can help to prevent duplicate work.

Tests

Tests are mandatory for a PR to be accepted. We want coverage to flirt with 100%. Luckily for us, having a complete test coverage is far easier to get with a brand new project.

Please Add your tests as doctests for every method.

Benchmark

Benches are mandatory for a PR to be accepted. We want coverage to flirt with 100%. Luckily for us, having a complete bench coverage is far easier to get with a brand new project.

Documentation

Complete documentation is mandatory for a PR to be accepted. We want doc to be complete so newcomers feel quickly at home when getting their hands on ripeg. Luckily for us, having a complete doc coverage is far easier to get with a brand new project.

Style

Issue style

Try to write at least 3 short paragraphs describing what were you trying to achieve, what is not working and the step by step actions that lead to the unwanted outcome.

If possible provide:

  • a code snippet or a link to a gist showcasing the problem, if is a library usage issue.
  • a backtrace, if it is a crash.
  • a sample file, if it is a decoding or encoding issue.

Coding style

The normal rust coding style is checked by rustfmt. Readable code is the first step on having good and safe libraries.

To avoid slight differences appearing in nightly versions, please use the following command to run rustfmt: cargo +stable fmt before submitting a PR.