A modern chess web application built with Next.js, TypeScript, and shadcn/ui.
This is a monorepo with the following packages:
packages/web- Next.js 14+ web application with TypeScript and App Routerpackages/engine- Shared chess logic and types
- Framework: Next.js 14+ with App Router
- Language: TypeScript
- UI Components: shadcn/ui with custom chess theme
- Styling: Tailwind CSS with custom design tokens
- Package Manager: bun with workspaces
- Fonts: Inter (primary), JetBrains Mono (monospace)
- Primary Colors: Deep navy (#1A1A2E), Purple accent (#7C3AED)
- Secondary Colors: Teal accent (#2BC6B3)
- Chess Colors: Custom light/dark square colors
- Border Radius: 16px (rounded-2xl) for modern rounded design
- Typography: Inter font family with optimized weights
- bun (latest version)
- Node.js 18+
-
Install dependencies:
bun install
-
Start development server:
bun run dev
-
Build for production:
bun run build
bun run dev- Start development serverbun run build- Build all packagesbun run start- Start production serverbun run lint- Run ESLint across all packagesbun run type-check- Run TypeScript type checkingbun run test- Run tests across all packagesbun run clean- Clean build artifacts
bun run dev- Start Next.js development serverbun run build- Build Next.js applicationbun run start- Start production serverbun run lint- Run ESLintbun run type-check- TypeScript type checking
bun run build- Build TypeScript to dist/bun run dev- Watch mode compilationbun run lint- Run ESLintbun run type-check- TypeScript type checkingbun run test- Run Jest tests
The application follows a clean architecture with:
- Separation of Concerns: Chess logic is isolated in the engine package
- Type Safety: Full TypeScript coverage with strict configuration
- Modern UI: shadcn/ui components with custom chess theme
- Responsive Design: Mobile-first approach with Tailwind CSS
- Accessibility: Built-in accessibility features from shadcn/ui
This setup provides the foundation for implementing:
- Chess game logic and move validation
- Interactive chess board components
- Game state management
- Move history and notation
- Responsive design and mobile support
- Audio feedback system
- Comprehensive testing suite
See the implementation tasks in .kiro/specs/chess-web-app/tasks.md for detailed development plan.