Absortio

Email → Summary → Bookmark → Email

GitHub - nunomaduro/laravel-starter-kit: A strict Laravel skeleton - for those who demand meticulous precision in their projects.

Extracto

A strict Laravel skeleton - for those who demand meticulous precision in their projects. - nunomaduro/laravel-starter-kit

Resumen

Resumen Principal

El Laravel Starter Kit se posiciona como una base de proyecto Laravel rigurosa, diseñada para desarrolladores y equipos que exigen una precisión meticulosa y los más altos estándares de calidad en su código. Este esqueleto de aplicación se distingue por su enfoque intransigente en la estrictez y la automatización de la calidad, integrando y pre-configurando un conjunto de herramientas esenciales como PHPStan, Pest, Rector, Pint y Prettier a sus niveles más exigentes. Desde una cobertura del 100% de tipos y código, hasta el nivel máximo de análisis estático con PHPStan y una privatización exhaustiva con Rector, el kit busca eliminar proactivamente la deuda técnica y asegurar la robustez del software desde el inicio. Además de redefinir los valores por defecto de Laravel para un comportamiento más estricto y una estructura de aplicación optimizada, este kit no solo facilita el cumplimiento de las mejores prácticas, sino que las impone a través de un ecosistema de desarrollo coherente y altamente optimizado para la inspección continua del código y las pruebas exhaustivas. Requiriendo PHP 8.4+, es una solución integral para proyectos que buscan longevidad y mantenibilidad.

Elementos Clave

  • Integración Profunda de Herramientas de Calidad de Código: El kit viene con PHPStan, Pest, Rector, Pint y Prettier pre-configurados para operar con la máxima estrictez posible. Esto incluye PHPStan al nivel máximo de análisis estático, Pest con garantía de 100% de cobertura de tipos y pruebas unitarias, y Rector con privatización máxima, asegurando un código impecable y un mantenimiento reducido.
  • Valores por Defecto Optimizados para la Rigurosidad: Laravel Starter Kit modifica los valores predeterminados de Laravel para fomentar un uso más estricto y seguro. Esto se manifiesta en Modelos Estrictos, el uso de Fechas Inmutables, la imposición de HTTPS, una Consola Segura y el prefetching de assets, lo que contribuye a una aplicación más robusta y menos propensa a errores.
  • Suite de Pruebas y Análisis Exhaustiva: El kit proporciona comandos específicos para ejecutar una suite de pruebas completa, incluyendo composer test:type-coverage para un 100% de cobertura de tipos, composer test:types para análisis estático de PHPStan (nivel máximo), y composer test:unit para el

Contenido

Laravel Starter Kit

Build Status Total Downloads Latest Stable Version License

Laravel Starter Kit is my strict Laravel skeleton - for those who demand meticulous precision in their projects.

Tools like PHPStan, Pest, Rector, Pint, and Prettier are pre-configured to be as strict as possible. E.g: 100% type and code coverage, PHPStan level max, Rector with max privatization, and more...

Requires PHP 8.4+.

Create Project

⚡️ Create your project using Composer:

composer create-project nunomaduro/laravel-starter-kit --prefer-dist example-app

cd example-app

composer install
npm install
npm run build
cp .env.example .env
php artisan key:generate
php artisan migrate

php artisan serve # serve the application...

Features

🥃 Comes with Laravel Essentials, changes defaults in Laravel for more strict usage:

  • Strict Models
  • Auto Eager Loading
  • Immutable Dates
  • Force HTTPS
  • Safe Console
  • Asset Prefetching
  • and more...

🧹 Keep a modern codebase with Pint, Rector, and Prettier:

Every single rule in these tools is customized so they are most strict as possible.

composer lint
composer test:lint # on ci...

🧨 Check type coverage with Pest:

composer test:type-coverage # 100% type coverage...

⚗️ Run static analysis using PHPStan:

composer test:types # level max by default

✅ Run unit tests using PEST

composer test:unit # 100% test coverage...

🚀 Run the entire test suite:

composer test # the entire test suite...

⚙️ Better defaults for testing, including:

  • Fake sleeps
  • Stray http requests
  • Browser testing
  • and more...

💭 Different application structure with:

  • app/Actions - for application actions
  • app/Enums - for enumerations
  • and more...

🤖 Agent coding style rules with Laravel Boost, with support for:

  • PHPStorm Junie
  • Claude AI
  • and more...

License

Laravel Starter Kit was created by Nuno Maduro under the MIT license.

Fuente: GitHub