diff --git a/.gitignore b/.gitignore
index f0ecf7b3277f6fc4d0c9d36bb34af5a7e77148a9..78f0b4ff60d2a69216c6f3dfe1b825cef4a028e2 100644
--- a/.gitignore
+++ b/.gitignore
@@ -8,4 +8,5 @@ TAGS
 .bash_history
 .idea
 .composer
-**/.sass-cache/
\ No newline at end of file
+**/.sass-cache/
+node_modules
\ No newline at end of file
diff --git a/gruntfile.js b/gruntfile.js
new file mode 100644
index 0000000000000000000000000000000000000000..5afcd1a86793dd06373a3e7b8db71a81ebae78d6
--- /dev/null
+++ b/gruntfile.js
@@ -0,0 +1,112 @@
+module.exports = function (grunt) {
+    grunt.initConfig({
+        pkg  : grunt.file.readJSON('package.json'),
+        // ADAPT THIS FOR FOUNDATION BASE THEME
+        sass : {
+            dist: {
+                options: {
+                    outputStyle: 'expanded' // specify style here
+                },
+                files: [{
+                    expand: true, // allows you to specify directory instead of indiv. files
+                    cwd: 'themes/foundation5/scss', // current working directory
+                    src: ['**/*.scss'],
+                    dest: 'themes/foundation5/css',
+                    ext: '.css'
+                }]
+            },
+            // ADAPT THIS FOR FINC THEME
+            distfinc: {
+                options: {
+                    outputStyle: 'expanded' // specify style here
+                },
+                files: [{
+                    expand: true, // allows you to specify directory instead of indiv. files
+                    cwd: 'themes/finc/scss', // current working directory
+                    src: ['**/*.scss'],
+                    dest: 'themes/finc/css',
+                    ext: '.css'
+                }]
+            },
+            // ADAPT THIS FOR HOUSE-specific THEMES
+            distDE_15: {
+                options: {
+                    outputStyle: 'expanded' // specify style here
+                },
+                files: [{
+                    expand: true, // allows you to specify directory instead of indiv. files
+                    cwd: 'themes/de_15/scss', // current working directory
+                    src: ['**/*.scss'],
+                    dest: 'themes/de_15/css',
+                    ext: '.css'
+                }]
+            },
+            // to here
+            // ADAPT THIS FOR HOUSE-specific THEMES
+            distDE_GLA1: {
+                options: {
+                    outputStyle: 'expanded' // specify style here
+                },
+                files: [{
+                    expand: true, // allows you to specify directory instead of indiv. files
+                    cwd: 'themes/de_gla1/scss', // current working directory
+                    src: ['**/*.scss'],
+                    dest: 'themes/de_gla1/css',
+                    ext: '.css'
+                }]
+            },
+            // to here
+            // ADAPT THIS FOR HOUSE-specific THEMES
+            distDE_BN3: {
+                options: {
+                    outputStyle: 'expanded' // specify style here
+                },
+                files: [{
+                    expand: true, // allows you to specify directory instead of indiv. files
+                    cwd: 'themes/de_bn3/scss', // current working directory
+                    src: ['**/*.scss'],
+                    dest: 'themes/de_bn3/css',
+                    ext: '.css'
+                }]
+            },
+            // to here
+            // ADAPT THIS FOR HOUSE-specific THEMES
+            distDE_J59: {
+                options: {
+                    outputStyle: 'expanded' // specify style here
+                },
+                files: [{
+                    expand: true, // allows you to specify directory instead of indiv. files
+                    cwd: 'themes/de_j59/scss', // current working directory
+                    src: ['**/*.scss'],
+                    dest: 'themes/de_j59/css',
+                    ext: '.css'
+                }]
+            },
+            // to here
+            // ADAPT THIS FOR HOUSE-specific THEMES
+            distADLR_LINK: {
+                options: {
+                    outputStyle: 'expanded' // specify style here
+                },
+                files: [{
+                    expand: true, // allows you to specify directory instead of indiv. files
+                    cwd: 'themes/adlr_link/scss', // current working directory
+                    src: ['**/*.scss'],
+                    dest: 'themes/adlr_link/css',
+                    ext: '.css'
+                }]
+            }
+            // to here - don't forget comma after brace above  when adding new house
+        },
+        watch: {
+            css: {
+                files: '**/*.scss',
+                tasks: ['sass']
+            }
+        }
+    });
+    grunt.loadNpmTasks('grunt-sass');
+    grunt.loadNpmTasks('grunt-contrib-watch');
+    grunt.registerTask('default', ['watch']);
+};
\ No newline at end of file
diff --git a/package.json b/package.json
new file mode 100644
index 0000000000000000000000000000000000000000..117f346a7e154113bd620849c6aea24e92070eed
--- /dev/null
+++ b/package.json
@@ -0,0 +1,15 @@
+{
+  "name": "vufind2-foundation",
+  "version": "1.0.0",
+  "description": "FNDTN5 theme for Vufind",
+  "main": "gruntfile.js",
+  "dependencies": {
+    "grunt-contrib-watch": "^0.6.1",
+    "grunt-sass": "^1.0.0"
+  },
+  "devDependencies": {
+    "grunt": "~0.4.5",
+    "grunt-sass": "~1.0.0",
+    "grunt-contrib-watch": "~0.6.1"
+  }
+}