Interactive Vim training game where users complete levels by transforming text using Vim motions.
- Interactive Levels: Practice Vim motions in a real editor environment.
- Scoring System: Compare your solution against the optimal keystrokes.
- Progress Tracking: Track your scores and improvements.
- Vim Emulation: Powered by
@replit/codemirror-vimfor accurate Vim behavior.
- Framework: React 19 + Vite
- Styling: Tailwind CSS v4 + Motion
- Editor: CodeMirror 6 with @replit/codemirror-vim
- State Management: Zustand + Nuqs (URL state)
- Backend/Network: Supabase (RPC-first) + Zod
- Testing: Vitest + React Testing Library
- Tooling: Biome (Linter/Formatter)
- Node.js (Latest LTS recommended)
- pnpm
-
Install dependencies:
pnpm install
-
Start the development server:
pnpm dev
pnpm dev: Start development serverpnpm build: Build for productionpnpm lint:fix: Fix linting and formatting issues (Biome)pnpm test: Run testspnpm type-check: Run TypeScript type checking
- Motion log grouping
- Optimal solution comparison
- Analytics (Vexo)
- Keystroke visualization
- Vimsplain.ts package
- Text object support improvements
- Medals/Achievements system
- Theme picker
- Crowd-sourced levels