Typed routing, nested routes, and guards using auto_route. Use when implementing typed navigation, nested routes, or route guards with auto_route in Flutter.
Security
77 Stars
26 Forks
Updated Jan 18, 2026, 04:24 AM
Why Use This
This skill provides specialized capabilities for HoangNguyen0403's codebase.
Use Cases
Developing new features in the HoangNguyen0403 repository
Refactoring existing code to follow HoangNguyen0403 standards
Understanding and working with HoangNguyen0403's codebase structure
---
name: Flutter AutoRoute Navigation
description: Typed routing, nested routes, and guards using auto_route. Use when implementing typed navigation, nested routes, or route guards with auto_route in Flutter.
metadata:
labels: [navigation, auto-route, routing]
triggers:
files: ['**/router.dart', '**/app_router.dart']
keywords: [AutoRoute, AutoRouter, router, guards, navigate, push]
---
# AutoRoute Navigation
## **Priority: P1 (HIGH)**
Type-safe routing system with code generation using `auto_route`.
## Structure
```text
core/router/
├── app_router.dart # Router configuration
└── app_router.gr.dart # Generated routes
```
## Implementation Guidelines
- **@RoutePage**: Annotate all screen/page widgets with `@RoutePage()`.
- **Router Config**: Extend `_$AppRouter` and annotate with `@AutoRouterConfig`.
- **Typed Navigation**: Use generated route classes (e.g., `HomeRoute()`). Never use strings.
- **Nested Routes & Tabs**: Use `children` in `AutoRoute` for tabs. When navigating to a route with nested tabs, use the `children` parameter to define the initial active sub-route (e.g., `context.navigateTo(OrdersTabRoute(children: [ViewByOrdersPageRoute()]))`).
- **Guards**: Implement `AutoRouteGuard` for authentication/authorization logic.
- **Parameters**: Constructors of `@RoutePage` widgets automatically become route parameters.
- **Declarative**: Prefer `context.pushRoute()` or `context.replaceRoute()`.
## Reference & Examples
For full Router configuration and Auth Guard implementation:
See [references/REFERENCE.md](references/REFERENCE.md).
## Related Topics
go-router-navigation | layer-based-clean-architecture