dev-web
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 |
More from yugasun/skills
ai-news-collector
Automatically collect and summarize daily AI industry news, trends, and hot topics from platforms like GitHub (trending repos), X/Twitter (AI influencers/hashtags), and AI news aggregators. Use this skill when the user asks for "today's AI news", "AI industry updates", "what's trending in AI", or wants a daily digest of AI developments.
106s3
Uploads generated static sites or files (like slides) to AWS S3 or S3-compatible services (MinIO, Aliyun OSS, etc.) for public access. Use this skill when the user wants to publish or deploy their content to the cloud.
7dev-server
Create and manage Python backend services using uv, FastAPI, Pydantic, SQLAlchemy, and AI libraries. Use this skill when the user asks to build a backend, API, or server-side application.
6skill-creator
Guide for creating effective skills. This skill should be used when users want to create a new skill (or update an existing skill) that extends Claude's capabilities with specialized knowledge, workflows, or tool integrations.
6tavily
AI-optimized web search using Tavily Search API. Use when you need comprehensive web research, current events lookup, domain-specific search, or AI-generated answer summaries. Tavily is optimized for LLM consumption with clean structured results, answer generation, and raw content extraction. Best for research tasks, news queries, fact-checking, and gathering authoritative sources.
2