diff --git a/.github/git-hooks/pre-commit b/.github/git-hooks/pre-commit
new file mode 100755
index 0000000..5dca88b
--- /dev/null
+++ b/.github/git-hooks/pre-commit
@@ -0,0 +1,9 @@
+#!/bin/sh
+
+# Prettify all selected files
+ ./node_modules/.bin/prettier --write .
+
+# Add back the modified/prettified files to staging
+git add .
+
+exit 0
\ No newline at end of file
diff --git a/.gitignore b/.gitignore
index 4fc03a5..5476be3 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,4 +1,6 @@
-/.metadata/
+# Node
+/node_modules/
+package
# Maven
/target/
/com.aobuchow.themes.spectrum/target/
@@ -7,5 +9,6 @@
/bin/
# Eclipse Core
/.settings/
+/.metadata/
# JDT-specific (Eclipse Java Development Tools)
.classpath
\ No newline at end of file
diff --git a/.prettierignore b/.prettierignore
new file mode 100644
index 0000000..5b03913
--- /dev/null
+++ b/.prettierignore
@@ -0,0 +1,6 @@
+/node_modules/
+README.MD
+.github/workflows/
+com.aobuchow.themes.spectrum/bin/
+package.json
+package-lock.json
\ No newline at end of file
diff --git a/.prettierrc.json b/.prettierrc.json
new file mode 100644
index 0000000..193fd8e
--- /dev/null
+++ b/.prettierrc.json
@@ -0,0 +1,12 @@
+{
+ "semi": false,
+ "singleQuote": true,
+ "overrides": [
+ {
+ "files": "com.aobuchow.themes.spectrum/css/preference_styles.css",
+ "options": {
+ "printWidth": 50
+ }
+ }
+ ]
+}
diff --git a/com.aobuchow.themes.spectrum/.externalToolBuilders/Prettier-Format.launch b/com.aobuchow.themes.spectrum/.externalToolBuilders/Prettier-Format.launch
new file mode 100644
index 0000000..ec5a075
--- /dev/null
+++ b/com.aobuchow.themes.spectrum/.externalToolBuilders/Prettier-Format.launch
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/com.aobuchow.themes.spectrum/.project b/com.aobuchow.themes.spectrum/.project
index 5f4a8b6..6492811 100644
--- a/com.aobuchow.themes.spectrum/.project
+++ b/com.aobuchow.themes.spectrum/.project
@@ -20,6 +20,16 @@
+
+ org.eclipse.ui.externaltools.ExternalToolBuilder
+ auto,
+
+
+ LaunchConfigHandle
+ <project>/.externalToolBuilders/Prettier-Format.launch
+
+
+
org.eclipse.pde.PluginNature
diff --git a/package-lock.json b/package-lock.json
new file mode 100644
index 0000000..1b598b9
--- /dev/null
+++ b/package-lock.json
@@ -0,0 +1,14 @@
+{
+ "name": "eclipse-spectrum-theme-dev",
+ "version": "1.0.0",
+ "lockfileVersion": 1,
+ "requires": true,
+ "dependencies": {
+ "prettier": {
+ "version": "2.0.5",
+ "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.0.5.tgz",
+ "integrity": "sha512-7PtVymN48hGcO4fGjybyBSIWDsLU4H4XlvOHfq91pz9kkGlonzwTfYkaIEwiRg/dAJF9YlbsduBAgtYLi+8cFg==",
+ "dev": true
+ }
+ }
+}
diff --git a/package.json b/package.json
new file mode 100644
index 0000000..834d590
--- /dev/null
+++ b/package.json
@@ -0,0 +1,22 @@
+{
+ "name": "eclipse-spectrum-theme-dev",
+ "version": "1.0.0",
+ "description": "Development utilities for Eclipse Spectrum Theme",
+ "main": "index.js",
+ "scripts": {
+ "format": "./node_modules/prettier/bin-prettier.js --write ."
+ },
+ "repository": {
+ "type": "git",
+ "url": "git+https://github.com/AObuchow/Eclipse-Spectrum-Theme.git"
+ },
+ "author": "AObuchow",
+ "license": "SEE LICENSE IN https://github.com/AObuchow/Eclipse-Spectrum-Theme/blob/master/LICENSE",
+ "bugs": {
+ "url": "https://github.com/AObuchow/Eclipse-Spectrum-Theme/issues"
+ },
+ "homepage": "https://github.com/AObuchow/Eclipse-Spectrum-Theme#readme",
+ "devDependencies": {
+ "prettier": "2.0.5"
+ }
+}