Skip to content
This repository has been archived by the owner on Sep 26, 2023. It is now read-only.

Latest commit

 

History

History
67 lines (43 loc) · 2.28 KB

CONTRIBUTING.md

File metadata and controls

67 lines (43 loc) · 2.28 KB

Contributing

All contributions are welcome! Just make sure you follow these guidelines and your change/fix/improvement should be accepted without any problems.

TL;DR

  • File an issue if you've found a bug, want to request an improvement, or want to implement new functionality yourself. Make sure to check no one else has created a similar ticket!
  • Create a pull request and make sure your commit includes the issue number

The Long Version

Step 1: Create an Issue

Before writing any code, make sure to create an issue that describes what you'd like to add, improve or fix. Doing so allows us to give you any feedback before starting, as it may already be something we've started or maybe even already done, hidden away and undocumented (whoops).

Step 2: Fork the Repository

This will allow you to branch off and write your change against a separate codebase.

Step 3: Add an Upstream Remote

The upstream remote is the original project under the ManyWho GitHub organization. To add the upstream remote:

$ git remote add upstream git@github.com:manywho/service-example.git # Replace the repository with the correct URL

Step 4: Create a Feature Branch

Make sure to give your branch a descriptive name that starts with feature and includes the issue number, e.g. feature/123-add-contact-type.

Step 5: Push to your Fork

While you're writing code, make sure to push atomic commits to your fork. Also, be sure to include your issue number and a description of your change in the commit message, e.g. #123: Added a new Contact type or #234: Fixed a null pointer when loading single items from the API.

Don't forget unit/functional tests, and remember that different issues go on separate feature branches!

Step 6: Rebase Against Upstream

Before creating your pull request, rebase your fork against the upstream remote to get the latest changes which will help minimise merge issues:

$ git fetch upstream
$ git rebase upstream/develop

Step 7: Run Tests

Make sure that your code (and any merged changes) still pass all unit tests:

$ mvn test

Step 8: Create the Pull Request

Create a pull request from your feature branch, that includes a description of your change. There should only be one issue per pull request.