Laravel Doctor, presentado en Laracon US 2026 en Boston, es un nuevo paquete first-party que añade el comando artisan doctor para diagnosticar la salud de la aplicación. Convierte en código ejecutable la lista de comprobaciones habitual ante una instalación rota: .env ausente, APP_KEY sin generar, directorios de almacenamiento sin permisos de escritura, versiones de PHP incompatibles. Los paquetes también pueden registrar sus propias comprobaciones.

Cada diagnóstico es una clase que inspecciona una sola cosa y devuelve uno de seis estados: pass, notice, warn, fail, skip o error. El comando termina con código de salida distinto de cero ante fallos o errores; --fail-on=warn hace que también fallen las advertencias, mientras que --fail-on=never devuelve siempre un código limpio.

La suite incluida cubre el entorno (.env, APP_KEY, versión de PHP frente a la restricción de composer.json, extensiones, zona horaria), Composer (dependencias instaladas, volcado de autoload optimizado, problemas reparables de composer.lock), configuración, conexión a la base de datos incluidos los archivos SQLite y las migraciones pendientes, accesibilidad de los drivers de caché, cola, planificador y sesión (con comprobaciones de Redis), escritura en el almacenamiento y el enlace simbólico storage:link, y seguridad (modo debug acorde al entorno, .env en .gitignore, auditoría de dependencias). Doctor clasifica la aplicación en modo local o producción — staging está reconocido y los entornos desconocidos se tratan como producción —, de modo que una cola sync pasa en local pero advierte en producción.

La instalación es composer require laravel/doctor --dev, seguido de php artisan doctor. Los problemas reparables piden confirmación interactiva; php artisan doctor --fix aplica las correcciones automáticamente: crear un .env ausente, generar APP_KEY, desactivar el debug en producción, añadir .env a .gitignore, crear el enlace de almacenamiento y reparar permisos. Los diagnósticos se filtran con --only/--except por grupo, clase o comodín de paquete (p. ej. --except=laravel/*), o de forma persistente con php artisan vendor:publish --tag=doctor-config.

Los paquetes registran diagnósticos mediante la fachada Doctor en su service provider; php artisan make:diagnostic genera una comprobación personalizada que extiende Laravel\Doctor\Diagnostic con un método check(). El método messages() contiene resúmenes, textos de remediación, enlaces a la documentación y mensajes de confirmación. Implementar Laravel\Doctor\Contracts\Fixable y marcar los fallos con ->fixable() habilita reparaciones, opcionalmente limitadas a un EnvironmentMode.

Además de la salida CLI, --format=json produce informes legibles por máquina y --format=github anotaciones de GitHub Actions; ambos rechazan --fix. Un cuarto formato sigue la convención Laravel PAO — una línea JSON con los recuentos al inicio — y se activa automáticamente cuando Laravel Agent Detector detecta Claude Code, Cursor u agentes similares, convirtiendo artisan doctor en una comprobación final natural para agentes de codificación con IA. Doctor::run() también funciona por programación con only(), except(), bail() y fixUsing().

Laravel Doctor requiere PHP 8.3 y Laravel 12 o 13, tiene licencia MIT y está documentado en el repositorio de GitHub laravel/doctor.