laravel/ranger
Beta Laravel introspection library that scans your codebase to discover routes, models, enums, broadcast events, env vars, and Inertia components. Register callbacks per item or collection and receive rich DTOs as Ranger walks your app.
onRoute, onModel, etc.) enables granular control over introspection logic, making it adaptable to use cases like:
Data Transport Objects (DTOs) ensure consistent, machine-readable data, which is critical for integration with other tools (e.g., IDE plugins, CI/CD checks).walk(). This minimizes risk for adoption.Ranger::extend()), allowing TPMs to add domain-specific introspection (e.g., custom validation rules, business logic patterns).dev- branch or release candidate.walk() time in staging before production use.composer require laravel/ranger --dev.Route::uri() match route:list output?).walk() in production.onPolicy for authorization rules).AppServiceProvider).walk() via:
php artisan ranger:walk.schedule(function() { app(Ranger::class)->walk(); }).docs/introspection.md).RouteCallbackInterface).vendor/).walk(). For large apps:
walk() runs at startup, consider lazy-loading or offloading to a queue.tenant_id).| Failure Scenario | Impact | Mitigation |
|---|---|---|
Ranger walk() crashes during boot |
App startup fails | Run in a separate process or queue job. |
| Incomplete data collection | Downstream tools fail | Add validation layers for critical DTOs. |
| API changes break DTOs | Callbacks fail silently | Version DTOs (e.g., RouteV1, RouteV2). |
| Performance degrades under load | Slow responses | Rate-limit scans or schedule offline. |
| Custom collectors introduce bugs | Unpredictable behavior | Unit test collectors in isolation. |
How can I help you explore Laravel packages today?