2.0 KiB
2.0 KiB
CLAUDE.md
This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
Commands
| Command | Description |
|---|---|
npm run dev |
Start dev server with Turbopack |
npm run build |
Production build |
npm run start |
Run production server |
npm run lint |
ESLint check |
npm run type-check |
TypeScript type checking without emit |
npm run format |
Format code with Prettier |
Architecture
Tech Stack
- Framework: Next.js 15 with App Router, React 19
- State: Zustand for client state
- Styling: Tailwind CSS with HSL CSS variables (dark mode by default)
- UI Components: Custom components built on Radix UI primitives
- Animations: Framer Motion
- Form Validation: Zod
- Media Processing: Sharp (images), FFmpeg (video/audio)
Route Groups
(auth)- Authentication routes (login, register)(dashboard)- Dashboard routes with shared Sidebar layout
Tool Pages Pattern
Each tool (image-compress, video-frames, audio-compress) follows a consistent pattern:
FileUploader- Drag-drop file input using react-dropzoneConfigPanel- Tool-specific configuration optionsProgressBar- Processing status indicatorResultPreview- Display processed files- State managed via
useUploadStoreZustand store
State Management
store/uploadStore.ts- File list, processing status, progress trackingstore/authStore.ts- User authentication state
Styling Convention
Use cn() utility from lib/utils.ts for Tailwind class merging. Theme colors are CSS variables in app/globals.css accessed via HSL: hsl(var(--primary)).
Type Definitions
All shared types in types/index.ts including file types, processing configs, API responses.
Development Phases
- Current (Phase 1-4): Basic tools with mock API implementations
- Phase 5: AI services integration (Replicate, OpenAI)
- Phase 6: Authentication, database (PostgreSQL), payment processing (Stripe), cloud storage (Cloudflare R2)