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

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

aronpc/filament-starter-kit
===========================

Complete Filament starter kit with Shield (Roles &amp; Permissions) and Media Library.

v1.1.3(5mo ago)1171MITPHPPHP ^8.4

Since Oct 21Pushed 5mo agoCompare

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

READMEChangelog (5)Dependencies (27)Versions (7)Used By (0)

Filament Starter Kit
====================

[](#filament-starter-kit)

Um starter kit completo com Filament 4.1, incluindo sistema de permissões e gerenciamento de mídia.

Stack
-----

[](#stack)

- **Laravel 12** (PHP 8.4+)
- **Filament 4.1** - Admin Panel completo
- **Filament Shield** - Roles &amp; Permissions (Spatie Permission)
- **Filament Spatie Media Library** - Gerenciamento de mídia
- **Filament Logger** - Activity logging (Spatie Activity Log)
- **Livewire 3** - Full-stack framework
- **Tailwind CSS 4** - Styling
- **Pest 4** - Testing framework
- **PHPStan, Rector, Pint** - Code quality
- **Laravel Actions** - Business logic pattern
- **ArchTech Enums** - Enhanced PHP enums

Instalação
----------

[](#instalação)

```
git clone git@github.com:aronpc/filament-starter-kit.git
cd filament-starter-kit

composer install
npm install

cp .env.example .env
php artisan key:generate

# Criar banco de dados e rodar migrations
touch database/database.sqlite
php artisan migrate

# Instalar Shield (Roles & Permissions) - Filament 4
php artisan shield:install --fresh

# Criar super admin
php artisan shield:super-admin

# Build frontend assets
npm run build

# Iniciar servidor
composer run dev
```

Acesso ao Painel
----------------

[](#acesso-ao-painel)

Após criar o super admin, acesse:

- URL: `http://localhost:8000/admin`
- Login com as credenciais do super admin criado

Scripts Disponíveis
-------------------

[](#scripts-disponíveis)

```
# Desenvolvimento
composer run dev              # Inicia servidor, queue, logs e vite

# Testes e Qualidade
composer test                 # Roda testes, PHPStan e Rector check
composer fix                  # Corrige código com Rector e Pint

# Frontend
npm run dev                   # Dev server com HMR
npm run build                 # Build de produção

# Filament
php artisan filament:user               # Criar usuário
php artisan shield:super-admin          # Criar super admin
php artisan shield:generate --all      # Gerar permissões para recursos

# Documentação
php artisan sync:ai-guidelines          # Sincronizar documentos guia do repositório público
php artisan sync:ai-guidelines --force  # Forçar sincronização sobrescrevendo arquivos existentes
```

Estrutura
---------

[](#estrutura)

```
├── app/
│   ├── Filament/
│   │   ├── Resources/      # Recursos do Filament
│   │   └── Pages/          # Páginas customizadas
│   ├── Models/             # Eloquent models
│   └── Providers/
│       └── Filament/
│           └── AdminPanelProvider.php
├── database/
│   └── migrations/         # Inclui permissões e media
├── resources/
│   ├── css/app.css         # Tailwind CSS
│   └── views/
└── tests/

```

Features
--------

[](#features)

### Admin Panel (Filament 4.1)

[](#admin-panel-filament-41)

- ✅ Dashboard com widgets
- ✅ Gerenciamento de usuários
- ✅ Sistema completo de CRUD
- ✅ Formulários avançados com Schemas
- ✅ Tabelas com filtros deferred e ações
- ✅ Notificações
- ✅ Multi-tenancy ready
- ✅ Actions encapsuladas (modais, formulários, lógica)
- ✅ Infolists para dados read-only

### Shield (Permissions)

[](#shield-permissions)

- ✅ Roles e Permissions (Spatie)
- ✅ Super Admin role
- ✅ Policy generation automática
- ✅ Resource permissions
- ✅ Custom permissions

### Media Library

[](#media-library)

- ✅ Upload de arquivos
- ✅ Conversões de imagem automáticas
- ✅ Múltiplas collections
- ✅ Integração com Filament Forms

### Activity Logging

[](#activity-logging)

- ✅ Log automático de ações em Filament Resources
- ✅ Log de login/logout de usuários
- ✅ Log de notificações enviadas
- ✅ Log customizado em models (trait LogsActivity)
- ✅ Visualização de logs no Admin Panel
- ✅ Agrupado em "User Management"

### AI Guidelines Sync

[](#ai-guidelines-sync)

- ✅ Sincronização automática de documentos guia do repositório público
- ✅ Download de arquivos .md do GitHub API
- ✅ Atualização automática do CLAUDE.md com referências
- ✅ Modo force para sobrescrever arquivos existentes
- ✅ Organização alfabética dos documentos

### Code Quality &amp; Architecture

[](#code-quality--architecture)

- ✅ Architecture tests com Pest
- ✅ PHPStan nivel máximo (type safety)
- ✅ Rector para refactoring automático
- ✅ Laravel Pint para formatação (PSR-12)
- ✅ Laravel Actions (business logic pattern)
- ✅ ArchTech Enums (type-safe enums)
- ✅ Value Objects (DTOs) com readonly properties
- ✅ Strict types em todos os arquivos

Criando Recursos
----------------

[](#criando-recursos)

```
# Criar um Resource completo
php artisan make:filament-resource Post --generate

# Gerar permissões para o resource
php artisan shield:generate --resource=PostResource

# Criar página customizada
php artisan make:filament-page Settings

# Criar widget
php artisan make:filament-widget StatsOverview
```

Custom Theme
------------

[](#custom-theme)

Para customizar o tema do Filament:

```
# Publicar views do Filament
php artisan filament:assets

# Criar theme customizado
php artisan make:filament-theme
```

Depois configure no `AdminPanelProvider`:

```
->theme(asset('css/filament/admin/theme.css'))
```

Permissões
----------

[](#permissões)

O Shield gera automaticamente permissões para seus resources:

- `view_any_{resource}`
- `view_{resource}`
- `create_{resource}`
- `update_{resource}`
- `delete_{resource}`
- `delete_any_{resource}`

Para regenerar permissões:

```
php artisan shield:generate --all
```

Laravel Actions
---------------

[](#laravel-actions)

Use Actions para business logic (não Services):

```
php artisan make:action CreatePostAction
```

```
use Lorisleiva\Actions\Concerns\AsAction;

final class CreatePostAction
{
    use AsAction;

    public function handle(CreatePostData $data): Post
    {
        return Post::create($data->toArray());
    }
}

// Uso
CreatePostAction::run($data);
```

ArchTech Enums
--------------

[](#archtech-enums)

Enums type-safe com recursos avançados:

```
use App\Contracts\HasEnumFeatures;

enum StatusEnum: string
{
    use HasEnumFeatures;

    case Active = 'active';
    case Inactive = 'inactive';

    public function label(): string
    {
        return match ($this) {
            self::Active => __('enums.status.active'),
            self::Inactive => __('enums.status.inactive'),
        };
    }
}

// Uso com comparações type-safe
if ($status->is(StatusEnum::Active)) { }
if ($status->in([StatusEnum::Active, StatusEnum::Inactive])) { }
```

Media Library
-------------

[](#media-library-1)

Para usar a Media Library em seus models:

```
use Spatie\MediaLibrary\HasMedia;
use Spatie\MediaLibrary\InteractsWithMedia;

class Post extends Model implements HasMedia
{
    use InteractsWithMedia;

    public function registerMediaCollections(): void
    {
        $this->addMediaCollection('images')
            ->useDisk('public');
    }
}
```

No Filament Form:

```
use Filament\Forms\Components\SpatieMediaLibraryFileUpload;

SpatieMediaLibraryFileUpload::make('image')
    ->collection('images')
    ->multiple()
    ->image()
```

Activity Logging
----------------

[](#activity-logging-1)

O Activity Logging está configurado e pronto para uso. Para adicionar logging a um model:

```
use Spatie\Activitylog\Traits\LogsActivity;
use Spatie\Activitylog\LogOptions;

class Post extends Model
{
    use LogsActivity;

    public function getActivitylogOptions(): LogOptions
    {
        return LogOptions::defaults()
            ->logOnly(['title', 'content', 'is_published'])
            ->logOnlyDirty()
            ->dontSubmitEmptyLogs()
            ->useLogName('post')
            ->setDescriptionForEvent(fn (string $eventName): string => "Post {$eventName}");
    }
}
```

### Visualizar Logs

[](#visualizar-logs)

Acesse `/admin` e navegue até **User Management &gt; Activities** para visualizar todos os logs de atividade.

### Log Manual

[](#log-manual)

```
// Log simples
activity()->log('Ação customizada realizada');

// Log com contexto
activity()
    ->performedOn($model)
    ->causedBy($user)
    ->withProperties(['key' => 'value'])
    ->log('Descrição da ação');
```

Para mais detalhes, consulte `.claude/docs/14-activity-logging.md`.

AI Guidelines Sync
------------------

[](#ai-guidelines-sync-1)

O projeto inclui um comando para sincronizar automaticamente documentos guia do repositório público `filament-core-starter-kit`:

```
# Sincronizar documentos (apenas novos)
php artisan sync:ai-guidelines

# Forçar sincronização completa (sobrescreve arquivos existentes)
php artisan sync:ai-guidelines --force
```

### Funcionalidades

[](#funcionalidades)

- **Download Automático**: Baixa arquivos `.md` do diretório `.claude/docs` do repositório público
- **Atualização do CLAUDE.md**: Atualiza automaticamente as referências entre as tags ``
- **Modo Force**: Opção `--force` para sobrescrever arquivos existentes
- **Organização**: Mantém os documentos em ordem alfabética
- **Verificação**: Verifica a existência de arquivos antes de baixar

### Estrutura

[](#estrutura-1)

Os documentos são baixados para:

```
.claude/docs/
├── 01-project-structure.md
├── 02-coding-standards.md
├── 03-architecture-patterns.md
└── ...

```

O comando atualiza o arquivo `CLAUDE.md` incluindo as referências aos documentos na forma:

```
@.claude/docs/01-project-structure.md
@.claude/docs/02-coding-standards.md
```

Testing
-------

[](#testing)

```
# Rodar todos os testes
composer test

# Testes específicos
./vendor/bin/pest tests/Feature/Filament/

# Com coverage
composer test:unit:coverage
```

Deploy
------

[](#deploy)

Para deploy em produção:

```
# Otimizar aplicação
php artisan optimize
php artisan filament:optimize

# Cache de rotas e config
php artisan route:cache
php artisan config:cache
php artisan view:cache

# Build assets
npm run build
```

Licença
-------

[](#licença)

MIT

Recursos
--------

[](#recursos)

- [Filament v4 Docs](https://filamentphp.com/docs/4.x)
- [Filament Shield Docs](https://github.com/bezhanSalleh/filament-shield)
- [Filament Logger Docs](https://github.com/unknow-sk/filament-logger)
- [Spatie Media Library](https://spatie.be/docs/laravel-medialibrary)
- [Spatie Permission](https://spatie.be/docs/laravel-permission)
- [Spatie Activity Log](https://spatie.be/docs/laravel-activitylog)
- [Laravel Actions](https://laravelactions.com/)
- [ArchTech Enums](https://github.com/archtechx/enums)

###  Health Score

39

—

LowBetter than 85% of packages

Maintenance74

Regular maintenance activity

Popularity8

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

Total

5

Last Release

177d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/3d9930bc506bb77f5bc11a9e4235c0e65ff4d4c713334fd6e501edf45772ed5e?d=identicon)[aronpc](/maintainers/aronpc)

---

Top Contributors

[![aronpc](https://avatars.githubusercontent.com/u/181354?v=4)](https://github.com/aronpc "aronpc (27 commits)")

---

Tags

laravelpermissionsmedia libraryfilamentstarter-kitadmin-panelshield

###  Code Quality

TestsPest

Static AnalysisPHPStan, Rector

Code StyleLaravel Pint

### Embed Badge

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

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

###  Alternatives

[raugadh/fila-starter

Laravel Filament Starter.

614.9k](/packages/raugadh-fila-starter)[siubie/kaido-kit

Filament Admin Panel Starter Kit with pre-configured packages and settings

3824.9k](/packages/siubie-kaido-kit)[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)[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)[a2insights/filament-saas

Filament Saas for A2Insights

161.1k](/packages/a2insights-filament-saas)

PHPackages © 2026

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