summaryrefslogtreecommitdiff
path: root/CONTRIBUTING.md
diff options
context:
space:
mode:
authorNoémi Ványi <sitbackandwait@gmail.com>2020-06-30 23:41:37 +0200
committerNoémi Ványi <sitbackandwait@gmail.com>2020-07-10 17:10:02 +0200
commitfd80453a3a253e1fb67bd8f4eb76e4fa6c14456e (patch)
treeda28e098ddfe5b84e2d9d29a18b5499137f2fc08 /CONTRIBUTING.md
parent754accb6d20398e0ded196080391ececeefd3b54 (diff)
Add PR template and contribution guidelines
Diffstat (limited to 'CONTRIBUTING.md')
-rw-r--r--CONTRIBUTING.md49
1 files changed, 49 insertions, 0 deletions
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
new file mode 100644
index 00000000..814ff64a
--- /dev/null
+++ b/CONTRIBUTING.md
@@ -0,0 +1,49 @@
+# How to contribute
+
+## Resources in the documentation
+
+* [Development quickstart](http://asciimoo.github.io/searx/dev/contribution_guide.html)
+* [Contribution guide](http://asciimoo.github.io/searx/dev/contribution_guide.html)
+
+## Submitting PRs
+
+Please follow the provided PR template when writing a description for your changes.
+
+Do not take criticism personally. When you get feedback, it is about your work,
+not your character, personality, etc. Keep in mind we all want to make the project better.
+
+When something is not clear, please ask questions to clear things up.
+
+If you would like to introduce a big architectural changes or do a refactoring
+either in the codebase or the development tools, please open an issue with a proposal
+first. This way we can think together about the problem and probably come up
+with a better solution.
+
+## Coding conventions and guidelines
+
+### Commit messages
+
+* Always write descriptive commit messages ("fix bug" is not acceptable).
+* Use the present tense ("Add feature" not "Added feature").
+* Use the imperative mood ("Move cursor to..." not "Moves cursor to...").
+* Limit the first line to 72 characters or less.
+* Include the number of the issue you are fixing.
+
+### Coding guidelines
+
+As a Python project, we must follow [PEP 8](https://www.python.org/dev/peps/pep-0008/) and [PEP 20](https://www.python.org/dev/peps/pep-0020/) guidelines.
+
+Furthermore, follow the Clean code conventions. The most important
+in this project are the following rules:
+
+* Simpler is better. [KISS principle](https://en.wikipedia.org/wiki/KISS_principle)
+* Be consistent.
+* Every function must do one thing.
+* Use descriptive names for functions and variables.
+* Always look for the root cause.
+* Keep configurable data high level.
+* Avoid negative conditionals.
+* Prefer fewer arguments.
+* Do not add obvious comment to code.
+* Do not comment out code, just delete lines.
+