--- layout: get-started title: Working with Gulp group: getting-started toc: true ---
As has been mentioned in previous section, Gulp is a JavaScript task runner. It helps with performing repetitive tasks like minification, compilation, unit testing, linting, etc. This is possible thanks to extensive Gulp Plugins library.
Gulp tasks are already set up for you. They are stored inside furnitor/gulpfile.js. But in order to
have access to them via you Command Line tool you will need to install gulp-cli node package. Gulp CLI stands for Gulp Command Line
Interface.
To do that type following line in your terminal:
npm install -g gulp-cli
* if you are on Mac make sure to use sudo to install packages globally otherwise you may runt into error.
dist/vendors folder then moves vendor libraries from /site/_assets/vendors directory
to dist and
js/bootstrap directory to dist/vendors/bootstrap
folder. Please check this article explaining how to add new vendor plugin to your project - Installing Vendor
plugins with npm and
Gulp
/site/_assets/images to /dist/images
theme.js
file from site/_assets/js folder to dist/js/theme.min.js file which linked to your
HTML document.
.html and .md from
site folder into HTML
in dist folder.
.scss files into non-minified CSS
(css/themes.css). From /site/_assets/scss to dist folder.
.css files into minified CSS
(css/themes.min.css). From /site/_assets/scss to dist folder.
watch-css task. It will watch changes of your
.scss files and automatically compile them into .css.
watch-js task. It will watch changes of your
.js files and automatically compile them into .js.
watch-images task. It will watch changes of
your
images files and automatically copy them into /dist/images.
watch task. It will watch changes of your .scss / .js
/ .html / .md files and automatically compile them into .css / .js / .html.
Now, when you are equiped with all necessary tools and dev invironment is all set you are ready to dive into Around customization.
Take some time to familiarize yourself with Project Structure.