Skip to content

Latest commit

 

History

History
57 lines (38 loc) · 2.76 KB

CONTRIBUTING.md

File metadata and controls

57 lines (38 loc) · 2.76 KB

Contributing Guidelines

Hercules project is Apache licensed and accepts contributions via GitHub pull requests. This document outlines some of the conventions on development workflow, commit message formatting, contact points, and other resources to make it easier to get your contribution accepted.

Certificate of Origin

By contributing to this project you agree to the Developer Certificate of Origin (DCO). This document was created by the Linux Kernel community and is a simple statement that you, as a contributor, have the legal right to make the contribution.

In order to show your agreement with the DCO you should include at the end of commit message, the following line: Signed-off-by: John Doe <john.doe@example.com>, using your real name.

This can be done easily using the -s flag on the git commit.

Support Channels

The official support channels, for both users and contributors, are:

*Before opening a new issue or submitting a new pull request, it's helpful to search the project - it's likely that another user has already reported the issue you're facing, or it's a known issue that we're already aware of.

How to Contribute

Pull Requests (PRs) are the main and exclusive way to contribute to the official go-git project. In order for a PR to be accepted it needs to pass a list of requirements:

  • Code Coverage does not decrease.
  • All the tests pass.
  • Go code is idiomatic, formatted according to gofmt, and without any warnings from go lint nor go vet.
  • Python code is formatted according to PEP8.
  • If the PR is a bug fix, it has to include a new unit test that fails before the patch is merged.
  • If the PR is a new feature, it has to come with a suite of unit tests, that tests the new functionality.
  • In any case, all the PRs have to pass the personal evaluation of at least one of the maintainers.

Format of the commit message

The commit summary must start with a capital letter and with a verb in present tense. No dot in the end.

Add a feature
Remove unused code
Fix a bug

Every commit details should describe what was changed, under which context and, if applicable, the GitHub issue it relates to.