buku/.github/PULL_REQUEST_TEMPLATE.md
2017-08-11 20:37:22 +05:30

1.9 KiB

PR guidelines

PR comment

  • Description
    • Please provide an elaborate description of the problem you are trying to solve.
  • Design notes
    • If this is a new feature, please provide design notes on the change which the next developer looking at the code might want to know upfront.
  • Side effects
    • Are you aware of any OS-specific deviations, side effects, unhandled scenarios etc.? Let us know.
  • Test cases
    • Which scenarios have you tested already? A list of commands are welcome.

Program help

This is more important than your design or code! Users check this first.

  • README.md
    • New dependencies? Update them under Installation.
    • New program option? Update program help under Cmdline options verbatim. The short description in help should be more or less aligned to other option descriptions.
    • Add an example, if required under Examples.
    • Update Operational notes if your change affects current behaviour, links to environment variables etc.
  • Man page
    • Update program options.
    • Add the same example, if you ave added one in README.md.
    • Update Operational notes. However, new environment variables go under ENVIRONMENT section.
  • Completion scripts
    • Add new program options to completion scripts for bash, fish and zsh.

Coding guidelines

  • Add new program options to a reasonable group.
  • Single quote, single quote, single all the way!
  • A single line should be less than 80 chars in length.
  • No trailing whitespaces.
  • Avoid append(), extend() and use concatenation if possible.
  • Use string concatenation than substitution if possible, except (logger) prints.
  • Run python3 -m flake8 buku.py.
  • Add new API documentation, reasonable code comments.
  • If possible, add test cases for your new API under tests/. We are Travis integrated.
  • If possible, squash everything to a single commit.

--- PLEASE DELETE THIS LINE AND EVERYTHING ABOVE ---