Are you happy with your logging solution? Would you help us out by taking a 30-second survey? Click here


Guide your users through a tour of your app #hubspot-open-source

Star full 4f7b624809470f25b6493d5a7b30d9b9cb905931146e785d67c86ef0c205a402Star half bd79095782ee4930099175e5ce7f4c89fa3ddabcd56fffcc7c74f6f2a2d46b27Star blank 374f33e4d622a2930833db3cbea26b5d03dc44961a6ecab0b9e13276d97d6682Star blank 374f33e4d622a2930833db3cbea26b5d03dc44961a6ecab0b9e13276d97d6682Star blank 374f33e4d622a2930833db3cbea26b5d03dc44961a6ecab0b9e13276d97d6682 (1 ratings)
Rated 1.5 out of 5
Subscribe to updates I use shepherd

Statistics on shepherd

Number of watchers on Github 5527
Number of open issues 80
Average time to close an issue 2 months
Main language JavaScript
Average time to merge a PR 24 days
Open pull requests 18+
Closed pull requests 6+
Last commit almost 3 years ago
Repo Created almost 6 years ago
Repo Last Updated over 1 year ago
Size 1.49 MB
Homepage http://github.hub...
Organization / Authorhubspot
Latest Releasev1.2.0
Page Updated
Do you use shepherd? Leave a review!
View open issues (80)
View shepherd activity
View on github
Fresh, new opensource launches 🚀🚀🚀
Trendy new open source projects in your inbox! View examples

Subscribe to our mailing list

Evaluating shepherd for your project? Score Explanation
Commits Score (?)
Issues & PR Score (?)
What people are saying about shepherd Leave a review
Events are not working as expected, needs tone of extra work to get it right



Guide your users through a tour of your app



Installing via npm and bower will bring in the above dependencies as well.


$ npm install tether-shepherd


$ bower install tether-shepherd


let tour = new Shepherd.Tour({
  defaults: {
    classes: 'shepherd-theme-arrows'

tour.addStep('example', {
  title: 'Example Shepherd',
  text: 'Creating a Shepherd is easy too! Just create ...',
  attachTo: '.hero-example bottom',
  advanceOn: '.docs-link click'


API documentation



We encourage contributions of all kinds. If you would like to contribute in some way, please review our guidelines for contributing.


Copyright © 2015 HubSpot - MIT License

shepherd open issues Ask a question     (View All Issues)
  • almost 3 years cancelling the tour when clicking outside the element
  • almost 3 years unnecessary empty space at bottom of step panel
  • about 3 years Arrows not added when step's text contains newlines
  • about 3 years Seeming contradiction in documentation
  • about 3 years Console warning in firefox "mutating the [[Prototype]] of an object will cause your code to run very slowly; instead create the object with the correct initial [[Prototype]] value using Object.create"
  • about 3 years Arrows not being added to pinned tethers (ones where they are successfully attached)
  • about 3 years Way to get user to confirm quitting a tutorial
  • about 3 years Incorrect step position when anchored to target within position fixed container
  • about 3 years Clarify attachTo documentation/add default direction
  • about 3 years shepherd-step not placed in proper position
  • over 3 years Shepherd not tethered, centered instead.
  • over 3 years Can I use shepherd tour on Angular?
  • over 3 years How can I use Sheperd with Ionic Framework?
  • over 3 years Trouble loading resources in your docs
  • over 3 years complete() function does not remove shepherd elements from the DOM
  • over 3 years Triggering click of an page element on tour step "show"
  • over 3 years showCancelLink yields weird characters
  • over 3 years Anchoring Issues / Scrolling Issues
  • over 3 years Steps not rendering correctly.
  • over 3 years Shepherd.Tour constructor definition of steps errors with showOn being undefined
  • over 3 years attach steps to their targeted elements onBeforeShow
  • over 3 years Rethethering issue when target element is re-rendered.
  • over 3 years remove shepherd-target class on
  • over 3 years Tour does not advance when a button is clicked
  • over 3 years Undocumented `scrollToHandler` option
  • over 3 years [Eager App] Changing the position property doesn't properly update using live reload
  • over 3 years Positioning 'left' or 'right' has no arrow
  • over 3 years advanceOn doesn't complete tour
  • almost 4 years advanceOn blur?
  • almost 4 years Vertical alignment off centre
shepherd open pull requests (View All Pulls)
  • Change UTF-8 Character to escaped Unicode
  • Patch fix to return the Step object in addStep method (Issue #76)
  • Add support for all Tether attachment positions
  • All tether position and arrow fix
  • Change X to HTML Equivalent: ✕
  • check for null returned when an element for a step is not found
  • Adds Bower install to postinstall
  • Way to get user to confirm quiting a tutorial
  • Add Repo to package.json
  • Close button as HTML entity
  • Ability to set classPrefix as default value
  • Allow for timeout before advanceOn
  • Change `matchesSelector` to improve advanceOn functionality
  • Added support to open Shepherd inside <dialog> elements with the correct offset.
  • Added a demo tour at Simple Planner
  • Add button option "defaultButtonCls"
  • Change positioning engine from Tether to Popper.js
  • Removing duplicate call to hide step
shepherd questions on Stackoverflow (View All Questions)
  • Ember Shepherd doesn't recognize DOM changes
  • Shepherd JS Librarie usage throws error
  • how to do the 1st step in Non-metric MultiDimensional Scaling using Kruscal-Shepherd Algorithm?
  • sun gridengine error "shepherd of job 119232.1 exited with exit status = 26"
shepherd list of languages used
Other projects in JavaScript