Shepherd — Guide your users through a tour of your app.

Guide your users through a tour of your app

About Shepherd

Shepherd is an open-source JavaScript library for guiding users through your app. It lets you build product tours, user onboarding flows, trainings, and feature announcements as a sequence of steps — dialogs that attach to elements in your interface, highlight them with a modal overlay, and walk users through what to do next. Steps are positioned byFloating UI, so they never end up off screen or cropped by an overflow.

Shepherd ships with full keyboard navigation support, focus trapping, and a11y compliance via aria attributes, and its minimal default styles make it easy to match your product's look and feel. It works with React, Ember, Angular, Vue.js, ES Modules, or plain JavaScript, and is used in production by companies such as Google, Ally, and CodePen.

Who maintains Shepherd

Shepherd is maintained by Ship Shape, a software consultancy specializing in web app development. Development happens in the open onGitHub, where you can report issues, propose changes, and follow releases. The library is published to npm asshepherd.js.

Licensing

Shepherd is free for open-source, personal, and non-commercial projects under the AGPL-3.0 license. Commercial licenses fund the ongoing maintenance of the library, documentation, and community — seepricing for details, or read thedocumentation to get started.