Skip to content

Latest commit

 

History

History
54 lines (44 loc) · 2.36 KB

CONTRIBUTING.md

File metadata and controls

54 lines (44 loc) · 2.36 KB

How to contribute to protox

First, thank you for your interest in contributing to protox!

To ensure a smooth experience while contributing, here are a few handy guidelines.

Development Prerequisites

  • Erlang/OTP 26 or later
  • Elixir 1.15 or later
  • (optional) lefthook for git hooks

Development Guidelines

We use a few tools to keep the code clean and consistent:

Note

These tasks are always run in the CI pipeline.

Note

lefthook can be used to run these tasks automatically on each commit or push (except for the muzak task which takes a long time to run).

Note

mix test --include conformance automatically downloads and compiles the conformance test suite and runs it against the current version of protox.

Testing

Correctness is the main goal of Protox, here's how you can contribute to it:

  • add tests for any new features;
  • when fixing a bug, add tests that reproduce the bug;
  • ensure all tests pass with mix test --include conformance;
  • try to maintain or improve test coverage (check with mix test --cover).

Documentation

Documentation is as important as correctness, here's a quick reminder of the things to keep in mind:

  • document public functions;
  • update module documentation if needed;
  • if possible, include examples as doctests;
  • update the main README.md if needed.

License

By contributing to Protox, you agree that your contributions will be licensed under MIT License.

Getting Help

If you have questions or need help, you can: