diff --git a/.editorconfig b/.editorconfig
new file mode 100644
index 0000000000000000000000000000000000000000..cf0dff653689dee39883be63940e6f0dde546e7d
--- /dev/null
+++ b/.editorconfig
@@ -0,0 +1,5 @@
+# Unix-style newlines with a newline ending every file
+[*]
+indent_style = space
+indent_size = 2
+insert_final_newline = true
diff --git a/.gitignore b/.gitignore
index f5ff7da6489178d4c2b4dbb87da9654efa0142fd..c592d810be49d1762dde1c081b5ec9d384764164 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,6 +1,26 @@
-# ignore install nodejs modules
+# Ignore compiled files.
+dist
+vendor
+
+# Pattern Lab (ignored initially)
+pattern-lab
+**/bem.function.php
+
+# Twig helper functions
+**/add_attributes.function.php
+**/bem.function.php
+
+# NPM
 node_modules
-gulpfile-m.js
-gulpfile-sr.js
-.sass-cache
-rwd1.terminal
\ No newline at end of file
+npm-debug.log
+
+# Git deploy
+.publish
+
+.DS_Store
+
+# theme setup file
+local.gulp-config.js
+
+# yarn lock file
+yarn.lock
diff --git a/.stylelintrc b/.stylelintrc
new file mode 100644
index 0000000000000000000000000000000000000000..643f3f17f06bbce51863dc423c98ac2851f9c97d
--- /dev/null
+++ b/.stylelintrc
@@ -0,0 +1,15 @@
+{
+  "extends": "stylelint-config-standard",
+  "rules": {
+    "at-rule-no-unknown": [ true, {
+      "ignoreAtRules": [
+        "include",
+        "mixin",
+        "extend",
+        "if",
+        "each",
+        "content"
+      ]
+    }]
+  }
+}