Replaced REST API dependency with @valknarthing/pastel-wasm (130KB) for
complete browser-based color operations. The application is now fully
static (2.2MB total) with zero network latency and offline support.
**Key Changes:**
1. **WASM Integration:**
- Added @valknarthing/pastel-wasm dependency (0.1.0)
- Created lib/api/wasm-client.ts wrapper matching API interface
- Updated lib/api/client.ts to use WASM client by default
- All 18 color operations now run locally in browser
2. **Static Export Configuration:**
- Changed next.config.ts output from 'standalone' to 'export'
- Disabled image optimization for static export
- Removed API proxy route (app/api/pastel/[...path]/route.ts)
- Updated package.json scripts (removed dev:api, added serve)
3. **Docker Optimization:**
- Migrated from Node.js standalone to nginx-alpine
- Created nginx.conf with SPA routing and WASM mime types
- Updated Dockerfile for static file serving
- Reduced image size from ~150MB to ~25MB
- Changed port from 3000 to 80 (standard HTTP)
- Simplified docker-compose.yml (removed pastel-api service)
4. **Documentation Updates:**
- Updated README.md with WASM benefits and deployment options
- Added Key Benefits section highlighting zero-latency features
- Rewrote deployment section for static hosting platforms
- Updated CLAUDE.md tech stack and architecture
- Removed obsolete docs: DEV_SETUP.md, DOCKER.md, IMPLEMENTATION_PLAN.md
**Benefits:**
- 🚀 Zero Latency - All operations run locally via WebAssembly
- 📱 Offline First - Works completely offline after initial load
- 🌐 No Backend - Fully static, deploy anywhere
- ⚡ Fast - Native-speed color operations in browser
- 📦 Small - 2.2MB total (130KB WASM, 2.07MB HTML/CSS/JS)
**Deployment:**
Can now be deployed to any static hosting platform:
- Vercel, Netlify, Cloudflare Pages (zero config)
- GitHub Pages, S3, CDN
- Self-hosted nginx/Apache
- Docker (optional, nginx-based)
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Add comprehensive Docker deployment with automated builds:
**Docker Configuration:**
- Multi-stage Dockerfile for optimized Next.js production builds
- Stage 1: Install dependencies with pnpm
- Stage 2: Build application with standalone output
- Stage 3: Minimal runtime image with non-root user
- Includes health check endpoint
- Final image size optimized
- .dockerignore for efficient build context
- Enable standalone output in next.config.ts for Docker
**GitHub Actions Workflow:**
- Automated Docker image builds on push to main and tags
- Multi-platform support (linux/amd64, linux/arm64)
- Push to GitHub Container Registry (ghcr.io)
- Smart tagging strategy:
- `latest` for main branch
- `vX.X.X` for semver tags
- `main-SHA` for commit-specific images
- Build cache optimization with GitHub Actions cache
- Artifact attestation for supply chain security
**Docker Compose:**
- Combined stack for UI + API
- Environment variable configuration
- Health checks for both services
- Automatic restart policies
- Shared network configuration
**Documentation:**
- Updated README with Docker deployment instructions
- Pre-built image usage from GHCR
- Docker Compose setup guide
- Local build instructions
- Available image tags reference
**Production Ready:**
- Images automatically published to ghcr.io/valknarness/pastel-ui
- Supports both x64 and ARM64 architectures
- Health checks for container orchestration
- Environment-based configuration
- Non-root user for security
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Add comprehensive documentation and planning for Pastel UI:
- Complete architecture design using Next.js 16 and Tailwind CSS 4
- Detailed development guide (CLAUDE.md) with all patterns and conventions
- Feature-rich README with keyboard shortcuts and export formats
- Project structure and technology stack decisions
Features planned:
- Color playground with multi-format support
- Palette generation (harmony, distinct, gradient)
- Accessibility tools (WCAG, color blindness simulation)
- Named colors explorer (148 CSS/X11 colors)
- Batch operations with CSV/JSON import/export
- Command palette (Cmd+K) and keyboard shortcuts
- Dark/light mode with system preference detection
- Shareable links with URL state
Tech stack:
- Next.js 16 with App Router and Server Components
- React 19 with latest concurrent features
- Tailwind CSS 4 with CSS-first configuration
- TypeScript strict mode
- React Query for server state
- Zustand for client state
- Framer Motion for animations
Ready for implementation phase.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>