Skip to content

Latest commit

 

History

History
37 lines (25 loc) · 2.2 KB

File metadata and controls

37 lines (25 loc) · 2.2 KB

Contributing to IndexTools

We welcome contributions of bug reports, feature requests, code, and documentation from the community.

  • All code and documentation contributions must be via pull request.
  • By submitting a pull request, you agree to donate your contribution under the terms of this project's license.

Conventions

  • Format code according to black style.
  • Use type annotations in all function signatures and anywhere else they are necessary to resolve ambiguity.
  • Write Google-style docstrings for all functions.
  • Write self-documenting code, commenting where necessary to explain complex functionality.

Process

IndexTools development follows the GitFlow development process. In summary:

  • Fork the repository
  • Change to the develop branch: git checkout develop
  • Create a new feature branch: git checkout -b <feature name>
    • If the feature is based on an issue, prefix the branch name with the issue ID, e.g. git checkout -b 4_cram_support.
  • Commit your changes. We suggest making small, focused commits with informative messages"
  • Write tests for any new or modified functionality.
  • When all tests pass, submit a PR with a detailed message.
    • The code owner(s) will automatically be added as reviewers on the PR.

Collaborators

Any contributor who has previously made a pull request to this project may apply to become a Collaborator by submitting an issue to this effect.

The development process for Contributors and Collaborators is the same, with the exception that:

  • Collaborators can create branches and submit PRs directly on this project, rather than via forking, and
  • Collaborators are considered as "Authors," both for purposes of copyright and for inclusion on any manuscript submitted for publication.

Your first PR after being added as a Collaborator should be to add yourself to the authors file.