--- name: comprehensive-frontend-dev description: Complete frontend development skill combining distinctive design aesthetics with technical excellence. Creates production-grade web applications using React, Next.js, TypeScript, and modern tooling. Use when building web components, pages, or applications that require both exceptional design quality and robust technical implementation. Handles everything from creative UI design to performance optimization, component scaffolding, bundle analysis, and deployment. --- # Comprehensive Frontend Development Complete toolkit for building exceptional frontend applications that combine distinctive design with technical excellence. ## Design-First Philosophy Before any technical implementation, establish a strong design foundation: ### Design Thinking Process **1. Context Understanding** - **Purpose**: What problem does this interface solve? Who are the users? - **Constraints**: Technical requirements (framework, performance, accessibility) - **Goals**: User experience objectives and business outcomes **2. Aesthetic Direction** Choose a BOLD, intentional aesthetic direction. Avoid generic AI aesthetics: - **Brutally minimal**: Clean lines, abundant whitespace, precise typography - **Maximalist**: Rich textures, layered elements, complex compositions - **Retro-futuristic**: Geometric forms, neon accents, space-age typography - **Organic/natural**: Curved forms, earth tones, natural textures - **Editorial**: Magazine-style layouts, bold typography hierarchies - **Industrial**: Raw materials, exposed structure, utilitarian design **3. Visual System Design** - **Typography**: Choose distinctive font pairings. Avoid generic fonts (Inter, Roboto, Arial). Use characterful choices that elevate the aesthetic. - **Color Palette**: Commit to cohesive themes. Dominant colors with sharp accents outperform distributed palettes. - **Spatial Composition**: Embrace asymmetry, overlap, diagonal flow, grid-breaking elements. - **Motion Strategy**: Plan high-impact moments with staggered reveals rather than scattered micro-interactions. ### Visual Excellence Guidelines **Typography Hierarchy** ```css /* Distinctive font system */ :root { --font-display: 'Playfair Display', 'Crimson Text', 'Abril Fatface'; --font-body: 'Source Sans Pro', 'IBM Plex Sans', 'Nunito Sans'; --font-mono: 'JetBrains Mono', 'Fira Code', 'Source Code Pro'; } ``` **Color & Theme System** ```css :root { /* Theme-specific color variables */ --color-primary: hsl(var(--primary-h) var(--primary-s) var(--primary-l)); --color-accent: hsl(var(--accent-h) var(--accent-s) var(--accent-l)); --color-surface: hsl(var(--surface-h) var(--surface-s) var(--surface-l)); --color-text: hsl(var(--text-h) var(--text-s) var(--text-l)); } ``` **Animation Framework** ```css /* Orchestrated motion system */ @keyframes fadeInUp { from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: translateY(0); } } .stagger-animation > * { animation: fadeInUp 0.6s ease-out forwards; } .stagger-animation > *:nth-child(1) { animation-delay: 0ms; } .stagger-animation > *:nth-child(2) { animation-delay: 100ms; } .stagger-animation > *:nth-child(3) { animation-delay: 200ms; } ``` ## Technical Implementation ### Tech Stack & Architecture **Core Technologies** - **Frontend**: React 18+, Next.js 14+, TypeScript - **Styling**: Tailwind CSS, CSS Modules, Styled Components - **State**: Zustand, Redux Toolkit, React Query/TanStack Query - **Animation**: Framer Motion, CSS animations - **Testing**: Vitest, React Testing Library, Playwright - **Build**: Vite, Webpack, Turbopack **Project Structure** ``` src/ ├── components/ # Reusable UI components │ ├── ui/ # Base design system components │ ├── forms/ # Form-specific components │ └── layout/ # Layout components ├── pages/ # Page components ├── hooks/ # Custom React hooks ├── lib/ # Utilities and configurations ├── styles/ # Global styles and themes ├── types/ # TypeScript type definitions └── utils/ # Helper functions ``` ### Development Workflow **1. Component Development** ```bash # Generate new component with scaffolding python scripts/component_generator.py ComponentName --type=ui ``` **2. Performance Analysis** ```bash # Analyze bundle size and performance python scripts/bundle_analyzer.py ./build --detailed ``` **3. Quality Assurance** ```bash # Run comprehensive checks npm run lint # ESLint + Prettier npm run type-check # TypeScript compilation npm run test # Unit tests npm run test:e2e # End-to-end tests ``` ### Component Architecture **Design System Components** ```typescript // Base component with design system integration interface BaseComponentProps { variant?: 'primary' | 'secondary' | 'accent'; size?: 'sm' | 'md' | 'lg' | 'xl'; className?: string; children?: React.ReactNode; } const Button: React.FC> = ({ variant = 'primary', size = 'md', className, children, ...props }) => { return ( ); }; ``` **Performance Optimizations** ```typescript // Lazy loading with Suspense const LazyComponent = lazy(() => import('./HeavyComponent')); // Memoized expensive computations const expensiveValue = useMemo(() => { return heavyCalculation(data); }, [data]); // Optimized re-renders const MemoizedComponent = memo(({ items }: { items: Item[] }) => { return ( ); }); ``` ### Advanced Patterns **State Management** ```typescript // Zustand store with TypeScript interface AppState { user: User | null; theme: 'light' | 'dark'; setUser: (user: User | null) => void; toggleTheme: () => void; } const useAppStore = create((set) => ({ user: null, theme: 'light', setUser: (user) => set({ user }), toggleTheme: () => set((state) => ({ theme: state.theme === 'light' ? 'dark' : 'light' })), })); ``` **Error Boundaries & Loading States** ```typescript class ErrorBoundary extends Component< { children: ReactNode; fallback: ReactNode }, { hasError: boolean } > { constructor(props: any) { super(props); this.state = { hasError: false }; } static getDerivedStateFromError(_: Error) { return { hasError: true }; } render() { if (this.state.hasError) { return this.props.fallback; } return this.props.children; } } ``` ## Reference Documentation ### React Patterns Comprehensive patterns and practices in `references/react_patterns.md`: - Component composition patterns - Hook design patterns - State management strategies - Performance optimization techniques - Testing approaches ### Next.js Optimization Complete optimization guide in `references/nextjs_optimization.md`: - App Router best practices - Server-side rendering strategies - Static generation optimization - Image and asset optimization - Core Web Vitals improvement ### Design System Standards Design system guidelines in `references/design_system.md`: - Color theory and palette generation - Typography scale and pairing - Spacing and layout systems - Animation and motion principles - Accessibility compliance (WCAG 2.1) ### Frontend Best Practices Technical standards in `references/frontend_best_practices.md`: - Code organization and architecture - Security considerations - Performance monitoring - Deployment strategies - Maintenance and refactoring ## Automated Tools ### Component Generator ```bash python scripts/component_generator.py ButtonCard --type=ui --props="title,subtitle,onClick" ``` - Generates component file with TypeScript interface - Creates accompanying test file - Includes Storybook story template - Applies design system patterns ### Bundle Analyzer ```bash python scripts/bundle_analyzer.py ./build --optimize --report ``` - Analyzes bundle size and composition - Identifies optimization opportunities - Generates performance recommendations - Creates visual dependency graphs ### Project Scaffolder ```bash python scripts/frontend_scaffolder.py --template=dashboard --features="auth,charts,forms" ``` - Scaffolds complete project structures - Applies architectural best practices - Integrates design system foundations - Sets up development tooling ## Quality Standards ### Design Quality - Every interface must have a clear, intentional aesthetic direction - No generic AI aesthetics (avoid Inter, purple gradients, predictable layouts) - Typography must be carefully considered and distinctive - Color palettes should be cohesive and purposeful - Animations should enhance UX, not distract ### Technical Quality - TypeScript for all production code - 90%+ test coverage for critical paths - Core Web Vitals scores: LCP < 2.5s, FID < 100ms, CLS < 0.1 - Accessibility compliance (WCAG 2.1 AA) - Mobile-first responsive design ### Code Standards - ESLint + Prettier for consistency - Semantic HTML and proper ARIA labels - Error boundaries for graceful failures - Performance monitoring and optimization - Security best practices (CSP, sanitization) ## Common Commands ```bash # Development npm run dev # Start development server npm run build # Production build npm run preview # Preview build locally npm run analyze # Bundle analysis # Quality npm run lint # Lint and format code npm run type-check # TypeScript validation npm run test # Unit tests npm run test:e2e # End-to-end tests npm run lighthouse # Performance audit # Tools python scripts/component_generator.py [options] python scripts/bundle_analyzer.py [options] python scripts/frontend_scaffolder.py [options] ``` ## Integration Examples ### Complete Feature Implementation ```typescript // Feature: User Profile Dashboard // 1. Design Direction: Minimal editorial with bold typography // 2. Technical Implementation: React + TypeScript + Zustand // 3. Performance: Lazy loading + memoization // 4. Testing: Unit + integration + E2E coverage const UserDashboard: React.FC = () => { const { user, updateUser } = useAppStore(); const { data: metrics, isLoading } = useQuery(['user-metrics'], fetchMetrics); return ( }> }>
); }; ``` Remember: Exceptional frontend development requires both creative vision and technical excellence. Never compromise on either aesthetic quality or technical implementation.