> flutter-go-router-navigation

Typed routes, route state, and redirection using go_router. Use when implementing go_router typed routes, guards, or redirects in Flutter. (triggers: **/router.dart, **/app_router.dart, GoRouter, GoRoute, StatefulShellRoute, redirection, typed-routes)

fetch
$curl "https://skillshub.wtf/HoangNguyen0403/agent-skills-standard/flutter-go-router-navigation?format=md"
SKILL.mdflutter-go-router-navigation

GoRouter Navigation

Priority: P0 (CRITICAL)

Type-safe deep linking and routing system using go_router and go_router_builder.

Structure

core/router/
├── app_router.dart # Router configuration
└── routes.dart # Typed route definitions (GoRouteData)

Implementation Guidelines

  • Typed Routes: Always use GoRouteData from go_router_builder. Never use raw path strings.
  • Root Router: One global GoRouter instance registered in DI.
  • Sub-Routes: Nest related routes using TypedGoRoute and children lists.
  • Redirection: Handle Auth (Login check) in the redirect property of the GoRouter config.
  • Parameters: Use @TypedGoRoute to define paths with :id parameters.
  • Transitions: Define standard transitions (Fade, Slide) in buildPage.
  • Navigation: Use MyRoute().go(context) or MyRoute().push(context).

Code

// Route Definition
@TypedGoRoute<HomeRoute>(path: '/')
class HomeRoute extends GoRouteData {
  @override
  Widget build(context, state) => const HomePage();
}

// Router Config
final router = GoRouter(
  routes: $appRoutes,
  redirect: (context, state) {
    if (notAuthenticated) return '/login';
    return null;
  },
);

Related Topics

layer-based-clean-architecture | auto-route-navigation | security

🚫 Anti-Patterns

  • Do NOT use standard patterns if specific project rules exist.
  • Do NOT ignore error handling or edge cases.

┌ stats

installs/wk0
░░░░░░░░░░
github stars341
██████████
first seenMar 17, 2026
└────────────

┌ repo

HoangNguyen0403/agent-skills-standard
by HoangNguyen0403
└────────────

┌ tags

└────────────