From 94e1dcf2cb1d28bbd8e952d3e806eb1497a0078b Mon Sep 17 00:00:00 2001
From: Arksine <arksine.code@gmail.com>
Date: Wed, 19 May 2021 08:19:21 -0400
Subject: [PATCH] docs: update contributing doc

Update the code style guidelines informing contributors that they should validate their code with pycodestyle and mypy before submission.

Signed-off-by:  Eric Callahan <arksine.code@gmail.com>
---
 docs/contributing.md | 15 +++++++++++++--
 1 file changed, 13 insertions(+), 2 deletions(-)

diff --git a/docs/contributing.md b/docs/contributing.md
index 603183b..7a856d7 100644
--- a/docs/contributing.md
+++ b/docs/contributing.md
@@ -15,8 +15,19 @@ are near those of Klipper:
         #
         # This file may be distributed under the terms of the GNU GPLv3 license
 
-- No line in the source code or documentation should exceed 80 characters.
-  Be sure there is no trailing whitespace.
+- No line in the source code should exceed 80 characters.  Be sure there is no
+  trailing whitespace.  To validate code before submission one may use `pycodestyle`
+  with the following options:
+      - `--ignore=E226,E301,E302,E303,W503,W504`
+      - `--max-line-length=80`
+      - `--max-doc-length=80`
+- Generally speaking, each line in submitted documentation should also be no
+  longer than 80 characters, however there are situations where this isn't
+  possible, such as long hyperlinks or example return values.
+- Python code should be fully annotated.  Moonraker uses the `mypy` static
+  type checker for code validation with the following options:
+      - `--ignore-missing-imports`
+      - `--follow-imports=silent`
 - Each Commit message should be in the following format:
 
         module name: brief description of commit