Skip to main content
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.
Al ejecutar 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

Funcionalidades configurables

En el prompt de composer install puedes elegir solo las funcionalidades que necesites. Los scaffolds de funcionalidades no seleccionadas se eliminan.

Herramientas configurables

Al igual que con las funcionalidades, puedes activar o desactivar herramientas según el proyecto.

Flujo de configuración

1

Crea el repositorio desde la plantilla

Pulsa el botón Use this template en GitHub para crear un nuevo repositorio, o clónalo directamente.
2

Instala las dependencias

Al ejecutar composer install, se lanza configure.php automáticamente.
Si quieres ejecutar el script manualmente, usa la opción --no-scripts.
3

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 gh está autenticado)
4

Comprobación del funcionamiento

Ejecuta todas las comprobaciones en orden: PHPStan → Pint → cobertura de tipos → Pest.
5

Test end-to-end con Workbench

En http://localhost:8000 arranca una app Laravel sencilla para verificar el paquete.

Modo no interactivo

Si configuras desde CI o desde un script, usa la flag --no-interaction.
Al indicar flags de funcionalidad, solo se incluyen las funcionalidades indicadas. Si omites las flags, se incluyen todas las funcionalidades.

CI con GitHub Actions

El tests.yml incluido en el skeleton es un build matricial que ejecuta los tests con combinaciones de múltiples versiones de PHP, Laravel y OS.
Contenido que se ejecuta en cada job:
  1. PHPStan (composer analyse): análisis estático
  2. Pint (composer lint:check): comprobación de estilo
  3. Cobertura de tipos (composer test:types): comprobación de cobertura de tipos al 100 % (solo Ubuntu)
  4. 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:

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 en CHANGELOG.md, hay que ajustar las reglas de protección de rama
No se necesitan secrets adicionales en el repositorio. Los workflows incluidos usan el 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
Si estás a punto de crear un paquete de Laravel, mejor que montar tu propio skeleton desde cero, empieza a partir de esta plantilla. Contiene las mejores prácticas que el equipo de Laravel ha ido acumulando durante años de desarrollo de paquetes.

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.
Última modificación el 13 de julio de 2026