Saltar al contenido principal
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.
git clone https://github.com/laravel/package-skeleton.git my-package
cd my-package
composer install
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

HerramientaRol
PestFramework de testing
LarastanAnálisis estático para Laravel
PintFormateador de código
Orchestra TestbenchEntorno de tests para paquetes
WorkbenchApp para desarrollo end-to-end

Funcionalidades configurables

En el prompt de composer install puedes elegir solo las funcionalidades que necesites. Los scaffolds de funcionalidades no seleccionadas se eliminan.
FuncionalidadDescripción
Config fileAñade archivo de configuración en config/
RoutesAñade archivos de rutas
ViewsAñade vistas Blade
TranslationsAñade archivos de idioma
MigrationsAñade archivos de migración
AssetsAñade assets públicos
CommandsAñade comandos Artisan
FacadeAñade una clase facade
Boost SkillAñade una skill para agentes de IA

Herramientas configurables

Al igual que con las funcionalidades, puedes activar o desactivar herramientas según el proyecto.
HerramientaDescripción
DependabotPR de actualización automática de dependencias
Issue TemplatePlantillas de issues de GitHub
ChangelogActualización automática de CHANGELOG.md en releases
FundingEnlaces de patrocinio de GitHub Sponsors
Security PolicyPolítica de reporte de vulnerabilidades de seguridad

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.
git clone https://github.com/laravel/package-skeleton.git my-package
cd my-package
2

Instala las dependencias

Al ejecutar composer install, se lanza configure.php automáticamente.
composer install
Si quieres ejecutar el script manualmente, usa la opción --no-scripts.
composer install --no-scripts
php configure.php
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

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

Test end-to-end con Workbench

composer serve
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.
php configure.php --no-interaction --config --routes
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.
matrix:
  os: [ubuntu-latest, windows-latest]
  php: [8.3, 8.4, 8.5]
  laravel: [12.*, 13.*]
  stability: [prefer-lowest, prefer-stable]
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:
EtiquetaClasificación
breakingCambios disruptivos
enhancementNuevas funcionalidades
bugCorrección de bugs
documentationDocumentación
dependenciesDependencias
maintenanceMantenimiento
skip-changelogNo 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 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