diff --git a/.editorconfig b/.editorconfig
new file mode 100644
index 0000000000000000000000000000000000000000..6ac0df79c64bd26796a68611bc398b30e689eca3
--- /dev/null
+++ b/.editorconfig
@@ -0,0 +1,8 @@
+# Top-most EditorConfig file
+root = true
+
+[*]
+end_of_line = lf
+insert_final_newline = true
+indent_style = tab
+charset = utf-8
diff --git a/docs/dev/basics.rst b/docs/dev/basics.rst
index 18aec227d558a9e83c6317e3c8b700b85323430e..0f53d6d42fad76a3a86161f79801f07ddf2e20c3 100644
--- a/docs/dev/basics.rst
+++ b/docs/dev/basics.rst
@@ -67,5 +67,10 @@ apply:
 
 - use tabs instead of spaces
 - trailing whitespaces must be eliminated
+- files need to end with a final newline
+- newlines need to have unix line endings (lf)
+
+To that end we provide a ``.editorconfig`` configuration, which is supported by most
+of the editors out there.
 
 If you add Lua scripts to gluon, check formatting with ``luacheck``.