For Flutter developers shipping deep links, web URLs and multi-step flows
Route LensA GoRouter the app never uses, a context.go('/basket') with nothing behind it. See your route map, find the dead links, then rewrite the router.
Paste your routing code. Your browser rebuilds the go_router table with every full path, resolves every context.go and push against it, and checks the router is wired in, named routes, pageless pushes, slashes on nested paths, unread :params, a not-found page and nested flows (key, default, PopScope) - then writes a deep-link smoke test. Then the review, and the rewritten router.
The routing free
The scan free
What the scan found
The route map
The skill's routing workflows
Your deep-link smoke test and checklist free
Every declared path, opened through the router in a widget test - it fails when a screen's builder throws (a parameter that stops parsing, a missing argument). A renamed path lands on the error page without throwing - the scan catches that, not the test.
test/routes_test.dart
The review metered
Pricing as soon as the session is ready...
Sign inThe reply could not be read. Here it is as it came back:
Caveats
Caveats
The page's check of this reply
Saved routing reviews
How it works - and what it cannot see
The scan reads the Dart itself: comments and strings are masked, every call is matched to its closing bracket and its named arguments are read at their own depth. It rebuilds the go_router table by following each GoRoute's routes: list, so every route has its full path, and matches every literal context.go, push and goNamed target against it - an interpolated segment like '/items/$id' matches any :parameter. It follows the skill: go_router with MaterialApp.router for deep links and the web, no named routes, context.go instead of Navigator.push, relative nested paths, and nested flows with a kept GlobalKey<NavigatorState>, an onGenerateRoute that throws on unknown names, and PopScope.
It cannot follow redirects, guards, ShellRoute tab stacks or targets built at run time - that is the review. The page re-scans the rewritten router, so a fix that did not land is flagged rather than trusted, and the free smoke test opens every declared path in CI.