Este artículo se basa en la investigación del código fuente. A fecha de julio de 2026 es un repositorio en desarrollo.
¿Qué es Laravel Package Skeleton?
Laravel Package Skeleton es una plantilla de inicio para crear paquetes de Laravel.composer install, se lanza automáticamente el script de configuración interactivo (configure.php), que te pregunta uno a uno el nombre del paquete, el vendor, el namespace y las funcionalidades a utilizar. Al terminar la configuración, ya puedes empezar a desarrollar de inmediato.
¿Por qué es necesario este skeleton?
Si empiezas a crear un paquete de Laravel “a tu manera”, pasarás mucho tiempo en tareas ajenas a la lógica del propio paquete: preparar el entorno de tests, análisis estático, formateo de código, configuración de GitHub Actions, etc. Laravel Package Skeleton reúne en una única plantilla las mejores prácticas que utiliza el equipo de Laravel en el desarrollo real de paquetes. Con la plantilla te saltas el “montaje del entorno” y puedes empezar directamente por la implementación de la lógica del paquete.Herramientas incluidas
| Herramienta | Rol |
|---|---|
| Pest | Framework de testing |
| Larastan | Análisis estático para Laravel |
| Pint | Formateador de código |
| Orchestra Testbench | Entorno de tests para paquetes |
| Workbench | App para desarrollo end-to-end |
Funcionalidades configurables
En el prompt decomposer install puedes elegir solo las funcionalidades que necesites. Los scaffolds de funcionalidades no seleccionadas se eliminan.
| Funcionalidad | Descripción |
|---|---|
| Config file | Añade archivo de configuración en config/ |
| Routes | Añade archivos de rutas |
| Views | Añade vistas Blade |
| Translations | Añade archivos de idioma |
| Migrations | Añade archivos de migración |
| Assets | Añade assets públicos |
| Commands | Añade comandos Artisan |
| Facade | Añade una clase facade |
| Boost Skill | Añade una skill para agentes de IA |
Herramientas configurables
Al igual que con las funcionalidades, puedes activar o desactivar herramientas según el proyecto.| Herramienta | Descripción |
|---|---|
| Dependabot | PR de actualización automática de dependencias |
| Issue Template | Plantillas de issues de GitHub |
| Changelog | Actualización automática de CHANGELOG.md en releases |
| Funding | Enlaces de patrocinio de GitHub Sponsors |
| Security Policy | Política de reporte de vulnerabilidades de seguridad |
Flujo de configuración
Crea el repositorio desde la plantilla
Pulsa el botón Use this template en GitHub para crear un nuevo repositorio, o clónalo directamente.
Instala las dependencias
Al ejecutar Si quieres ejecutar el script manualmente, usa la opción
composer install, se lanza configure.php automáticamente.--no-scripts.Responde al prompt
Se configuran uno a uno los siguientes puntos.
- Author Name / Email
- Nombre del vendor (p. ej.
kawax) - Nombre del paquete (p. ej.
my-package) - Descripción del paquete
- Nombre de la clase (p. ej.
MyPackage) - Multi-select de funcionalidades
- Multi-select de herramientas
- Creación automática del repositorio de GitHub (si el CLI
ghestá autenticado)
Comprobación del funcionamiento
Modo no interactivo
Si configuras desde CI o desde un script, usa la flag--no-interaction.
CI con GitHub Actions
Eltests.yml incluido en el skeleton es un build matricial que ejecuta los tests con combinaciones de múltiples versiones de PHP, Laravel y OS.
- PHPStan (
composer analyse): análisis estático - Pint (
composer lint:check): comprobación de estilo - Cobertura de tipos (
composer test:types): comprobación de cobertura de tipos al 100 % (solo Ubuntu) - Pest (
composer test:unit): tests unitarios (solo Ubuntu)
Automatización del Changelog
update-changelog.yml actualiza automáticamente CHANGELOG.md cuando se dispara una GitHub Release. En release.yml se generan release notes clasificadas por etiquetas de PR.
Etiquetas de release notes:
| Etiqueta | Clasificación |
|---|---|
breaking | Cambios disruptivos |
enhancement | Nuevas funcionalidades |
bug | Corrección de bugs |
documentation | Documentación |
dependencies | Dependencias |
maintenance | Mantenimiento |
skip-changelog | No incluir en el changelog |
Lo que hace configure.php
configure.php es un script de configuración que actúa como bootstrap y se ejecuta una única vez. Tras su ejecución se elimina.
Configuración de GitHub tras la instalación
Configuraciones recomendadas tras la instalación indicadas en el README:- Revisar manualmente los PR de Dependabot: no se incluye workflow de merge automático
- Crear etiquetas de release notes:
breaking,enhancement,bug,documentation,dependencies,maintenance,skip-changelog,duplicate - Configurar la protección de la rama
main: como la automatización del Changelog hace que GitHub Actions comitee enCHANGELOG.md, hay que ajustar las reglas de protección de rama
GITHUB_TOKEN integrado de GitHub.
Estado actual de desarrollo
- Repositorio de GitHub: laravel/package-skeleton
- Fecha de publicación: julio de 2026 (en desarrollo activo)
- Nota: al estar en fase inicial de desarrollo, la API y la estructura pueden cambiar
Repositorio laravel/package-skeleton
Aquí puedes ver el código fuente y la información más reciente.
Documentación oficial de desarrollo de paquetes
Para los fundamentos del desarrollo de paquetes de Laravel, consulta la documentación oficial.