Skip to content

Latest commit

 

History

History
109 lines (71 loc) · 5.53 KB

CONTRIBUTING.md

File metadata and controls

109 lines (71 loc) · 5.53 KB

Contributing

Thank you so much for your interest in contributing! All types of contributions are encouraged.

How do I...

Request Support

If you have a question.

Report an Error or Bug

If you run into an error or bug with the project:

Request a Feature

If the project does not do something you need or want it to do:

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.

Contribute Documentation

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.

Contribute Code

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.

Project Setup

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!

Provide Support on Issues

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.

Join the Project Team

Ways to Join

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.