This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
This is a Next.js 15.5.4 application using React 19 and TypeScript, configured with Turbopack for enhanced development performance. The project is a developer utility app that provides various tools including JSON formatting, time conversion, and timer functionality. The UI is built with Tailwind CSS v4 and shadcn/ui components.
npm run dev- Start development server with Turbopack optimization (runs on port 3001)npm run build- Build production bundle with Turbopacknpm start- Start production server
- App Router: Uses Next.js App Router with
app/directory structure - Layout: Root layout with Geist fonts, dark mode support, and sidebar navigation
- Tool Pages: Individual pages for each utility tool under
/time/,/json/,/string/,/random/,/computer/routes - Components: Modular UI components with shadcn/ui system
- Utilities: Central utility functions in
lib/utils.ts - Dashboard: Main landing page (
/) with tool overview and quick navigation
The application provides developer utility tools across 5 main categories:
- Timer (
/time/timer): Countdown timer with notifications, preset times, and visual feedback - Time Converter (
/time/converter): Multi-format time conversion with timezone support - Cron (
/time/cron): Cron expression generator and validator
- JSON Formatter (
/json/formatter): JSON validation, formatting, and error detection with Korean interface - JSON Converter (
/json/converter): Convert JSON to various formats
- Case (
/string/case): Convert text between different case styles (camelCase, snake_case, etc.) - Newline (
/string/newline): Convert line endings and handle newline characters - Regex (
/string/regex): Regular expression tester with real-time matching - Manipulator (
/string/manipulator): String manipulation tools (trim, reverse, etc.) - Extractor (
/string/extractor): Extract specific patterns from text - Unique (
/string/unique): Remove duplicates, count occurrences, and display statistics with visual progress bars - Set Operations (
/string/set-operations): Perform set operations (union, intersection, difference) on text sets
- Roulette (
/random/roulette): Random selection tool with customizable options - Lotto (
/random/lotto): Generate random lottery numbers
- Sort (
/computer/sort): Sort algorithms visualizer and tool - Encoding (
/computer/encoding): Encode/decode text in various formats (Base64, URL, etc.) - Base Converter (
/computer/base-converter): Convert numbers between different bases (binary, decimal, hex, etc.) - CIDR (
/computer/cidr): CIDR notation calculator for network subnetting
- Tailwind CSS v4: Uses new CSS-first approach with
@import "tailwindcss" - Design Tokens: Comprehensive CSS variables for light/dark theming with OKLCH color space
- Dark Mode: Configured with
next-themesand.darkclass switching - Component Library: shadcn/ui "new-york" style with Lucide icons
- Custom Animations: Includes shake animation for timer completion
- Sidebar Navigation: Collapsible sidebar with categorized tool navigation using Radix UI (max-height increased to 500px to accommodate all menu items)
- Header: Breadcrumb navigation with theme toggle
- Responsive: Mobile-friendly layout with proper responsive grid systems
- Dashboard: Category-based tool overview with stats and quick access cards
- UI Components: Radix UI primitives, shadcn/ui components, Lucide React icons
- Date/Time: date-fns and date-fns-tz for time manipulation and timezone handling
- Styling: Tailwind CSS v4, clsx, tailwind-merge for conditional styling
- Theme: next-themes for dark/light mode switching
- Strict mode enabled with path aliases (
@/*maps to root directory) - Next.js plugin configured for optimal development experience
- Target ES2017 with modern module resolution
As defined in components.json:
@/components- UI components directory@/lib- Utility functions and shared logic@/hooks- React hooks@/components/ui- shadcn/ui components
app/globals.css- Tailwind imports, comprehensive design tokens, and shake animation keyframeslib/utils.ts- Exportscn()function for conditional class mergingcomponents/app-sidebar.tsx- Main navigation with collapsible tool categoriescomponents/header.tsx- Header with breadcrumbs and theme togglecomponents.json- shadcn/ui configuration with aliases and style preferences
- Turbopack: Used for both development and production builds for faster compilation
- Internationalization: Interface uses Korean text for user-facing elements
- Client Components: All tool pages use "use client" directive for interactivity
- Notifications: Timer uses browser Notification API with permission handling
- Clipboard API: Copy functionality with fallback for older browsers
- Debouncing: Input validation uses 300ms debounce for performance
- Visual Feedback: Tools like Unique feature progress bars and statistics cards for better UX
- Real-time Processing: Most tools process input in real-time with useEffect hooks
- CSS 컴포넌트가 필요하면 Shadcn 의 컴포넌트를 사용한다
- 컴포넌트를 추가하는 방법은
npx shadcn@latest add 컴포넌트명으로 추가한다 - 기존 컴포넌트 스타일과 일관성을 유지하고 "new-york" 스타일을 따른다
- npm run dev 커맨드를 사용해서 확인해볼 필요 없음
- 새로운 페이지가 추가 될 경우 Dashboard 와 도구 검색에도 반영 시키기