Smithery Logo
MCPsSkillsDocsPricing
Login
Smithery Logo

Accelerating the Agent Economy

Resources

DocumentationPrivacy PolicySystem Status

Company

PricingAboutBlog

Connect

© 2026 Smithery. All rights reserved.

    aj-geddes

    frontend-routing

    aj-geddes/frontend-routing
    Design
    59

    About

    SKILL.md

    Install

    Install via Skills CLI

    or add to your agent
    • Claude Code
      Claude Code
    • Codex
      Codex
    • OpenClaw
      OpenClaw
    • Cursor
      Cursor
    • Amp
      Amp
    • GitHub Copilot
      GitHub Copilot
    • Gemini CLI
      Gemini CLI
    • Kilo Code
      Kilo Code
    • Junie
      Junie
    • Replit
      Replit
    • Windsurf
      Windsurf
    • Cline
      Cline
    • Continue
      Continue
    • OpenCode
      OpenCode
    • OpenHands
      OpenHands
    • Roo Code
      Roo Code
    • Augment
      Augment
    • Goose
      Goose
    • Trae
      Trae
    • Zencoder
      Zencoder
    • Antigravity
      Antigravity
    ├─
    ├─
    └─

    About

    Implement client-side routing using React Router, Vue Router, and Angular Router. Use when building multi-page applications with navigation and route protection.

    SKILL.md

    Frontend Routing

    Table of Contents

    • Overview
    • When to Use
    • Quick Start
    • Reference Guides
    • Best Practices

    Overview

    Implement client-side routing with navigation, lazy loading, protected routes, and state management for multi-page single-page applications.

    When to Use

    • Multi-page navigation
    • URL-based state management
    • Protected/guarded routes
    • Lazy loading of components
    • Query parameter handling

    Quick Start

    Minimal working example:

    // App.tsx
    import { BrowserRouter, Routes, Route, Navigate } from 'react-router-dom';
    import { Layout } from './components/Layout';
    import { Home } from './pages/Home';
    import { NotFound } from './pages/NotFound';
    import { useAuth } from './hooks/useAuth';
    import React from 'react';
    
    // Lazy loaded components
    const Dashboard = React.lazy(() => import('./pages/Dashboard'));
    const UserProfile = React.lazy(() => import('./pages/UserProfile'));
    const Settings = React.lazy(() => import('./pages/Settings'));
    
    // Protected route wrapper
    const ProtectedRoute: React.FC<{ children: React.ReactNode }> = ({ children }) => {
      const { isAuthenticated } = useAuth();
    
      if (!isAuthenticated) {
        return <Navigate to="/login" replace />;
      }
    
      return <>{children}</>;
    };
    
    export const App: React.FC = () => {
    // ... (see reference guides for full implementation)
    

    Reference Guides

    Detailed implementations in the references/ directory:

    Guide Contents
    React Router v6 React Router v6
    Vue Router 4 Vue Router 4
    Angular Routing Angular Routing
    Query Parameter Handling Query Parameter Handling
    Route Transition Effects Route Transition Effects

    Best Practices

    ✅ DO

    • Follow established patterns and conventions
    • Write clean, maintainable code
    • Add appropriate documentation
    • Test thoroughly before deploying

    ❌ DON'T

    • Skip testing or validation
    • Ignore error handling
    • Hard-code configuration values
    Recommended Servers
    ThinAir Geo
    ThinAir Geo
    Svelte
    Svelte
    Google Maps
    Google Maps
    Repository
    aj-geddes/useful-ai-prompts
    Files