diff --git a/.editorconfig b/.editorconfig
new file mode 100644
index 0000000..ecbb276
--- /dev/null
+++ b/.editorconfig
@@ -0,0 +1,16 @@
+# http://editorconfig.org
+root = true
+
+[*]
+indent_style = space
+indent_size = 4
+end_of_line = lf
+charset = utf-8
+trim_trailing_whitespace = true
+insert_final_newline = true
+
+[{package.json,bower.json,.jshintrc}]
+indent_size = 2
+
+[.gitmodules]
+indent_style = tab
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..93f1361
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,2 @@
+node_modules
+npm-debug.log
diff --git a/.jshintrc b/.jshintrc
new file mode 100644
index 0000000..64077d6
--- /dev/null
+++ b/.jshintrc
@@ -0,0 +1,10 @@
+{
+ "esnext": true,
+ "browser": true,
+ "browserify": true,
+ "devel": true,
+ "globals": {
+ "AudioContext": true,
+ "webkitAudioContext": true
+ }
+}
diff --git a/banner.txt b/banner.txt
new file mode 100644
index 0000000..4e2066d
--- /dev/null
+++ b/banner.txt
@@ -0,0 +1,6 @@
+/**
+ * @name <%= pkg.name %>
+ * @version <%= pkg.version %> | <%= moment().format('MMMM Do YYYY') %>
+ * @author <%= pkg.author %>
+ * @license <%= pkg.license %>
+ */
diff --git a/bower.json b/bower.json
new file mode 100644
index 0000000..bf15f42
--- /dev/null
+++ b/bower.json
@@ -0,0 +1,22 @@
+{
+ "name": "woscope",
+ "version": "0.0.1",
+ "description": "oscilloscope emulator",
+ "homepage": "https://m1el.github.io/woscope/",
+ "license": "MIT",
+ "main": "dist/woscope.js",
+ "keywords": [
+ "oscilloscope",
+ "webgl"
+ ],
+ "authors": [
+ "m1el"
+ ],
+ "ignore": [
+ "**/.*"
+ ],
+ "moduleType": [
+ "globals",
+ "node"
+ ]
+}
diff --git a/index.html b/index.html
index 75f898b..e893dd1 100644
--- a/index.html
+++ b/index.html
@@ -16,7 +16,7 @@ noscript, .nogl { position: absolute; width: 800px; padding-top: 200px;
text-align: center; font-size: 32px; }
footer { text-align: center; font-size: 18px; }
-
+