wulfheart/pretty_routes
Pretty Routes for Laravel replaces the default route:list output with a cleaner, colorized table. Browse your app's routes grouped by HTTP method, see middleware, URIs, names and actions at a glance, and filter by method, name or path to debug routing faster.
php artisan route:list is the baseline and this is an enhancement layer. But --group / --group-reverse and the multi-value name/path selector fix move it past "prettier output" into "queryable route inventory," which is meaningfully closer to the point where a team would otherwise write and maintain its own script. That raises the cost of ignoring it and lowers the incentive to build anything custom.--group=prefix for an admin area) instead of reading one flat table, which supports decisions about onboarding docs, pairing sequences, and internal training material organized by subsystem rather than by monolith.--except-path, --except-name) let reviewers and auditors strip noise—health checks, vendor routes, debug endpoints—so route sprawl, duplicate URIs, inconsistent naming, and middleware misconfiguration stand out. Grouping exposes prefix/middleware clustering as a first-class view. This directly supports decisions about route organization standards, API surface governance, and whether to add a lightweight route-audit step to periodic hygiene reviews.name/path values matters here—engineers can check several suspect routes in one command instead of iterating. Supports decisions about the team's standard debugging toolkit and whether to standardize it across squads.api/* routes," "exclude the health check") rather than a bare command name.Consider it when:
route:list during development, debugging, auditing, or onboarding.--except-path / --except-name remove vendor and infrastructure noise, and --group / --group-reverse make prefix- and middleware-shaped clustering legible. Native route:list has improved (JSON output, filtering by name/path/method, middleware and vendor flags), but it does not offer this grouping view.require-dev-style tool, so runtime and deployment risk are negligible.Look elsewhere or skip it when:
route:list in the first place; fix the workflow before adding tooling.For executives: This is a small, free, MIT-licensed developer tool that makes Laravel's route listing readable in the terminal. The latest release adds filtering and grouping, so engineers can look at a slice of the application—one domain, one middleware group—instead of the whole table. It has no runtime footprint: it ships as a development dependency and never touches production. Cost is effectively zero and risk is contained—if it stops working after a Laravel upgrade, engineers fall back to the built-in command and nothing breaks. It's a low-cost, reversible way to show investment in developer productivity and onboarding speed.
For engineering leadership: It's a single Artisan command that improves the daily debugging, review, and onboarding loop. No architectural commitment, no migration, no production surface. The new exclusion and grouping options are the substantive part of this release—they turn it from a pretty-printer into a lightweight route-audit tool, which is the difference between "nice to have" and "covers a gap we'd otherwise script." The project also added CI and issue templates, a modest but real signal that it's being maintained. Proposed next step: pin a version, validate against our current Laravel/PHP matrix in a short spike (roughly an hour), and document it as an optional local convenience. If native route:list already satisfies the team, we skip it—the downside is a deleted dev dependency.
For the engineering team: Version 0.3.0 adds --except-path, --except-name, --group, and --group-reverse, and fixes multiple values in the name and path selectors—so you can exclude vendor/health-check noise, pull several suspect routes in one command, and view routes clustered by prefix or middleware. Try it locally for a week on a real audit or debugging task. If it makes route review meaningfully faster, we'll add it to the recommended tooling list and the onboarding doc with a couple of concrete recipes. If the native command is good enough for your workflow, say so—that's a valid outcome and it saves us a dependency.
How can I help you explore Laravel packages today?