diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
new file mode 100644
index 0000000..449ada7
--- /dev/null
+++ b/CONTRIBUTING.md
@@ -0,0 +1,43 @@
+Project Coding Guidelines
+=========================
+
+Robot Coding Guidelines
+-----------------------
+-   For this project, we will write Robot keyword definitions in either Robot
+    or python.  Robot code should be quite simple.  Therefore, if algorithm
+    in question is the least bit complex, please write it in python.
+-   Robot supports delimiting cells with either two or more spaces or with a
+    pipe symbol (e.g. "\|"). Our team has chosen to use spaces rather than the
+    pipe character. Make sure all space delimiters in robot code are the
+    **minimum** of two spaces. There may be some exceptions to this rule.
+
+    Exceptions to two-space delimiter rule:
+
+    - When you wish to line up resource, library or variable values:
+
+      ```
+      Library         Lib1
+      Resource        Resource1
+      *** Variables ***
+      ${var1}         ${EMPTY}
+      ```
+
+    - When you wish to line up fields for test templates:
+
+      ```
+      [Template]  Set System LED State
+      # LED Name  LED State
+      power       On
+      power       Off
+      ```
+
+    - When you wish to indent if/else or loop bodies for visual effect:
+
+      ```
+      Run Keyword If  '${this}' == '${that}'
+      ...    Log  Bla, bla...
+      ...  ELSE
+      ...    Run Keywords  Key1  parms
+      ...    AND  Key2  parms
+      ```
+
