Skip to content
CAI
Software that uses CAICheck a score

laravel/tinker

56.2

Adequate · 26 September 2026

518

lines of production code

PHP

primary language

4

measurements over time

CAI band scale
CAI trend line
CAI lens gauges

What this system is

This system is the Laravel Tinker package, an interactive REPL tool for executing PHP code within Laravel and Lumen applications. It provides a configurable environment for debugging and development, featuring custom command registration, class aliasing, and enhanced object inspection via casters. The package supports modern PHP and Laravel versions, ensuring compatibility through deferred service providers and robust testing infrastructure.

Features

Initial Tinker configuration file added

A new \config/tinker.php\ file has been introduced to allow customization of the Tinker environment. Users can now register additional Artisan commands via the \commands\ array, explicitly alias specific vendor classes through the \alias\ array, and prevent automatic aliasing for certain classes (such as \App ova\) using the \dont\_alias\ array. Additionally, the \trust\_project\ setting is configurable via the \TINKER\_TRUST\_PROJECT\ environment variable to control PsySH's project trust warnings.

config · high confidence

Behavioural changes

Enhanced Tinker casting and service provider configuration

Tinker now provides richer inspection for Laravel objects: HtmlString, Stringable, and ProcessResult instances are cast to display their content or status, and Eloquent models now explicitly show hidden and appended attributes in the REPL. The Tinker service provider has been refactored to implement DeferrableProvider for deferred loading, and it now handles configuration merging and publishing for both Laravel and Lumen applications.

src · high confidence

Repository maintenance and CI migration

This update migrates the continuous integration pipeline from Travis CI to GitHub Actions, reflected in the removal of .travis.yml and the addition of .styleci.yml and phpstan.neon.dist for code style and static analysis. The project documentation has been consolidated, with the README now directing users to the official Laravel website for usage instructions and contribution guidelines, while the CHANGELOG.md has been expanded to include historical release notes. Additionally, configuration files have been standardized (renaming phpunit.xml to phpunit.xml.dist), git attributes and ignore lists have been updated to reflect the new CI setup, and the license file format has been changed from .txt to .md.

(repo-wide) · high confidence

Tinker command modernization and new configuration options

The Tinker console command has been updated for Laravel 5.5+ compatibility by replacing the deprecated \fire()\ method with \handle()\. Users can now execute code directly via the new \--execute\ option, which returns the correct exit code on exceptions. The command supports custom Artisan commands via the \tinker.commands\ config, allows disabling the PsySH update check, and trusts project settings from config. New casters have been added for \HtmlString\, \Stringable\, and \ProcessResult\ objects, and custom casters can be registered via the \tinker.casters\ config option.

src/Console · high confidence

Test coverage

Added tests for ClassAliasAutoloader vendor whitelisting and updated test infrastructure

This change adds a new test suite for the ClassAliasAutoloader, specifically verifying that vendor classes are excluded by default but can be explicitly whitelisted via configuration. It also includes fixture files to support these tests and updates the existing TinkerCasterTest to use the modern PHPUnit TestCase namespace and PSR-1 coding standards.

tests · high confidence

Dependencies

Update to version 3.x with Laravel 13 and PHP 8.1+ support

The package has been updated to version 3.x, raising the minimum PHP requirement to 8.1 and expanding Laravel compatibility to include versions 8 through 13. The PsySH dependency has been bumped to version 0.12.19, and Symfony Var-Dumper support now covers versions 5.4 through 8.0. Additionally, the development environment now uses PHPStan for type checking and PHPUnit 10.5/11.5 for testing, while the autoloading namespaces have been updated to reflect the new package structure.

(dependencies) · high confidence

Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.

How this codebase got here

Score

  • CAI 44 → 56 (+11.7)
  • Rubric changed (rubric-2026.08.15 → rubric-2026.09.15) — scores are not directly comparable.

Lenses

  • Code Health 100 → 100 (+0.0)
  • Architecture 69 → 69 (+0.0)
  • Maturity 38 → 33 (-4.6)
  • Readiness 30 → 82 (+51.7)
  • Security 77 → 82 (+4.5)

Resolved (5)

  • Coverage not measured — test suite did not build
  • Dimension evaluation failed
  • No exposed public API
  • No tests found
  • Test reliability not included

New (7)

  • Dependency hygiene PARTLY measured — Composer dependencies read, no committed lock to grade for currency
  • Documentation: no contributor guidance (README.md)
  • Documentation: no installation or build instructions (README.md)
  • Documentation: no usage examples (README.md)
  • Further sole-owners (lower concentration)
  • Off-boarding risk: anonymized user #1
  • Orphaned files with no living knowledge

Changes since last survey

  • 2 commits — 2 feature/other, 0 fixes

By area

  • (root) — 2 commits

Notable commits

  • change: Bump minimum PsySH version (#212)
  • change: Remove Mockery (#214)

Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.

Survey your own repository

laravel/tinker was measured the same way every project in this corpus was: the same rubric, at a pinned commit, with the result published in full. Point a surveyor at a repository you know and see whether you agree with it.

About this page

  • The score is its most recent published measurement, taken on 26 September 2026 at a pinned commit. It is not a live figure and does not change until the project is measured again.
  • Measured at commit 8f4063c64bb5a39c2ae46d400995ce7d28a2e593 — the exact code this score is about.
  • Scored under rubric-2026.09.15 — the same rubric and the same method as every other entry in this index.
  • Measured by watchdog.canine.dev using codehealth-analyzer preprod-a15879f6f801.