Skip to main content

¿Qué es Laravel Pint?

Laravel Pint es una herramienta de corrección automática de estilo de código construida sobre PHP CS Fixer. Está diseñada para funcionar sin configuración desde el primer momento y formatear automáticamente el código siguiendo el estilo de Laravel. Al automatizar los típicos “comentarios de revisión sobre estilo de código” en el desarrollo en equipo, puedes centrarte en las revisiones que realmente importan.

Instalación

Las aplicaciones Laravel recién creadas incluyen Pint automáticamente. En proyectos con versiones antiguas, instálalo con Composer.

Formas de ejecutarlo

Uso básico

Corrige automáticamente todos los archivos .php del proyecto.
También puedes limitar el alcance a un archivo o directorio.

Lista de opciones

Configuración

Puedes personalizar el comportamiento creando un pint.json en la raíz del proyecto.
También puedes indicar explícitamente la ruta del archivo de configuración.

Presets

Un preset es un conjunto de reglas. El preset por defecto es laravel, con las reglas más adecuadas para proyectos Laravel.

Personalizar reglas

En pint.json puedes activar o desactivar reglas individualmente. Las reglas disponibles se encuentran en PHP CS Fixer Configurator.

Exclusión de archivos y carpetas

Puedes excluir carpetas concretas del análisis.
Para excluir por patrón de nombre de archivo, usa notName.
Para excluir por ruta específica, usa notPath.

Configuración recomendada

Un ejemplo de pint.json que funciona bien en el día a día:
Motivo para añadir cada regla:
strict_comparison y declare_strict_types fuerzan un código estricto en tipos, así que al añadirlas a un proyecto existente puede haber muchas correcciones la primera vez. En proyectos nuevos conviene introducirlas desde el principio.
no_unused_imports es una configuración pensada para desarrollo de paquetes. El valor por defecto de Pint es true (elimina los use no utilizados), así que en un proyecto Laravel normal esta línea no es necesaria. En el desarrollo de paquetes existe el patrón de activar/desactivar funcionalidades mediante imports de traits o interfaces, así que resulta práctico dejarla en false y cambiarla a true según cada paquete.

Configuración de scripts en composer.json

Al registrar scripts para Pint en composer.json, puedes ejecutarlo solo con composer pint.
Después de registrarlos, puedes usarlos así:
En CI, composer pint:test te permite detectar violaciones sin modificar archivos. Como --test devuelve un código de salida distinto de cero cuando hay errores, sirve como comprobación de paso/fallo en CI.

Ejecución automática con GitHub Actions

Con GitHub Actions puedes ejecutar Pint y confirmar automáticamente las correcciones en cada push.
1

Configurar los permisos del workflow

En el repositorio de GitHub, entra en Settings > Actions > General > Workflow permissions y activa “Read and write permissions”.
2

Crear el archivo del workflow

Crea .github/workflows/lint.yml.
Este workflow ejecuta Pint en cada push y confirma automáticamente los archivos corregidos.
Como la corrección se aplica antes de la revisión del pull request, se reducen los comentarios sobre estilo de código. Cuando lo introduzcas en el equipo, corrige primero localmente todos los archivos y añade después el workflow para evitar commits sobrantes.
Última modificación el 13 de julio de 2026