Thank your for contributing to this project! We welcome collaborators and expect users to follow our code of conduct when submitting code or comments.
Note: The base branch requires all commits to be signed.
- Fork the repo (https://github.com/mana-ethereum/mana/fork).
- Create your feature branch (
git checkout -b my-new-feature
). - Write tests that cover your work.
- Ensure CI rules are satisfied.
- Commit your changes (
git commit -S -a -m 'Add some feature'
). - Push to your branch (
git push origin my-new-feature
). - Create a new PR (Pull Request).
-
Commits should be one logical change that still allows all tests to pass. We prefer smaller commits if there could be two levels of logic grouping. The goal is to provide future contributors (including your future self) the reasoning behind your changes and allow them to cherry-pick, patch or port those changes in isolation to other branches or forks.
-
If during your PR you reveal a pre-existing bug and know how to fix it:
- If you can isolate the bug, fix it in a separate PR.
- If the fix depends on your other commits, add it in a separate commit to the same PR.
In either case, try to write a regression test that fails because of the bug but passes with your fix.
Creating and discussing Issues provides significant value to the project. If you find a bug you can report it in an Issue.
Before submitting a PR:
- Add a test for the new or updated functionality. For tests that are simple and would make sense in documentation add a doctest. For more complicated tests add a regular test. If you're not sure which type to add ask in Gitter.
- Run
mix format
to format your code. - Run
mix credo
and fix any errors and warnings.
All pull requests should include:
- A clear, readable description of the purpose of the PR
- A clear, readable description of changes
- Any additional concerns or comments (optional)