Skip to content

Latest commit

 

History

History
65 lines (47 loc) · 2.73 KB

CONTRIBUTING.md

File metadata and controls

65 lines (47 loc) · 2.73 KB

Contribution guidelines

I am completely open to suggestions, criticism, and collaborators. Feel free to open issues and label them accordingly.

Before sending a Pull Request, please make sure that you're assigned the task on a GitHub issue.

  • If a relevant issue already exists, discuss on the issue and get it assigned to yourself on GitHub.

  • If no relevant issue exists, open a new issue and get it assigned to yourself on GitHub.

Git Workflow

This project follows a simple Git Workflow [1][2]:

  • Branch off the latest master and name the branch <descriptive_name>-<issue_number>
    git clone https://github.com/CamiloGarciaLaRotta/MOE.git
    cd MOE
    # activate your python venv
    pip install -r requirements.txt
    
    git checkout -b add-hello-world-support-42
  • Keep your branch up to date by rebasing on top of master
    git fetch origin
    git rebase origin/master
  • When you are done, push your branch and open a Pull Request in GitHub
    git push -u origin add-hello-world-support-42
  • Once the Pull Request is approved, perform an explicit merge
    git checkout master
    git pull origin master
    git merge --no-ff add-hello-world-support-42

Pull Request Checklist

  • In order to keep a homogenious naming convention, you have to name your implementations of Reader, Writer and Mailer with a name ending in -er (:

  • You may find useful my configuration file for VSCode and editorconfig.

  • It is highly recommended that you use the root Makefile as git pre-commit hook, as it will do everything all for you (linting, testing, documentation)

    #.git/hooks/pre-commit
    #!/bin/sh
    
    make validate

    then chmod +x .git/hooks/pre-commit

  • Your code must pass the linting (Pylint, Flake8), as well as remove trailing whitespace of all files.

  • If your contribution adds/modifies MOEs functionality, please add appropriate tests.

  • Please add appropriate documentation to your code in Google Style.

  • If your contribution requires extra dependencies, please mention it in the Pull Request and update project's depencencies: pip freeze > requirements.txt

Vulnerabilities

If you find any vulnerabilities, please open an Issue and add the label Vulnerability. It will be handled as top priority issue.