32 lines
731 B
Cheetah
32 lines
731 B
Cheetah
---
|
|
description: "Auto Route conventions for {{PROJECT_NAME}}"
|
|
alwaysApply: true
|
|
---
|
|
|
|
# Auto Route Standards — {{PROJECT_NAME}}
|
|
|
|
## Route definitions
|
|
```dart
|
|
@AutoRouterConfig()
|
|
class AppRouter extends $AppRouter {
|
|
@override
|
|
List<AutoRoute> get routes => [
|
|
AutoRoute(page: HomeRoute.page, initial: true),
|
|
AutoRoute(page: ProductRoute.page, path: '/products/:id'),
|
|
AutoRoute(page: LoginRoute.page, guards: [AuthGuard]),
|
|
];
|
|
}
|
|
```
|
|
|
|
## Navigation
|
|
```dart
|
|
context.router.push(ProductRoute(id: product.id));
|
|
context.router.pop();
|
|
context.router.replace(HomeRoute());
|
|
```
|
|
|
|
## Rules
|
|
- Always use typed `Route` classes — never string paths
|
|
- Guards implement `AutoRouteGuard`
|
|
- **NEVER** use `Navigator.push` directly
|