PHPackages                             jordanpartridge/filament-skeleton - 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. [Framework](/categories/framework)
4. /
5. jordanpartridge/filament-skeleton

ActiveProject[Framework](/categories/framework)

jordanpartridge/filament-skeleton
=================================

The skeleton application for the Laravel framework.

1.1(1y ago)06[13 issues](https://github.com/jordanpartridge/filament-skeleton/issues)[1 PRs](https://github.com/jordanpartridge/filament-skeleton/pulls)MITPHPPHP ^8.2CI passing

Since Dec 5Pushed 4mo ago1 watchersCompare

[ Source](https://github.com/jordanpartridge/filament-skeleton)[ Packagist](https://packagist.org/packages/jordanpartridge/filament-skeleton)[ RSS](/packages/jordanpartridge-filament-skeleton/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (2)Dependencies (14)Versions (10)Used By (0)

Filament Skeleton
=================

[](#filament-skeleton)

[![Latest Version](https://camo.githubusercontent.com/224dec65daa1626985cc29a43c25fb5465965ae01358d904df4605ffb0e3bb10/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f762f72656c656173652f6a6f7264616e7061727472696467652f66696c616d656e742d736b656c65746f6e)](https://github.com/jordanpartridge/filament-skeleton/releases)[![License](https://camo.githubusercontent.com/ae749dfca15dab0330ac8e632c20b282fd4361166abbe74d4ffa7ed0435078e0/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6c6963656e73652f6a6f7264616e7061727472696467652f66696c616d656e742d736b656c65746f6e)](LICENSE.md)

What's included
---------------

[](#whats-included)

Filament template configured with some niceties

- [Filament pre-installed with Panels](https://filamentphp.com/docs/3.x/panels/installation)
- [Spatie Login Link](https://github.com/spatie/laravel-login-link) added to login screen [![login-screen.png](public/img/login-screen.png)](public/img/login-screen.png)
- [Filament Activity Log](https://github.com/pxlrbt/filament-activity-log) User event logging and restore functionality [![activity-log-filament.gif](public/img/activity-log-filament.gif)](public/img/activity-log-filament.gif)
- Advanced Permission Management System

Getting Started
---------------

[](#getting-started)

Option 1: Use Template in Github [![use-template-github.gif](public/img/use-template-github.gif)](public/img/use-template-github.gif)

Permission Management System
----------------------------

[](#permission-management-system)

The skeleton includes a robust permission management system built on top of Laravel's model system. This system provides fine-grained access control for all your models with minimal setup.

### Key Features

[](#key-features)

- Automatic CRUD permission generation for models
- Role-based access control
- Flexible permission naming conventions
- Easy integration with Filament resources
- Permission caching for optimal performance

### Basic Usage

[](#basic-usage)

1. Extend the BaseModel in your models:

```
use App\Models\Base\BaseModel;

class Post extends BaseModel
{
    protected static function booted()
    {
        parent::booted();
        static::registerModelPermissions();
    }
}
```

2. Check permissions in your code:

```
// In controllers
if ($post->checkPermission(auth()->user(), 'update')) {
    // Proceed with update
}

// In Blade templates
@can('update', $post)
    Edit Post
@endcan

// In Filament resources
public static function canViewAny(): bool
{
    return auth()->user()->can('view post');
}
```

### Custom Permissions

[](#custom-permissions)

Add custom permissions beyond CRUD operations:

```
class Post extends BaseModel
{
    public static function getStandardPermissions(): array
    {
        return array_merge(parent::getStandardPermissions(), [
            'publish',
            'archive'
        ]);
    }
}
```

### Middleware Integration

[](#middleware-integration)

Protect your routes with the included middleware:

```
Route::get('/posts/{post}/edit', [PostController::class, 'edit'])
    ->middleware('check.permission:update');
```

### Permission Naming Convention

[](#permission-naming-convention)

Permissions follow a consistent naming pattern:

- `view post`
- `create post`
- `update post`
- `delete post`
- `publish post` (custom)
- `archive post` (custom)

### Best Practices

[](#best-practices)

1. **Cache Permissions:**

    - Permissions are automatically cached
    - Cache is invalidated on model updates
    - Configurable cache duration
2. **Role Organization:**

    - Create roles based on business domains
    - Assign minimum required permissions
    - Use role inheritance where appropriate
3. **Security Considerations:**

    - Always check permissions on both frontend and backend
    - Use middleware for route protection
    - Implement proper permission checking in Filament resources

### Implementation Example

[](#implementation-example)

Here's a complete example of implementing permissions in a Filament resource:

```
use App\Filament\Resources\PostResource;
use Filament\Resources\Resource;

class PostResource extends Resource
{
    public static function canViewAny(): bool
    {
        return auth()->user()->can('view post');
    }

    public static function canCreate(): bool
    {
        return auth()->user()->can('create post');
    }

    public static function canEdit(Model $record): bool
    {
        return auth()->user()->can('update post');
    }

    public static function canDelete(Model $record): bool
    {
        return auth()->user()->can('delete post');
    }

    // Custom action
    public function publish()
    {
        abort_unless(auth()->user()->can('publish post'), 403);
        // Publication logic
    }
}
```

### Command Line Tools

[](#command-line-tools)

The skeleton includes artisan commands for permission management:

```
# List all permissions
php artisan permissions:list

# Sync permissions for all models
php artisan permissions:sync

# Clear permission cache
php artisan permissions:clear-cache
```

### Extending the System

[](#extending-the-system)

You can extend the permission system by:

1. Creating custom permission providers
2. Adding new permission types
3. Implementing custom caching strategies
4. Adding permission inheritance
5. Creating permission groups

For more detailed information, check the [documentation](docs/permissions.md).

###  Health Score

34

—

LowBetter than 77% of packages

Maintenance60

Regular maintenance activity

Popularity4

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity57

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 ~0 days

Total

2

Last Release

522d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/a6bb27de88a541a632427686306c8fc56366d72582f6a3316d20500efe7971f3?d=identicon)[conduit-ui](/maintainers/conduit-ui)

---

Top Contributors

[![jordanpartridge](https://avatars.githubusercontent.com/u/9040417?v=4)](https://github.com/jordanpartridge "jordanpartridge (18 commits)")

---

Tags

frameworklaravel

###  Code Quality

TestsPest

Code StyleLaravel Pint

### Embed Badge

![Health badge](/badges/jordanpartridge-filament-skeleton/health.svg)

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

###  Alternatives

[nasirkhan/laravel-starter

A CMS like modular Laravel starter project.

1.4k2.7k](/packages/nasirkhan-laravel-starter)[codewithdennis/larament

Larament is a time-saving starter kit to quickly launch Laravel 13.x projects. It includes FilamentPHP 5.x pre-installed and configured, along with additional tools and features to streamline your development workflow.

3691.5k](/packages/codewithdennis-larament)[raugadh/fila-starter

Laravel Filament Starter.

614.9k](/packages/raugadh-fila-starter)[openclassify/openclassify

The skeleton application for the Laravel framework.

2992.5k](/packages/openclassify-openclassify)[ercogx/laravel-filament-starter-kit

This is a Filament v3 Starter Kit for Laravel 12, designed to accelerate the development of Filament-powered applications.

401.5k](/packages/ercogx-laravel-filament-starter-kit)

PHPackages © 2026

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