PHPackages                             coringawc/filament-tutorials - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Admin Panels](/categories/admin)
4. /
5. coringawc/filament-tutorials

ActiveLibrary[Admin Panels](/categories/admin)

coringawc/filament-tutorials
============================

Filament plugin for interactive panel tutorials powered by Driver.js and stable targets.

v0.1.18(1mo ago)013↓80%MITPHPPHP ^8.4CI failing

Since Jul 8Pushed 1mo agoCompare

[ Source](https://github.com/CoringaWc/filament-tutorials)[ Packagist](https://packagist.org/packages/coringawc/filament-tutorials)[ Docs](https://github.com/CoringaWc/filament-tutorials)[ RSS](/packages/coringawc-filament-tutorials/feed)WikiDiscussions main Synced 1w ago

READMEChangelog (4)Dependencies (39)Versions (20)Used By (0)

Filament Tutorials
==================

[](#filament-tutorials)

Interactive tutorials for Filament v5 panels, powered by Driver.js and stable, Filament-aware targets.

The package registers its assets only on panels where the plugin is enabled, discovers tutorial classes by panel, renders the tutorial launcher only on pages that have a guide, and can persist first-run progress per authenticated user.

Installation
------------

[](#installation)

Install the package and publish its configuration and migration:

```
composer require coringawc/filament-tutorials
php artisan vendor:publish --tag=filament-tutorials-config
php artisan vendor:publish --tag=filament-tutorials-migrations
php artisan migrate
php artisan filament:assets
```

The migration is required while `filament-tutorials.progress.enabled` is `true`. Progress persistence is enabled by default.

Quick Start
-----------

[](#quick-start)

### 1. Register the plugin in the panel

[](#1-register-the-plugin-in-the-panel)

Open the panel provider where the tutorial should be available, such as `app/Providers/Filament/AppPanelProvider.php`, and register the plugin in the `panel()` method:

```
use CoringaWc\FilamentTutorials\FilamentTutorialsPlugin;
use Filament\Panel;

public function panel(Panel $panel): Panel
{
    return $panel
        ->id('app')
        ->plugin(
            FilamentTutorialsPlugin::make()
        );
}
```

The value passed to `Panel::id()` determines the default tutorial directory and namespace. It is not derived from the provider class name.

Panel idDefault directoryDefault namespace`app``app/Filament/App/Tutorials``App\Filament\App\Tutorials``admin``app/Filament/Admin/Tutorials``App\Filament\Admin\Tutorials`For another panel id, convert it to StudlyCase. A panel with id `agency-portal`, for example, discovers classes from `app/Filament/AgencyPortal/Tutorials` under the `App\Filament\AgencyPortal\Tutorials` namespace.

### 2. Create the tutorial class

[](#2-create-the-tutorial-class)

The package does not currently provide a dedicated `make:filament-tutorial` Artisan command. Create the class manually, or use Laravel's generic `make:class` command:

```
php artisan make:class Filament/App/Tutorials/ContractingListTutorial --no-interaction
```

For the `app` panel, the resulting file must be:

```
app/Filament/App/Tutorials/ContractingListTutorial.php

```

Replace the generated class with a tutorial that extends `FilamentTutorial`:

```
