- What is limenet/laravel-baseline used for?
- limenet/laravel-baseline is a dev-only Laravel package that provides a reusable baseline of named checks for your project's PHP tooling configuration. It asserts that files such as rector.php and phpstan.neon meet a shared house standard, helping teams start from a consistent foundation. It validates Rector, PHPStan, and related tooling configuration rather than replacing those tools.
- How do I install and configure limenet/laravel-baseline?
- Install it as a Composer dev dependency, usually with composer require --dev limenet/laravel-baseline. Then expose the checks you want in your baseline configuration and run the baseline suite from your existing CI job. Because it is dev-only, it adds no runtime surface to the Laravel application.
- Does limenet/laravel-baseline support Laravel 10, 11, and 12?
- It fits Laravel 10, 11, and 12-era PHP projects, particularly those already running Rector and PHPStan in CI. The practical compatibility gate is usually your Rector, PHPStan, and PHP versions rather than the baseline package alone. Review the Composer constraints before adding it to an older application.
- What are the hasRectorConfigWithCache and phpstanHasTmpDir checks in v2.18.0?
- hasRectorConfigWithCache asserts that your Rector configuration enables caching, while phpstanHasTmpDir asserts that PHPStan has a tmpDir configured. Both arrived in v2.18.0 as additive checks under the PHP feature scope. They are discrete, individually addressable checks, so you can adopt them per repository.
- Are the new checks opt-in or enabled by default?
- The release is additive and the checks are individually addressable, but the context does not state definitively whether they activate automatically for consumers of a default baseline preset. Treat that as something to verify in your own configuration. Bump the dependency in one low-traffic repository first and catalogue which new checks fail before rolling out.
- Will upgrading to v2.18.0 break my existing CI pipeline?
- v2.18.0 is a minor, additive release with no deprecations or removals signalled, so it is backwards compatible by declaration. The main risk is behavioural: previously green pipelines can fail if the new checks are enabled and your Rector config lacks caching or your PHPStan config lacks a tmpDir. Run the baseline suite locally before pushing the bump.
- Do I need Rector and PHPStan installed to use limenet/laravel-baseline?
- The package is aimed at projects already running Rector and PHPStan in CI, and teams not using those tools get no value from the two new checks. The provided context does not explicitly confirm that the checks no-op gracefully when those tools are absent. Verify the behaviour in your environment or leave those checks disabled if the tools are not installed.
- How do I fix a failing PHPStan tmpDir check?
- Add a tmpDir entry under the parameters section of your phpstan.neon configuration and point it at a path that is writable during the CI job. Read-only or ephemeral filesystems can make this awkward, so choose an appropriate temporary directory for your runner. If the requirement does not fit your setup, explicitly disable the check rather than leaving the pipeline red.
- How do I fix the Rector cache configuration check?
- Enable caching in your rector.php configuration, typically through the withCache() call. The check expects the Rector config to include caching in the shape the baseline recognizes, so confirm custom config paths or equivalent settings are tolerated. If they are not, satisfy the check explicitly or disable it for that repository.
- What are alternatives to limenet/laravel-baseline, and is it production-safe?
- Alternatives include maintaining your own shared CI configuration or using Rector, PHPStan, and Laravel Pint directly without a baseline wrapper. limenet/laravel-baseline is vendor-maintained with a small surface and a conventional-commit changelog, but it has no commercial support path. It is a dev-only dependency for development and CI, not a runtime package for production deployments.