Refactor high-complexity React components in Dify frontend. Use when `pnpm analyze-component...
npx skills add yugasun/skills --skill "dev-web"
Install specific skill from multi-skill repository
# Description
Create and manage modern React web applications using Bun, Vite, React 19, Tailwind CSS 4, and shadcn/ui. Use this skill when the user asks to build a frontend, a web app, or modify UI components.
# SKILL.md
name: dev-web
description: Create and manage modern React web applications using Bun, Vite, React 19, Tailwind CSS 4, and shadcn/ui. Use this skill when the user asks to build a frontend, a web app, or modify UI components.
metadata:
author: Yuga Sun
version: "2026.01.29"
Web Development Skill
Instructions
Use this skill to scaffold and maintain web frontend projects in the web/ directory. Follow the stack preferences and configuration details below.
Quick Start
- Initialize: Use
bun create vite web --template react-ts. - Install:
bun install. - Styling: Configure Tailwind CSS 4.
- Components: Initialize
shadcn/ui.
Core Stack preferences
Package Manager & Runtime (Bun)
Use Bun as the primary package manager and runtime.
| Command | Description |
|---|---|
bun install |
Install dependencies |
bun add <pkg> |
Add dependency |
bun add -d <pkg> |
Add dev dependency |
bun run dev |
Start development server |
Project Location
The web frontend project should be initialized in the web/ directory.
Framework & Build (Vite + React 19)
Use Vite with React 19 and TypeScript 5.
To create a new project:
bun create vite web --template react-ts
Styling (Tailwind CSS 4)
Use Tailwind CSS v4.
- Install using the Vite plugin:
@tailwindcss/viteandtailwindcss. - Use the CSS-first configuration approach where possible (
@import "tailwindcss";).
Installation:
bun add tailwindcss@next @tailwindcss/vite
UI Library (shadcn/ui 3)
Use shadcn/ui v3 for the component system.
- Initialize with
bunx --bun shadcn@latest init. - Configure
components.jsonto resolve paths correctly (e.g.,@/components,@/lib/utils). - Use
bunx --bun shadcn@latest add <component>to add components.
Data & Routing (TanStack)
Use the TanStack suite for complex app needs:
- @tanstack/react-query: For async state management.
- @tanstack/react-router: For type-safe routing.
Installation:
bun add @tanstack/react-query @tanstack/react-router
Configuration Details
TypeScript
Ensure tsconfig.json is set to strict mode.
{
"compilerOptions": {
"target": "ESNext",
"module": "ESNext",
"moduleResolution": "bundler",
"strict": true,
"jsx": "react-jsx",
"noEmit": true,
"baseUrl": ".",
"paths": {
"@/*": ["./src/*"]
}
}
}
Vite Configuration
Update vite.config.ts to include the Tailwind CSS 4 plugin and path aliases.
import tailwindcss from '@tailwindcss/vite'
import react from '@vitejs/plugin-react'
import path from "node:path"
import { defineConfig } from 'vite'
export default defineConfig({
plugins: [
react(),
tailwindcss(),
],
resolve: {
alias: {
"@": path.resolve(__dirname, "./src"),
},
},
})
Global CSS
In src/index.css:
@import "tailwindcss";
/* Configuration for shadcn/ui CSS variables should be added here if not automatically handled by the CLI init */
References
Styling & Theming
| Topic | Description | Reference |
|---|---|---|
| Theming System | CSS variables, Dark mode, and Tailwind v4 configuration | theme |
# Supported AI Coding Agents
This skill is compatible with the SKILL.md standard and works with all major AI coding agents:
Learn more about the SKILL.md standard and how to use these skills with your preferred AI coding agent.