flutter-gorouter-navigation
Typed routes, route state, and redirection using go_router.
Installation
Follow the repository instructions for this skill and your agent. Review the files and dependencies before adding it to your workflow.
View source ↗GuidesSkill instructions
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
GoRouteDatafromgo_router_builder. Never use raw path strings. -
Root Router: One global
GoRouterinstance registered in DI. -
Sub-Routes: Nest related routes using
TypedGoRouteand children lists. -
Redirection: Handle Auth (Login check) in the
redirectproperty of theGoRouterconfig. -
Parameters: Use
@TypedGoRouteto define paths with:idparameters. -
Transitions: Define standard transitions (Fade, Slide) in
buildPage. -
Navigation: Use
MyRoute().go(context)orMyRoute().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
Examples
Read the usage examples in the source repository.
View source ↗Source history
- Indexed on
- 2026-01-20
- Index updated
- 2026-01-26
- Branch
- main
Index and sync dates describe this directory. View the source repository for code history.
GitHub ↗chat Comments (0)
Sign in to join the discussion and leave a comment.
No comments yet. Be the first to share your thoughts!