database-expert
Expert database architect specializing in schema design, query optimization, data modeling, and migration strategies. Japanese: データベースエキスパート
Specialized agent for generating Angular routing configurations and feature organization. In Angular 17+, this focuses on route-based lazy loading rather than NgModules.
> /plugin marketplace add Fujigo-Software/f5-framework-claudeHow it fires
How this agent gets triggered: by you, by Claude, or both.
Context preview
The summary Claude sees to decide when to auto-load this agent.
Specialized agent for generating Angular routing configurations and feature organization. In Angular 17+, this focuses on route-based lazy loading rather than NgModules.
Specialized agent for generating Angular routing configurations and feature organization. In Angular 17+, this focuses on route-based lazy loading rather than NgModules.
required: - name: Feature name - routes: Array of route definitions optional: - guards: Route guards to apply - resolvers: Data resolvers - layout: Layout component for nested routes - parent_route: Parent route path
features/{feature}/
├── {feature}.routes.ts # Route configuration
├── pages/ # Page components (routed)
│ ├── {page}/
│ │ └── {page}.component.ts
├── components/ # Feature components
├── services/ # Feature services
├── models/ # Feature models
└── guards/ # Feature-specific guards// features/products/products.routes.ts
import { Routes } from '@angular/router';
export const PRODUCTS_ROUTES: Routes = [
{
path: '',
loadComponent: () => import('./pages/product-list/product-list.component')
.then(m => m.ProductListComponent),
title: 'Products',
},
{
path: 'new',
loadComponent: () => import('./pages/product-form/product-form.component')
.then(m => m.ProductFormComponent),
title: 'New Product',
},
{
path: ':id',
loadComponent: () => import('./pages/product-detail/product-detail.component')
.then(m => m.ProductDetailComponent),
},
{
path: ':id/edit',
loadComponent: () => import('./pages/product-form/product-form.component')
.then(m => m.ProductFormComponent),
title: 'Edit Product',
},
];import { authGuard } from '../../core/guards/auth.guard';
import { roleGuard } from '../../core/guards/role.guard';
export const ADMIN_ROUTES: Routes = [
{
path: '',
canActivate: [authGuard],
canActivateChild: [roleGuard],
data: { roles: ['admin'] },
children: [
{
path: '',
loadComponent: () => import('./pages/dashboard/dashboard.component')
.then(m => m.DashboardComponent),
},
{
path: 'users',
loadChildren: () => import('./users/users.routes')
.then(m => m.USERS_ROUTES),
},
],
},
];export const DASHBOARD_ROUTES: Routes = [
{
path: '',
loadComponent: () => import('./layouts/dashboard-layout/dashboard-layout.component')
.then(m => m.DashboardLayoutComponent),
children: [
{
path: '',
loadComponent: () => import('./pages/overview/overview.component')
.then(m => m.OverviewComponent),
},
{
path: 'analytics',
loadComponent: () => import('./pages/analytics/analytics.component')
.then(m => m.AnalyticsComponent),
},
],
},
];import { productResolver } from './resolvers/product.resolver';
export const PRODUCTS_ROUTES: Routes = [
{
path: ':id',
loadComponent: () => import('./pages/product-detail/product-detail.component')
.then(m => m.ProductDetailComponent),
resolve: {
product: productResolver,
},
},
];// app.routes.ts
import { Routes } from '@angular/router';
import { authGuard } from './core/guards/auth.guard';
export const routes: Routes = [
{
path: '',
loadComponent: () => import('./features/home/home.component')
.then(m => m.HomeComponent),
title: 'Home',
},
{
path: 'products',
loadChildren: () => import('./features/products/products.routes')
.then(m => m.PRODUCTS_ROUTES),
},
{
path: 'dashboard',
canActivate: [authGuard],
loadChildren: () => import('./features/dashboard/dashboard.routes')
.then(m => m.DASHBOARD_ROUTES),
},
{
path: 'auth',
loadChildren: () => import('./features/auth/auth.routes')
.then(m => m.AUTH_ROUTES),
},
{
path: '**',
loadComponent: () => import('./shared/components/not-found/not-found.component')
.then(m => m.NotFoundComponent),
title: 'Page Not Found',
},
];Input:
name: products
routes:
- path: '', component: ProductList
- path: 'category/:slug', component: CategoryProducts
- path: ':id', component: ProductDetail
- path: ':id/reviews', component: ProductReviews
guards: [authGuard (for checkout)]
Output: Complete products.routes.ts with lazy loadingInput:
name: admin
layout: AdminLayout
guards: [authGuard, adminGuard]
routes:
- path: '', component: Dashboard
- path: 'users', children: USERS_ROUTES
- path: 'settings', component: Settings
Output: Nested routes with layout and guardsRepo: Fujigo-Software/f5-framework-claude
Expert database architect specializing in schema design, query optimization, data modeling, and migration strategies. Japanese: データベースエキスパート
Expert DevOps architect specializing in CI/CD pipelines, infrastructure as code, containerization, and monitoring. Japanese: DevOpsアーキテクト
Mobile app architecture specialist. iOS, Android, React Native, Flutter.
Backend architecture specialist. Microservices, APIs, databases.
Frontend architecture specialist. React, Vue, Angular, Next.js.