Thank you for your interest in contributing to EVA!
This document should be able to guide contributors in their different types of contributions.
Just want to ask a question? Open a topic on our Discussion page.
We welcome contributions, but want to be upfront: our team has limited bandwidth for reviewing pull requests, and not every contribution will align with the direction we're taking EVA. To make the best use of everyone's time:
- For bug fixes and small improvements: Feel free to open a PR directly.
- For larger features or significant changes: Please open an issue or start a discussion before writing any code. This lets us confirm the change fits our vision and saves you from investing time in work we may not be able to merge.
Check out our roadmap and current limitations to see the areas we're most interested in improving. Contributions that address items on the roadmap are much more likely to be reviewed and merged quickly.
Go to our Quick Start section in the README to get set up.
Open an issue on GitHub and select "Bug report". If you are not sure whether it is a bug or not, submit an issue and we will be able to help you.
Issues with reproducible examples are easier to work with. Do not hesitate to provide your configuration with generated data if need be.
If you are familiar with the codebase, providing a unit test is helpful, but not mandatory.
First, open an issue describing your desired changes, if it does not exist already.
- Fork the repo to your own account.
- Clone your fork of the repo locally.
- Make your changes (the fun part).
- Commit and push your changes to your fork.
- Open a pull request with your branch.
- Once a team member approves your changes, we will merge the pull request promptly.
When coding, pay special attention to the following:
- Your code should be well commented for non-trivial sections, so it can be easily understood and maintained by others, but not over-commented. Good variable names and functions are your best friend.
- Do not expose any personal or sensitive data.
- Add unit tests when a notable functionality has been added or changed.