renzorlive/vimmaster
renzorlive/vimmaster has 1,721 GitHub stars and 71 forks. GitHot measured +1 stars in 24 hours and +3 in 7 days. Last checked 2026-11-09 00:27 UTC. Last push 2026-07-16.
VIM Master: in-browser game that teaches core Vim motions and editing commands through short, focused levels.
What you can do
- 🎮 Interactive Learning: Learn Vim commands directly in a simulated editor environment.
- 📚 JSON-Driven Engine: Every lesson is a self-contained JSON file, making it incredibly easy to add new content.
- 🚀 Practice Arena: Test your speed and accuracy in time-limited challenges.
- 📘 Cheat Mode: An easily accessible command reference to help you remember commands.
Measured star growth
- in 24h
- +1
- in 7 days
- +3
- in 15 days
- Update delayed
- in 1 month
- Update delayed
Net star changes over overlapping periods, not daily totals. Missing measurements are left blank. Stars measure attention, not software quality.
README.md
OriginalVIM Master
Learn Vim by playing. VIM Master is an interactive, browser-based game designed to teach Vim commands through short, focused lessons, progressive difficulty, and gamification.
✨ Features
- 🎮 Interactive Learning: Learn Vim commands directly in a simulated editor environment.
- 🏆 Gamification: Earn XP, build Combos, and unlock achievements and badges as you progress.
- 📚 JSON-Driven Engine: Every lesson is a self-contained JSON file, making it incredibly easy to add new content.
- 🚀 Practice Arena: Test your speed and accuracy in time-limited challenges.
- 📘 Cheat Mode: An easily accessible command reference to help you remember commands.
- 💾 Local Saves: Your progress, badges, and XP are automatically saved locally and can be imported/exported.
🚀 Quick Start
To run the game locally:
git clone https://github.com/renzorlive/vimmaster.git
cd vimmaster
npm install
npm run check
npm start
The game will be served locally via Vite (usually on http://localhost:5173/).
🏗️ Architecture
Starting with V3, VIM Master uses a Content Platform Architecture:
- Engine as API: The game engine purely consumes content. It does not hardcode lessons.
- One JSON = One Lesson: All content lives in
content/lessons/*.json. - Content Provider: During build time (
npm run build:content), JSON lessons are compiled into a single optimized source of truth (content/index.json) that the engine reads.
Project Structure
content/ # JSON lessons and schema definitions
docs/ # Community guides, architecture, and principles
js/ # Game engine, progress system, and UI components
tests/ # Contract, Golden, and Regression test suites
🛡️ Testing & Validation
VIM Master takes stability seriously. We employ a robust 4-pillar testing strategy:
- Contract Suite (
npm run test:contract): Validates all JSON lessons against strict schemas. It ensures no missing fields, valid metadata, and valid keys. - Golden Suite (
npm run test:golden): E2E validation. It runs the exact keypresses from a lesson'ssolutionarray through the actual game engine and validates that the final editor state matches the expectedtargetContent. - Regression Suite: Protects against previously resolved bugs (e.g. Save Corruption
TD-0001) re-emerging. - Unit Suite: Verifies internal state logic and helper functions.
Run all tests at once using:
npm run check
🤝 Contributing
Community First! Our architecture is designed specifically so that anyone can contribute new lessons without needing to touch or understand the game engine code.
Want to add a new lesson for a Vim command? Just copy an existing JSON file, edit the text, and open a PR! 👉 Read our full guide: Contributing a Lesson
🗺️ Roadmap
- ✅ V2 Architecture Freeze: JSON-driven content migration complete.
- ✅ Community Alpha: Testing suites, documentation, and gamification (XP/Combo) integrated.
- 🚧 V3 UX Polish: First-Time User Experience (FTUE), minimalist UI, and reduced cognitive load.
- 🔜 Public Beta: Launch and community lesson gathering.
📄 License
MIT License
Explore related projects
sindresorhus/awesome
😎 Awesome lists about all kinds of interesting topics [NOTE: Pull requests are temporarily disabled until I have a chance to catch up with the existing ones]
534,212 starsEbookFoundation/free-programming-books
:books: Freely available programming books
401,351 starsnilbuild/developer-roadmap
Interactive roadmaps, guides and other educational content to help developers grow in their careers.
371,611 starsvinta/awesome-python
The definitive list that answers "I want to do X in Python, which tool should I use?"
333,561 stars