PHPackages                             rolland97/filament-resource-customizer - 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. [Authentication &amp; Authorization](/categories/authentication)
4. /
5. rolland97/filament-resource-customizer

ActiveLibrary[Authentication &amp; Authorization](/categories/authentication)

rolland97/filament-resource-customizer
======================================

Customize Filament resources with optional Filament Shield permissions scaffolding.

v1.1.0(3mo ago)4155↓50%[2 PRs](https://github.com/rolland97/filament-resource-customizer/pulls)MITPHPPHP ^8.3|^8.4CI passing

Since Jan 22Pushed 1mo agoCompare

[ Source](https://github.com/rolland97/filament-resource-customizer)[ Packagist](https://packagist.org/packages/rolland97/filament-resource-customizer)[ Docs](https://github.com/rolland97/filament-resource-customizer)[ GitHub Sponsors](https://github.com/Rolland97)[ RSS](/packages/rolland97-filament-resource-customizer/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (3)Dependencies (13)Versions (6)Used By (0)

Filament Resource Customizer
============================

[](#filament-resource-customizer)

[![Latest Version on Packagist](https://camo.githubusercontent.com/4388ce22b1d84bedb7d41e42b7af0e42c819dd4036ffdf00b9e4c9d9d8620287/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f726f6c6c616e6439372f66696c616d656e742d7265736f757263652d637573746f6d697a65722e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/rolland97/filament-resource-customizer)[![GitHub Tests Action Status](https://camo.githubusercontent.com/1ee86b60bb399915facdeac927c3e3a03697e65bcf553fbc4cd56e9bf8f9945c/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f616374696f6e732f776f726b666c6f772f7374617475732f726f6c6c616e6439372f66696c616d656e742d7265736f757263652d637573746f6d697a65722f72756e2d74657374732e796d6c3f6272616e63683d6d61696e266c6162656c3d7465737473267374796c653d666c61742d737175617265)](https://github.com/rolland97/filament-resource-customizer/actions?query=workflow%3Arun-tests+branch%3Amain)[![GitHub Code Style Action Status](https://camo.githubusercontent.com/74bada8fcb02f9792733c588b41867d8a7eb37740247174a95696eb37acbe3b5/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f616374696f6e732f776f726b666c6f772f7374617475732f726f6c6c616e6439372f66696c616d656e742d7265736f757263652d637573746f6d697a65722f6669782d7068702d636f64652d7374796c652d6973737565732e796d6c3f6272616e63683d6d61696e266c6162656c3d636f64652532307374796c65267374796c653d666c61742d737175617265)](https://github.com/rolland97/filament-resource-customizer/actions?query=workflow%3A%22Fix+PHP+code+style+issues%22+branch%3Amain)[![Total Downloads](https://camo.githubusercontent.com/dcbf9d0d3d0f21156cfbae0c5a8e83ea3a4600cbcba6b96a8dba4c788fbefce6/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f726f6c6c616e6439372f66696c616d656e742d7265736f757263652d637573746f6d697a65722e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/rolland97/filament-resource-customizer)

Customize Filament resources with optional Filament Shield permissions scaffolding.

What it does
------------

[](#what-it-does)

- Splits a Filament resource table into dedicated column, filter, and action classes.
- Generates a permissions class per resource (optional).
- Builds or updates Filament Shield `resources.manage` entries.

Requirements
------------

[](#requirements)

- PHP 8.3+ | 8.4+
- Laravel 12
- Filament 4 or 5

This package is recommended alongside Filament Shield for generating `resources.manage` entries, but it also works without Filament Shield. You can disable permission class generation by setting `permissions.enabled` to `false` in the config.

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

[](#installation)

```
composer require rolland97/filament-resource-customizer --dev
```

Publish the config:

```
php artisan vendor:publish --tag="filament-resource-customizer-config"
```

Publish stubs (optional):

```
php artisan vendor:publish --tag="filament-resource-customizer-stubs"
```

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

[](#quick-start)

1. Customize a resource:

```
php artisan filament:customize-resource DepartmentResource
```

(`DepartmentResource` is just an example — replace it with your actual resource class.)

2. Or run everything at once:

```
php artisan filament:customize-resource-all DepartmentResource
```

Usage
-----

[](#usage)

Customize a resource by splitting tables/filters/actions into separate classes:

```
php artisan filament:customize-resource DepartmentResource
```

Target a specific panel:

```
php artisan filament:customize-resource DepartmentResource --panel=Admin
```

Generate a permissions class for a resource:

```
php artisan filament:make-resource-permissions DepartmentResource
```

Generate Filament Shield resources configuration:

```
php artisan filament:shield-config
```

Generate for a specific panel:

```
php artisan filament:shield-config --panel=Admin
```

Merge with existing resources:

```
php artisan filament:shield-config --merge
```

Run all steps (customize, permissions, and Shield config) in one command:

```
php artisan filament:customize-resource-all DepartmentResource
```

Run all steps for a specific panel:

```
php artisan filament:customize-resource-all DepartmentResource --panel=Admin
```

If `resources`, `resources.manage`, `resources.subject`, or `resources.exclude` are missing, the command will create them.

Commands
--------

[](#commands)

CommandDescription`filament:customize-resource`Generate table, column, filter, and action classes`filament:make-resource-permissions`Generate only the permissions class`filament:shield-config`Update Filament Shield `resources.manage``filament:customize-resource-all`Run customize + permissions + Shield configConfiguration
-------------

[](#configuration)

Key options in `config/filament-resource-customizer.php`:

- `resources_path`: Where Filament resources live; accepts a string or array (default: `app/Filament/Resources`)
- `stubs_path`: Custom stub directory (default: `stubs/filament-resource-customizer`)
- `panels.auto_detect`: Auto-detect Filament panel resource paths under `app/Filament/*/Resources` (default: `true`)
- `permissions.enabled`: Toggle permissions generation
- `permissions.placement`: `resource`, `parent`, or `custom`
- `permissions.custom_path`: Target path if placement is `custom`
- `permissions.namespace`: Override permissions namespace
- `shield.default_methods`: Default methods when no permissions class exists
- `shield.static_resources`: Always include these resources in `manage`
- `shield.merge`: Default merge behavior for `filament:shield-config`

### Filament Shield integration

[](#filament-shield-integration)

If you use Filament Shield, the `filament:shield-config` command will update `resources.manage`. By default it replaces entries unless you:

- pass `--merge`, or
- set `shield.merge` to `true` in the config.

### Multi-panel setups

[](#multi-panel-setups)

You can use any combination of these:

- `--panel=Admin` to target a single panel for a command.
- `resources_path` as an array, e.g. `['app/Filament/Resources', 'app/Filament/Admin/Resources']`.
- `panels.auto_detect=true` to auto-add `app/Filament/*/Resources` alongside the configured paths.

Example Structure
-----------------

[](#example-structure)

Running the customize command for a resource will generate classes like these:

```
app/Filament/Resources/Department/Departments/
├── DepartmentResource.php
├── DepartmentPermissions.php
└── Tables/
    ├── DepartmentsTable.php
    ├── DepartmentsColumn.php
    ├── DepartmentsFilter.php
    ├── DepartmentsRecordAction.php
    └── DepartmentsToolbarAction.php

```

Testing
-------

[](#testing)

```
composer test
```

Changelog
---------

[](#changelog)

Please see [CHANGELOG](CHANGELOG.md) for more information.

License
-------

[](#license)

The MIT License (MIT). Please see [License File](LICENSE.md) for more information.

###  Health Score

44

—

FairBetter than 92% of packages

Maintenance85

Actively maintained with recent releases

Popularity18

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity55

Maturing project, gaining track record

 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.

###  Release Activity

Cadence

Every ~3 days

Total

3

Last Release

104d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/072504bf43e99fdc8f189025ab94c9e3881159c13e8302392b34ded98611fd26?d=identicon)[rolland97](/maintainers/rolland97)

---

Top Contributors

[![rolland97](https://avatars.githubusercontent.com/u/87228813?v=4)](https://github.com/rolland97 "rolland97 (19 commits)")

---

Tags

laravelgeneratorpermissionsfilamentRolland97filament-resource-customizer

###  Code Quality

TestsPest

Static AnalysisPHPStan

Code StyleLaravel Pint

### Embed Badge

![Health badge](/badges/rolland97-filament-resource-customizer/health.svg)

```
[![Health](https://phpackages.com/badges/rolland97-filament-resource-customizer/health.svg)](https://phpackages.com/packages/rolland97-filament-resource-customizer)
```

###  Alternatives

[spatie/laravel-permission

Permission handling for Laravel 12 and up

12.9k89.8M1.0k](/packages/spatie-laravel-permission)[bezhansalleh/filament-shield

Filament support for `spatie/laravel-permission`.

2.8k2.9M88](/packages/bezhansalleh-filament-shield)[ryangjchandler/laravel-cloudflare-turnstile

A simple package to help integrate Cloudflare Turnstile.

438896.6k2](/packages/ryangjchandler-laravel-cloudflare-turnstile)[chiiya/filament-access-control

Admin user, role and permission management for Laravel Filament

21847.2k](/packages/chiiya-filament-access-control)[caresome/filament-auth-designer

Transform Filament's default auth pages into stunning, brand-ready experiences

3916.8k2](/packages/caresome-filament-auth-designer)

PHPackages © 2026

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