A web application for simulating and playing various chess variants. Built with modern web technologies to provide an interactive and educational chess experience.
- Interactive chess variant gameplay
- Modern, responsive user interface
- Type-safe codebase with TypeScript
- State management with Pinia
- Routing capabilities for multi-view application
- Vue 3 - Progressive JavaScript framework with Composition API
- TypeScript - Static type checking and enhanced developer experience
- Vite - Lightning-fast build tool and development server
- Vue DevTools - Browser extension for debugging Vue applications
- Pinia - Intuitive, type-safe state management for Vue
- Vue Router - Official routing library for Vue.js
- ESLint - Pluggable linting utility for JavaScript and TypeScript
- Oxlint - Fast Rust-based linter for additional validation
- Prettier - Opinionated code formatter
- Vitest - Fast unit testing framework powered by Vite
- Cypress - End-to-end testing framework
- Vue Test Utils - Official testing utilities for Vue components
- jsdom - JavaScript implementation of web standards for Node.js
- vue-tsc - TypeScript compiler wrapper for Vue SFC type checking
- npm-run-all2 - CLI tool for running multiple npm scripts
- Node.js: >=22.12.0
Install dependencies:
npm installRun the application with hot-reload for development:
npm run devThe development server will start at http://localhost:5173 (or another port if 5173 is in use).
Run TypeScript type checking:
npm run type-checkLint and auto-fix code issues:
npm run lintFormat code with Prettier:
npm run formatRun unit tests with Vitest:
npm run test:unitRun E2E tests in development mode (with Cypress UI):
npm run test:e2e:devRun E2E tests against production build (headless):
npm run build
npm run test:e2eType-check, compile, and minify for production:
npm run buildThe production-ready files will be generated in the dist directory.
Preview the production build locally:
npm run preview