frontend-react
React Development Skill
Comprehensive skill for modern React development, focusing on Next.js, TypeScript, Tailwind CSS, and the wider React ecosystem.
Technology Stack
Core Framework: React + Next.js
React Fundamentals
- Component-Based: Declarative UI building blocks
- Hooks: Functional state and side-effect management (
useState,useEffect,useContext) - Virtual DOM: Efficient reconciliation and rendering
- React Server Components (RSC): Server-side rendering with zero client-side bundle size for static content
Next.js Features (App Router)
- App Router: File-system based routing in
app/directory - Server Actions: Direct server-side mutations from client components
- Streaming SSR: Progressive rendering with Suspense
- Metadata API: SEO and social share optimization
- Route Handlers: API endpoints (GET, POST, etc.) in
route.tsfiles - Middleware: Request interception and processing
UI Framework: Tailwind CSS + shadcn/ui
Tailwind CSS
- Utility-first CSS framework
- Responsive design with prefixes (
md:,lg:) - Custom configuration via
tailwind.config.ts - Dark mode support
shadcn/ui
- Reusable components built with Radix UI and Tailwind CSS
- Accessible and customizable
- "Own your code" philosophy (components copied to your project)
- Key Components: Button, Dialog, Form, Dropdown, Card, Sheet
State Management
- Local State:
useState,useReducer - Global State: React Context, Zustand (for lightweight global state)
- Server State: TanStack Query (React Query) for async data fetching and caching
Project Architecture
Recommended Directory Structure (Next.js App Router)
src/
├── app/
│ ├── layout.tsx # Root layout
│ ├── page.tsx # Home page
│ ├── globals.css # Global styles
│ ├── (auth)/ # Route group (doesn't affect URL path)
│ │ ├── login/
│ │ │ └── page.tsx
│ │ └── register/
│ │ └── page.tsx
│ └── api/ # API routes
├── components/
│ ├── ui/ # shadcn/ui components
│ │ ├── button.tsx
│ │ └── ...
│ ├── Navbar.tsx
│ └── Footer.tsx
├── lib/
│ ├── utils.ts # Utility functions (cn, etc.)
│ └── db.ts # Database connection
└── hooks/ # Custom React hooks
└── use-toast.ts
Best Practices
Component Design
- Server by Default: Use Server Components for everything that doesn't need interactivity.
- Client Boundary: Add
'use client'directive only when using hooks or event listeners. - Composition: Use
childrenprop to avoid prop drilling. - Micro-Components: Break down complex UIs into smaller, single-responsibility components.
Performance
- Image Optimization: Use
next/imagefor automatic optimization. - Font Optimization: Use
next/fontto prevent layout shift. - Lazy Loading: Use
next/dynamicorReact.lazyfor heavy components. - Code Splitting: Automatic in Next.js, but be mindful of large dependencies.
Accessibility (a11y)
- Use semantic HTML tags (
<main>,<article>,<nav>). - Ensure all interactive elements have keyboard support.
- Use valid ARIA attributes when semantic HTML isn't enough.
- Radix UI primitives (used in shadcn/ui) handle many a11y concerns automatically.
Common Code Patterns
Next.js Page (Server Component)
import { db } from "@/lib/db"
export default async function DashboardPage() {
const data = await db.user.findMany()
return (
<main className="p-6">
<h1 className="text-2xl font-bold">Dashboard</h1>
<ul>
{data.map(user => (
<li key={user.id}>{user.name}</li>
))}
</ul>
</main>
)
}
Client Component with State
"use client"
import { useState } from "react"
import { Button } from "@/components/ui/button"
export function Counter() {
const [count, setCount] = useState(0)
return (
<div className="flex gap-4 items-center">
<span>Count: {count}</span>
<Button onClick={() => setCount(c => c + 1)}>Increment</Button>
</div>
)
}
More from projanvil/mindforge
enterprise-java
Enterprise Java development skill covering Spring ecosystem, microservices, design patterns, performance optimization, and Java best practices. Use this skill when building enterprise Java applications, working with Spring Boot, implementing microservices, or need guidance on Java architecture and performance tuning.
12api-design
Professional API design skill covering RESTful APIs, GraphQL, API versioning, authentication, idempotency, and API documentation best practices. Use this skill when designing RESTful APIs, creating GraphQL schemas, implementing API versioning strategies, or need guidance on authentication, error handling, and API documentation.
10testing
Comprehensive software testing skill covering unit tests, integration tests, TDD/BDD, mocking strategies, and test automation across multiple languages. Use this skill when writing test cases, designing test strategies, implementing test automation, or need guidance on testing frameworks and best practices. Ideal for ensuring code quality through comprehensive testing approaches.
9frontend-vue
Professional Vue.js development skill covering Nuxt 3, Vue 3 Composition API, Tailwind CSS, and the Vue ecosystem. Use this skill when building Vue applications, implementing Nuxt features, using Pinia for state management, or component libraries like shadcn-vue.
9design-pattern
Expert knowledge in software design patterns covering GoF patterns, architectural patterns, and modern design principles. Apply appropriate patterns to improve code maintainability, scalability, and extensibility. Use this skill when designing new software components, refactoring existing code, reviewing code for design quality, resolving complex design problems, or need guidance on applying SOLID principles and identifying code smells.
9tech-documentation
Technical documentation writing skill covering API docs, architecture documentation, deployment guides, and various technical writing best practices. Use this skill when creating technical documentation, writing API documentation, creating architecture design documents, or need templates for deployment and operations manuals.
9