Skip to content

Latest commit

 

History

History
21 lines (11 loc) · 1.73 KB

CONTRIBUTING.md

File metadata and controls

21 lines (11 loc) · 1.73 KB

Contributing

Welcome! If you are interested in contributing, please read this document.

Documentation

Like Elixir itself, this project treats documentation as a first-class citizen. Documentation is generated with ExDoc and hosted on HexDocs. Guides are written in Markdown and added as extra pages to ExDoc. To learn more, please read Writing Documentation.

All public functions and modules should be documented with @moduledoc and @doc. All public functions and structs should have their types specified with @spec and @type. Typespecs are validated with Dialyxir. To learn more, please read the Typespecs documentation.

Linting & Testing

Credo is used as the code linter for this project. All Elixir source code is formatted with the official code formatter.

Tests are executed with ExUnit. Tests involving an actual HTTP server utilize Bypass. Mocks for Elixir Behaviours are created with Mox. Line coverage is generated with Erlang's cover module.

Continuous Integration & Publishing

GitHub Actions are used for continuous integration. Pull requests will only be merged once approved and pass all CI checks.

This projects follows Semantic Versioning. Releases are tagged in GitHub and published to Hex.pm.