joserojasrodriguez / filament-skeleton
The skeleton application for the Laravel framework.
Package info
github.com/joserojasrodriguez/filament-skeleton
Type:project
pkg:composer/joserojasrodriguez/filament-skeleton
Requires
- php: ^8.3
- bezhansalleh/filament-shield: ^4.2
- dutchcodingcompany/filament-developer-logins: ^2.1
- filament/filament: ^5.0
- flowframe/laravel-trend: ^0.5.0
- joserojasrodriguez/filament-delete-guard: ^1.1
- laravel-lang/common: ^6.8
- laravel/framework: ^13.0
- laravel/horizon: ^5.45
- laravel/pulse: ^1.7
- laravel/tinker: ^3.0
- marcelweidum/filament-expiration-notice: ^1.0
- nunomaduro/essentials: ^1.2
- opcodesio/log-viewer: ^3.24
- stechstudio/filament-impersonate: ^5.3
Requires (Dev)
- barryvdh/laravel-ide-helper: ^3.7
- fakerphp/faker: ^1.23
- laravel/pail: ^1.2.5
- laravel/pint: ^1.27
- laravel/sail: ^1.56
- mockery/mockery: ^1.6
- mominalzaraa/filament-localization: ^2.1
- nunomaduro/collision: ^8.6
- pestphp/pest: ^4.5
- pestphp/pest-plugin-laravel: ^4.1
This package is auto-updated.
Last update: 2026-04-21 14:43:25 UTC
README
Aplicación base para arrancar proyectos internos sobre Laravel 13 y Filament 5 con autenticación, administración de usuarios, roles/permisos, observabilidad y utilidades de desarrollo ya preparadas.
No es un proyecto de producto final. Es una base para clonar, renombrar y extender.
Arranque rápido
La vía recomendada es:
composer run setup
Esto hace lo siguiente:
- Instala dependencias PHP.
- Crea
.enva partir de.env.examplesi no existe. - Genera
APP_KEY. - Crea una base de datos si quieres en el mismo proceso, y corre migraciones y seed.
- Instala dependencias frontend.
- Compila assets.
Si prefieres hacerlo paso a paso:
composer install cp .env.example .env php artisan key:generate php artisan migrate npm install --ignore-scripts npm run build php artisan db:seed composer run dev
Acceso inicial
Después de ejecutar seeders:
- Panel:
/admin - Usuario:
admin@example.com - Contraseña:
password
Ese usuario:
- Tiene el rol
super_admin. - Recibe los permisos generados por Shield.
- Tiene
is_admin=true. - Tiene
is_active=true.
Conviene cambiar estas credenciales al iniciar un proyecto real.
Configuración relevante
Filament
En [config/filament.php] puedes controlar:
DEVELOPER_LOGIN_ENABLEDFILAMENT_HAS_EMAIL_VERIFICATIONFILAMENT_MFA_ENABLEDFILAMENT_MFA_EMAILFILAMENT_MFA_APPFILAMENT_MFA_REQUIRED
App
En [config/app.php] existe:
APP_ENABLE_HELPER_MODEL
Si está activo en local, tras migraciones se regeneran helper models para IDE Helper.
Características e información adicional
Requisitos
Antes de arrancar el proyecto, asegúrate de tener:
- PHP 8.3 o superior.
- Composer.
- Node.js y npm.
- MySQL corriendo y una base de datos creada.
- Redis disponible si vas a usar Horizon y parte de la observabilidad como está pensada en este skeleton.
Stack incluido
- PHP
^8.3 - Laravel
^13.0 - Filament
^5.0 - Filament Shield
- Filament Developer Logins
- Filament Delete Guard
- Filament Expiration Notice
- Laravel Horizon
- Laravel Pulse
- Opcodes Log Viewer
- Pest
- Laravel Pint
- IDE Helper
Panel de administración
- Panel Filament principal con id
admin. - URL del panel:
/admin. - Login, reset de contraseña y perfil habilitados.
- Verificación de email configurable.
- MFA configurable por email y/o app autenticadora.
- Tema de Filament apuntando a
resources/css/filament/admin/theme.css.
Usuarios y permisos
- Recurso Filament para usuarios.
- Modelo
Usercon UUIDs. - Control de acceso al panel basado en
is_active. - Distinción de administrador de sistema mediante
is_admin. - Protección para evitar borrar usuarios
super_admin. - Roles y permisos con Spatie Permission + Shield.
- Seeder que genera permisos del panel y crea el super admin inicial.
Observabilidad y operación
- Horizon incluido para colas.
- Pulse incluido en el proyecto como base de observabilidad.
- Log Viewer accesible para administradores de sistema.
- Enlaces de navegación a Horizon y Logs visibles solo para
is_admin = true.
Seeders incluidos
ShieldPermissionsSeeder: genera permisos para las entidades descubiertas por Shield en el paneladmin.AdminPanelSeeder: crea el usuario admin inicial, el rolsuper_adminy asigna permisos.DatabaseSeeder: ejecuta ambos.
Redis, Horizon y Pulse
Este skeleton deja preparada la capa operativa, pero hay una diferencia importante:
- El
.env.exampleusaQUEUE_CONNECTION=database. - Horizon está configurado para trabajar con Redis.
Si el proyecto va a usar Horizon de verdad, debes configurar Redis correctamente y alinear la estrategia de colas del entorno. Documentarlo desde el inicio evita inconsistencias entre desarrollo y despliegue.
Pulse también forma parte del stack base del proyecto. Si el nuevo proyecto va a apoyarse en observabilidad desde el principio, merece la pena decidir pronto cómo se va a exponer y monitorizar en cada entorno.