You need Erlang/OTP 27 or later and Elixir 1.18 or later (install via mise or asdf).
git clone https://github.com/arizona-framework/roadrunner_plug.git
cd roadrunner_plug
mix deps.getRun these before every commit and before pushing. CI runs the same checks:
mix format --check-formattedmix compile --warnings-as-errorsmix testmix docs --warnings-as-errors
Roadrunner.Plug is licensed under the Apache License Version 2.0, for all code.
Roadrunner.Plug is not perfect software and will be buggy.
Bugs can be reported via GitHub issues: bug report.
Some contributors and maintainers may be unpaid developers working on Roadrunner.Plug, in their own time, with limited resources. We ask for respect and understanding, and will provide the same back.
If your contribution is an actual bug fix, we ask you to include tests that, not only show the issue is solved, but help prevent future regressions related to it.
Before requesting or implementing a new feature, do the following:
- search, in existing issues (open or closed), whether the feature might already be in the works, or has already been rejected,
- make sure you're using the latest software release (or even the latest code, if you're going for bleeding edge).
If this is done, open up a GitHub issues: feature request.
We may discuss details with you regarding the implementation, and its inclusion within the project.
We try to have as many of Roadrunner.Plug's features tested as possible. Everything that a user can do, and is repeatable in any way, should be tested, to guarantee backwards compatible.
- run
mix format - write small functions whenever possible, and use descriptive names for functions and variables
- comment tricky or non-obvious decisions made to explain their rationale
Merging to the main branch will usually be preceded by a squash.
Commit messages use a plain imperative subject line, with no
feat:/fix:/chore: semantic prefixes. Subject only, no body
unless the change genuinely needs explanation (a one-line subject
beats a paragraph of preamble).
While it's OK (and expected) for your commit messages to relate the why of a given change, be aware that the final commit (the merge one) will be the PR title, so make it specific. This also helps automated changelog generation.
All fixes to Roadrunner.Plug end up requiring a +1 from one or more of the project's maintainers.
During the review process, you may be asked to correct or edit a few things before a final rebase to merge things. Do send edits as individual commits to allow for gradual and partial reviews to be done by reviewers.
Roadrunner.Plug has been improved by many contributors!