PHPackages                             edrisaturay/filament-starter - 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. edrisaturay/filament-starter

ActiveLibrary[Admin Panels](/categories/admin)

edrisaturay/filament-starter
============================

A reusable Filament starter package.

055PHP

Since Feb 7Pushed 4mo agoCompare

[ Source](https://github.com/edrisaturay/filament-starter)[ Packagist](https://packagist.org/packages/edrisaturay/filament-starter)[ RSS](/packages/edrisaturay-filament-starter/feed)WikiDiscussions main Synced 3w ago

READMEChangelogDependenciesVersions (1)Used By (0)

Filament Starter Package
========================

[](#filament-starter-package)

[![Latest Version on Packagist](https://camo.githubusercontent.com/fd285ff9e5c020f4ad200d5f6c654c991afb028ebfbefaee3149fb5be6799bd5/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f65647269736174757261792f66696c616d656e742d737461727465722e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/edrisaturay/filament-starter)[![Total Downloads](https://camo.githubusercontent.com/d405268d3a98c29446c1ea3c6971c4d56d6fb14d73a86a06c3fbc70282ae43a8/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f65647269736174757261792f66696c616d656e742d737461727465722e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/edrisaturay/filament-starter)[![GitHub](https://camo.githubusercontent.com/5de3e8d2a1f0fa3690d39a9c982f4730989cded1d353231a080b5f6dc7df6cfd/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6c6963656e73652f65647269736174757261792f66696c616d656e742d737461727465722e7376673f7374796c653d666c61742d737175617265)](https://github.com/edrisaturay/filament-starter/blob/main/LICENSE.md)

The core engine of the Filament Starter Kit. This package provides centralized plugin management, multi-panel synchronization, and administrative infrastructure for Filament v5 applications.

### Installation

[](#installation)

You can install the package via composer:

```
composer require edrisaturay/filament-starter:dev-main
```

#### Troubleshooting Dependency Conflicts

[](#troubleshooting-dependency-conflicts)

If you encounter a conflict with `webmozart/assert` (e.g., when it is locked to `^2.0` in your project), you may need to allow Composer to downgrade it to `1.12.1`, which is the version required by many core Laravel and Filament dependencies (like `spatie/laravel-data` via `phpdocumentor/reflection`).

Try running:

```
composer require edrisaturay/filament-starter:dev-main -W
```

If that fails, you can manually set the version of `webmozart/assert` in your root `composer.json` before installing:

```
composer require webmozart/assert:1.12.1
```

Key Components
--------------

[](#key-components)

### 1. Plugin Registry (`Support/PluginRegistry.php`)

[](#1-plugin-registry-supportpluginregistryphp)

A centralized list of all managed Filament plugins. It defines how each plugin is installed, its default state, and whether it's critical for system stability.

### 2. Platform Management

[](#2-platform-management)

The package provides resources for managing the platform directly within your existing panels:

- **Plugin Management**: Enable/disable plugins per panel and tenant.
- **Panel Snapshots**: Track registered panels and their configurations.
- **System Status**: Real-time health checks for the platform and its dependencies.
- **Audit Logs**: Track all configuration changes made via the Platform UI.

### 4. Plugin Global Config

[](#4-plugin-global-config)

The starter kit allows centralized configuration of plugins via `config/filament-starter.php`. For example, `filament-backgrounds` settings are managed there.

### 5. Developer Gate

[](#5-developer-gate)

Secure any route or panel using a static password for developer-only access.

- Enabled/Disabled via config.
- Configurable password.
- Middleware: `starter.developer-gate`.

### 4. Plugin Synchronization (`Support/PluginSyncManager.php`)

[](#4-plugin-synchronization-supportpluginsyncmanagerphp)

Ensures that the database overrides are always in sync with the code-based registry. It automatically handles the creation of default records and cleanup of stale entries.

### 5. Platform Doctor (`Support/Doctor.php`)

[](#5-platform-doctor-supportdoctorphp)

A diagnostic tool that verifies:

- Platform installation status.
- Presence of panel snapshots.
- Availability of required plugin classes and packages.
- Integrity of tenancy configurations.

Commands
--------

[](#commands)

- `php artisan starter:install`: The primary entry point for setting up the platform. Now supports interactive configuration of plugin publishing, activation, and safety markers.
- `php artisan starter:doctor`: Diagnostic command for health monitoring.
- `php artisan starter:update`: Refreshes snapshots and synchronizes the plugin registry.
- `php artisan starter:safe-mode`: Emergency command to bypass plugin overrides.

Filament Backgrounds Support
----------------------------

[](#filament-backgrounds-support)

The starter kit integrates `swisnl/filament-backgrounds`.

- **Installation**: Run `starter:install` to set up background providers and interactive configuration.
- **Global Config**: Customize attribution, cache time (remember), and image providers in `config/filament-starter.php`.
- **Custom Images**: Supports `my-images` provider with a configurable directory.

Revive Recycle Bin Support
--------------------------

[](#revive-recycle-bin-support)

The starter kit integrates `promethys/revive` for centralized management of deleted records.

- **Scoping Control**: Configure User-scoping and Tenant-scoping globally via `config/filament-starter.php`.
- **Admin Visibility**: Define "Global Admin Panels" where admins can see all deleted records regardless of user or tenant.
- **Interactive Setup**: Run `starter:install` to configure scoping preferences and activate the recycle bin for specific panels.

### New Interactive Installation Features

[](#new-interactive-installation-features)

During `starter:install`, you can now:

1. **Publish Configs**: Interactively choose which plugin configuration files to publish to your application.
2. **Activate Plugins per Panel**: Select exactly which plugins should be enabled for each of your managed panels.
3. **Mark Dangerous Plugins**: Identify plugins that are critical for your system. Once marked, these plugins cannot be disabled via the UI, ensuring system stability.

Dynamic Panel Switcher
----------------------

[](#dynamic-panel-switcher)

The starter kit now includes a high-performance **Panel Switcher** powered by `bezhansalleh/filament-panel-switch`.

- **Seamless Transition**: Shift between "Control Center" (Admin) and "Operations" (Staff) with a sleek modal or slide-over interface.
- **Auto-Discovery**: Automatically lists all your panels or only those you've explicitly enabled via the Plugin Management UI.
- **Themed UI**: Includes custom icons (Shield, Identification, Book) and labels out of the box.
- **Theme Requirements**: To ensure the switcher looks great, add the following to your custom `theme.css`: ```
    @source '../../../../vendor/bezhansalleh/filament-panel-switch/resources/views/**/*.blade.php';
    ```

Configuration
-------------

[](#configuration)

The package behavior can be customized via `config/filament-starter.php`. Key settings include:

- `tenancy`: Configure multi-tenancy mode and identification strategy.
- `multilanguage`: Enable and configure supported locales.
- `superadmin`: Define the role required to access Platform Manager resources.

Usage in Panels
---------------

[](#usage-in-panels)

To use the starter kit in any panel, register the plugin and include the persistent middleware:

```
use EdrisaTuray\FilamentStarter\Filament\FilamentStarterPlugin;

public function panel(Panel $panel): Panel
{
    return $panel
        // ...
        ->middleware([
            'starter.developer-gate',
        ], isPersistent: true)
        ->plugins([
            FilamentStarterPlugin::make(),
        ]);
}
```

This will automatically register the Platform Manager resources (for authorized users) and resolve all enabled plugins for that panel.

User Model Setup
----------------

[](#user-model-setup)

Ensure your `User` model implements the required interfaces, traits, and methods. You can add them individually, or use the provided trait:

```
use EdrisaTuray\FilamentStarter\Concerns\HasStarterUserFeatures;
use Filament\Models\Contracts\FilamentUser;
use Filament\Models\Contracts\HasAvatar;

class User extends Authenticatable implements FilamentUser, HasAvatar
{
    use HasStarterUserFeatures;

    /** @use HasFactory */
    use HasFactory;
}
```

If you prefer to add them manually, include the following:

Traits:

```
use AuthenticationLoggable;
use CanAccessPanel;
use HasApiTokens;
use HasRoles;
use LogsActivity;
use Notifiable;
use TwoFactorAuthenticatable;
```

Methods:

```
public function getActivitylogOptions(): LogOptions
{
    return LogOptions::defaults()
        ->logAll();
}

public function getFilamentAvatarUrl(): ?string
{
    return $this->avatar_url ? Storage::url($this->avatar_url) : null;
}

public function canAccessPanel(Panel $panel): bool
{
    return true;
}
```

License
-------

[](#license)

The MIT License (MIT).

###  Health Score

20

—

LowBetter than 13% of packages

Maintenance51

Moderate activity, may be stable

Popularity8

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity12

Early-stage or recently created project

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

### Community

Maintainers

![](https://www.gravatar.com/avatar/95329b757401f7d19594b60cf196fef575ef365863207549dd320a28d03172e7?d=identicon)[edrisaa.turay](/maintainers/edrisaa.turay)

---

Top Contributors

[![edrisaturay](https://avatars.githubusercontent.com/u/21174548?v=4)](https://github.com/edrisaturay "edrisaturay (39 commits)")

### Embed Badge

![Health badge](/badges/edrisaturay-filament-starter/health.svg)

```
[![Health](https://phpackages.com/badges/edrisaturay-filament-starter/health.svg)](https://phpackages.com/packages/edrisaturay-filament-starter)
```

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
