
Welcome to the Laravel Driver.js documentation, your definitive guide to building seamless product tours, feature highlights, and contextual help for your Laravel applications. Laravel Driver.js provides Streamlined Tour Operations powered by Driver.js.
Introduction
In modern web applications, user onboarding and feature discovery are crucial for a great user experience. That's where Laravel Driver.js comes in. It wraps the powerful Driver.js library in a fluent, Laravel-idiomatic PHP API, allowing you to define tours, highlights, and modals entirely from your backend — no inline JavaScript required.
Whether you're building a guided onboarding flow for new users, spotlighting a recently released feature, or providing contextual help tooltips, Laravel Driver.js makes it effortless. The fluent API covers the core Driver.js tour, highlight, popover, and callback workflows while keeping everything in PHP.
What It Looks Like
A tour running in the TourDeck demo app — real overlay, real popover, real progress text:

More in the Demo App section.
Features
Fluent PHP Builder: Build tours and highlights using a clean, chainable API inspired by Laravel's Eloquent ORM. Write PHP, get JavaScript — it's that simple.
Full Driver.js API Coverage: Every configuration option, lifecycle hook, and method from Driver.js is mapped to a fluent PHP method. Overlay colors, popover positioning, button text, keyboard controls — it's all here.
Tour Completion Tracking: Automatically remember when users finish tours so they don't see them again. Supports session, cache, and database storage drivers out of the box.
Blade Directives: Include assets, render tours, and highlight elements directly from your Blade templates with expressive directives like
@driverjsAssetsand@driverjsTour.Step Builder with Positioning Shortcuts: Add steps with precise control using shorthand methods like
->top(),->right(),->alignCenter(), or use the quickstep()method for common cases.Lifecycle Hooks: Register JavaScript callbacks for every Driver.js lifecycle event — from highlight started to tour destroyed — including a built-in confirm-before-exit pattern.
Multiple Asset Sources: Load Driver.js from CDN with zero configuration, or bundle it with Vite for production. Switch with a single config change.
AJAX Completion Tracking: Tour completions are automatically tracked via an AJAX endpoint, so your backend always knows which tours users have seen.
Getting Started
Ready to guide your users? Dive into the straightforward installation process outlined in the Installation section.
Support My Work ☕
If you find Laravel Driver.js helpful and would like to support my work, you can buy me a coffee. Your support will help keep this project alive and thriving. It's a small token of appreciation that goes a long way.
License 🔐
Laravel Driver.js is open-sourced software licensed under the MIT License (MIT). Please see License File for more information.
Let's embark on a journey towards a more intuitive user experience with Laravel Driver.js!
Made with ❤️ from Pakistan
