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

40 lines
1.9 KiB
Markdown

### 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 ---