# Intro.js v2.9.3 [](https://travis-ci.org/usablica/intro.js) > Better introductions for websites and features with a step-by-step guide for your projects. ## Where to get You can obtain your local copy of Intro.js from: **1)** This github repository, using ```git clone https://github.com/usablica/intro.js.git``` **2)** Using bower ```bower install intro.js --save``` **3)** Using npm ```npm install intro.js --save``` **4)** Download it from CDN ([1](http://www.jsdelivr.com/projects/intro.js), [2](https://cdnjs.com/libraries/intro.js)) ## How to use Intro.js can be added to your site in three simple steps: **1)** Include `intro.js` and `introjs.css` (or the minified version for production) in your page. Use `introjs-rtl.min.css` for Right-to-Left language support. > CDN hosted files are available at [jsDelivr](http://www.jsdelivr.com/projects/intro.js) (click Show More) & [cdnjs](https://cdnjs.com/libraries/intro.js). **2)** Add `data-intro` and `data-step` to your HTML elements. To add hints you should use `data-hint` attribute. For example: ```html ```` See all attributes [here](https://introjs.com/docs/intro/attributes/). **3)** Call this JavaScript function: ```javascript introJs().start(); ```` Optionally, pass one parameter to `introJs` function to limit the presentation section. **For example** `introJs(".introduction-farm").start();` runs the introduction only for elements with `class='introduction-farm'`.