apih/laravel-route-list-web
Adds a browser-based route inspector to Laravel, giving you a searchable, filterable web UI for your app's registered routes—method, URI, name, action, and middleware—so you can debug routing without dropping into the terminal or running artisan route:list.
Architecture fit — The package is a thin, additive layer over Laravel's existing route collection: a service provider, a route registration, a controller, and a Blade view that renders Route::getRoutes(). It introduces no database, queue, cache dependency, or external service, and it does not sit on any request path other than its own. That makes it architecturally inert with respect to the host application — the blast radius of adopting or removing it is essentially one Composer entry and one config file. It is a developer-observability convenience, not infrastructure.
Integration feasibility — Install is a standard composer require with package auto-discovery; publishing a config file and registering an authorization gate or middleware is the only meaningful configuration. The real integration work is not technical but procedural: deciding who may see the route table. The page exposes route URIs, HTTP verbs, controller/action names, middleware stacks, route names, and parameter names — a useful map of the application's internal surface. In a non-public or authenticated-only context that is fine; on any internet-reachable page without a gate it is an information-disclosure finding waiting to be filed.
Technical risk — Low technical complexity, moderate adoption risk. At 17 stars the package has negligible community validation, which means edge cases (Octane, route caching, domain routing, vendor-published routes, invokable controllers, large route counts) are unlikely to have been exercised broadly. The single-maintainer profile and a recent release date suggest current activity but do not demonstrate a maintenance track record. Supply-chain exposure is small given the package's size and MIT license, but it is still a dependency that will need to be re-validated against each Laravel major.
Decision posture — Treat this as a low-cost, low-commitment developer tool with a hard environment gate, not as a platform dependency. Value is high per unit of effort (opportunity score 0.82 against a modest absolute score), but the correct posture is "pilot in dev/staging, decide on production exposure after an authorization review."
Key questions
composer.json?php artisan route:cache is active, and does it reflect cached routes rather than booting a divergent set?Stack fit — Any conventional Laravel application, including monoliths and modular/large-route apps. It is framework-native and framework-coupled by design, so it fits nowhere outside Laravel — which is fine if the portfolio is Laravel-standardized and irrelevant if it is not. No overlap with existing tooling beyond artisan route:list, which it complements rather than replaces (the CLI remains the source of truth for scripting and CI, the web view serves humans).
Migration path — There is nothing to migrate off. Adoption is additive and reversible: install, publish config, restrict access, done. The genuine substitution opportunity is replacing whatever ad-hoc route documentation exists today — wiki pages, spreadsheets, screenshots of route:list output, or a bespoke internal "routes" page — all of which decay silently. That is the real value proposition: a documentation artifact that cannot go stale because it is generated from the router at request time.
Compatibility — Verify three things before rollout: (1) declared Laravel/PHP constraints against the current application version; (2) coexistence with route caching in staging and production-like environments; (3) no route collision — if the package registers a fixed path, confirm it does not shadow or get shadowed by an application catch-all or wildcard route, and confirm the path is configurable. Also confirm no conflict with debug tooling (Telescope, Debugbar, Horizon) that already registers routes.
Sequencing
artisan route:list for a known application to confirm fidelity.Auth middleware plus a Gate check, with the gate defined in application code so access is controlled by the host app, not the package.composer.json (caret constraint at minimum), record the decision in an ADR, and add a line to the onboarding doc.Maintenance — Near-zero routine cost, but non-zero ownership cost: someone must track upstream releases and re-validate on each Laravel major upgrade. Because the package inspects framework internals (the route collection), it is more exposed to framework upgrades than a typical library. Pin the version and treat upgrades as a deliberate, tested change rather than letting a floating constraint pull in surprises.
Support — Support burden is minimal and entirely internal; there is no runtime dependency for end users and no external service to page anyone about. Expect occasional "the route page is broken" tickets after framework upgrades. The single-maintainer risk means a future unmaintained state is plausible; mitigate by keeping the footprint small enough that forking or inlining a Blade view over Route::getRoutes() remains a viable escape hatch of a few hours' work.
Scaling — Reads and renders the full route collection per request. For applications with hundreds or low thousands of routes this is a non-issue on an infrequently visited internal page. For very large route sets, expect slow page loads and heavy DOM rendering; confirm whether filtering or pagination exists, and if not, treat the page as unsuitable for the largest applications or restrict its use to local development. It does not scale in the sense of serving traffic — it isn't supposed to.
Failure modes
Ramp-up — Very low. A Laravel-fluent engineer installs and configures it in under half an hour; the conceptual overhead is effectively zero because it mirrors a command they already know. The only knowledge worth institutionalizing is the access-control convention — who can reach the page and why — which should be documented next to the gate definition so it survives team turnover.
How can I help you explore Laravel packages today?