Thank you so much for your interest in contributing! All types of contributions are encouraged.
- Request Support
- Report an Error or Bug
- Request a Feature
- Contribute Code
- Contribute Documentation
- Provide Support on Issues
- Join the Project Team
If you have a question.
- Ask on gitter or the Libgdx Discord #ecs channel.
- Feel free to open an Issue at https://github.com/junkdog/artemis-odb/issues.
- Provide as much context as you can about what you're running into.
If you run into an error or bug with the project:
- Ask on gitter or the Libgdx Discord #ecs channel.
- Open an Issue at https://github.com/junkdog/artemis-odb/issues
- Include reproduction steps that someone else can follow to recreate the bug or error on their own.
If the project does not do something you need or want it to do:
- Open an Issue at https://github.com/junkdog/artemis-odb/issues
- Provide as much context as you can about what you're running into.
- Please try and be clear about why existing features and alternatives would not work for you.
Once it's filed:
- The project team will evaluate the feature request, possibly asking you more questions to understand its purpose and any relevant requirements. If the issue is closed, the team will convey their reasoning and suggest an alternative path forward.
- If the feature request is accepted, the issue will become part of the roadmap. Depending on the feature and time available, we might ask you to provide a pull request.
Note: The team is unlikely to be able to accept every single feature request that is filed.
Documentation contributions of any size are welcome. Feel free to file a PR even if you're just rewording a sentence to be more clear, or fixing a spelling mistake.
Code contributions of just about any size are acceptable!
Please provide relevant tests for the code being added or changed. Contributions without accompanying tests will be held off until a test is added, unless the maintainers consider the specific tests to be either impossible, or way too much of a burden for such a contribution.
To contribute code:
- Set up the project (see below)
- Make any necessary changes to the source code.
- Include any additional documentation the changes might need.
- Write tests that verify that your contribution works as expected. If you need help with this, just ask!
- Write clear, concise commit message(s) that describe the change.
- Go to https://github.com/junkdog/artemis-odb and open a new pull request with your changes.
- If your PR is connected to an open issue, add a line in your PR's description that says
Fixes: #123
, where#123
is the number of the issue you're fixing.
Once you've filed the PR:
- One or more maintainers will review your PR.
- If the maintainer asks for any changes, edit your changes, push, and ask for another review.
- If the maintainer decides to pass on your PR, they will thank you for the contribution and explain why they won't be accepting the changes.
- If your PR gets accepted, it will be marked as such, and merged soon after.
So you wanna contribute some code! That's great! This project uses GitHub Pull Requests to manage contributions, so read up on how to fork a GitHub project and file a PR if you've never done it before.
If this seems like a lot or you aren't able to do all this setup, you might also be able to edit the files directly without having to do any of this setup. Yes, even code.
If you want to go the usual route and run the project locally, though:
- Make sure you have a recent version of Maven installed, or an IDE with maven built in (like IntellIJ-IDEA).
- Fork the project
Then in your terminal:
cd path/to/your/clone
mvn clean install
And you should be ready to go!
Helping out other users with their questions is a really awesome way of contributing. It's not uncommon for most of the issues on an open source projects being support-related questions by users trying to understand something they ran into, or find their way around a known bug.
In order to help other folks out with their questions:
- Go to the issue tracker.
- Read through the list until you find something that you're familiar enough with to give an answer to.
- Respond to the issue with whatever details are needed to clarify the question, or get more details about what's going on.
- Once the discussion wraps up and things are clarified, either close the issue, or ask the original issue filer (or a maintainer) to close it for you.
There are many ways to contribute! Most of them don't require any official status unless otherwise noted.
If you would like to join the maintenance team, the process is relatively informal and typically depends on contributing over a longer period of time.