diff --git a/.editorconfig b/.editorconfig
new file mode 100644
index 0000000..2c16156
--- /dev/null
+++ b/.editorconfig
@@ -0,0 +1,15 @@
+# EditorConfig is awesome: https://EditorConfig.org
+
+# top-most EditorConfig file
+root = true
+
+[*]
+indent_style = space
+indent_size = 4
+end_of_line = lf
+charset = utf-8
+trim_trailing_whitespace = true
+insert_final_newline = true
+
+[*.{yaml,yml}]
+indent_size = 2
diff --git a/examples/dotfiles/.editorconfig b/examples/dotfiles/.editorconfig
new file mode 100644
index 0000000..f5c89b5
--- /dev/null
+++ b/examples/dotfiles/.editorconfig
@@ -0,0 +1,33 @@
+# EditorConfig is awesome: https://EditorConfig.org
+
+# top-most EditorConfig file
+root = true
+
+# Unix-style newlines with a newline ending every file
+[*]
+end_of_line = lf
+insert_final_newline = true
+
+# Matches multiple files with brace expansion notation
+# Set default charset
+[*.{js,py}]
+charset = utf-8
+
+# 4 space indentation
+[*.py]
+indent_style = space
+indent_size = 4
+
+# Tab indentation (no size specified)
+[Makefile]
+indent_style = tab
+
+# Indentation override for all JS under lib directory
+[lib/**.js]
+indent_style = space
+indent_size = 2
+
+# Matches the exact files either package.json or .travis.yml
+[{package.json,.travis.yml}]
+indent_style = space
+indent_size = 2
diff --git a/knowledge base/editorconfig.md b/knowledge base/editorconfig.md
new file mode 100644
index 0000000..9c2be91
--- /dev/null
+++ b/knowledge base/editorconfig.md
@@ -0,0 +1,82 @@
+# EditorConfig
+
+Intro
+
+## Table of contents
+
+1. [TL;DR](#tldr)
+1. [Further readings](#further-readings)
+1. [Sources](#sources)
+
+## TL;DR
+
+File example:
+
+```ini
+# EditorConfig is awesome: https://EditorConfig.org
+
+# top-most EditorConfig file
+root = true
+
+# Unix-style newlines with a newline ending every file
+[*]
+end_of_line = lf
+insert_final_newline = true
+
+# Matches multiple files with brace expansion notation
+# Set default charset
+[*.{js,py}]
+charset = utf-8
+
+# 4 space indentation
+[*.py]
+indent_style = space
+indent_size = 4
+
+# Tab indentation (no size specified)
+[Makefile]
+indent_style = tab
+
+# Indentation override for all JS under lib directory
+[lib/**.js]
+indent_style = space
+indent_size = 2
+
+# Matches the exact files either package.json or .travis.yml
+[{package.json,.travis.yml}]
+indent_style = space
+indent_size = 2
+```
+
+When opening a file, the compatible editor (or the EditorConfig plugin for it) looks for a file named `.editorconfig` in the directory of the opened file, **and** in every parent directory.
+The search for `.editorconfig` files will stop if the root filepath is reached or an EditorConfig file with the `root=true` key pair is found.
+
+EditorConfig files are read **top to bottom**, and the most recent rules found take precedence (last one applies).
+Properties from matching EditorConfig sections are applied in the order they are read, so properties in closer files take precedence.
+
+## Further readings
+
+- [Website]
+- [Github]
+
+## Sources
+
+All the references in the [further readings] section, plus the following:
+
+- [Properties]
+
+
+
+
+[github]: https://github.com/editorconfig/editorconfig/
+[properties]: https://github.com/editorconfig/editorconfig/wiki/EditorConfig-Properties
+[website]: https://editorconfig.org/
+
+
+[further readings]: #further-readings
+
+
+
+