Skip to content
This repository has been archived by the owner on Dec 4, 2024. It is now read-only.

Latest commit

 

History

History
55 lines (43 loc) · 2.15 KB

CONTRIBUTING.adoc

File metadata and controls

55 lines (43 loc) · 2.15 KB

Contributing to the Globus Automate Client

Reporting Bugs & Requesting Features

  • Check if there’s a matching issue before opening a new issue or pull request

  • When possible, provide a code sample to reproduce bugs

Integrate Linters & Fixers with your Editor

All code is autoformatted with black and isort, and type checked with mypy.

Many editors, including vim, emacs, Atom, and VS Code have plugins or extensions that allow them to automatically run black and isort whenever a file is saved, and show errors flagged by mypy in a separate pane, buffer, or sidebar.

Configuring such editor integrations will save you time and energy, as your work will usually pass linting before you even run make lint or commit your changes.

Expectations for Pull Requests

  • Make sure it merges cleanly. We may request that you rebase if your PR has merge conflicts.

  • List any issues closed by the pull request

  • Squash intermediate and fixup commits. We recommend running git rebase --interactive prior to submitting a pull request.

  • Add new work to the "Unreleased" section of the changelog

These are our guidelines for good commit messages:

  • No lines over 72 characters

  • No GitHub emoji — use your words

  • Reference issues and pull requests where appropriate

  • Present tense and imperative mood

Additional Recommendations

  • Try to use raw strings for docstrings — ensures that ReST won’t be confused by characters like \\

  • Use examples very liberally in documentation

  • Show where you imported from within the SDK. Start at least one example with from globus_automate_client.modulename import ClassName on a page with docs for ClassName

  • Think very hard before adding a new dependency — keep the dependencies of globus_automate_client as lightweight as possible