랭킹으로 돌아가기

renzorlive/vimmaster

JavaScriptvim-master.com

VIM Master: in-browser game that teaches core Vim motions and editing commands through short, focused levels.

codingeducationgameindie-gamevim
스타 성장
스타
1.7k
포크
72
주간 성장
이슈
4
1.2k1.4k1.6k
25년 8월25년 11월26년 3월26년 7월
아티팩트npmnpm install vimmaster
README

VIM 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.

Tests License: MIT Version

VIM Master Screenshot

✨ 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's solution array through the actual game engine and validates that the final editor state matches the expected targetContent.
  • 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

Buy Me A Coffee

관련 저장소
obra/superpowers

An agentic skills framework & software development methodology that works.

ShellMIT Licenseaibrainstorming
258.9k23.1k
florinpop17/app-ideas

A Collection of application ideas which can be used to improve your coding skills.

MIT Licenseapplicationsideas
coderabbit.ai
96.1k10.5k
bregman-arie/devops-exercises

Linux, Jenkins, AWS, SRE, Prometheus, Docker, Python, Ansible, Git, Kubernetes, Terraform, OpenStack, SQL, NoSQL, Azure, GCP, DNS, Elastic, Network, Virtualization. DevOps Interview Questions

PythonPyPIOtherdevopsaws
83.3k19.8k
Leonxlnx/taste-skill

Taste-Skill - gives your AI good taste. stops the AI from generating boring, generic slop

JavaScriptnpmMIT Licenseagentai
tasteskill.dev
66.1k4.6k
donnemartin/interactive-coding-challenges

120+ interactive Python coding interview challenges (algorithms and data structures). Includes Anki flashcards.

PythonPyPIOtherpythonalgorithm
31.6k4.6k
Gitlawb/openclaude

runs anywhere. uses anything

TypeScriptnpmOtheraiai-agent
openclaude.gitlawb.com
30.2k8.9k
dwmkerr/hacker-laws

🧠 Laws, Theories, Principles and Patterns for developers and technologists.

HTMLCreative Commons Attribution Share Alike 4.0 Internationalprincipleslaws
hacker-laws.com
27.2k1.6k
gastownhall/beads

Beads - A memory upgrade for your coding agent

GoGo ModulesMIT Licenseagentsclaude-code
beads.gascity.com
25.5k1.7k
datawhalechina/easy-vibe

💻 vibe coding 2026 | Your First Modern Coding course beginners to master step by step.

JavaScriptnpmaicourse
datawhalechina.github.io/easy-vibe/
18.4k1.8k
ashishps1/awesome-leetcode-resources

Awesome LeetCode resources to learn Data Structures and Algorithms and prepare for Coding Interviews.

JavaMavenGNU General Public License v3.0algorithmscoding
algomaster.io
17.4k3.7k
The-Pocket/PocketFlow-Tutorial-Codebase-Knowledge

Pocket Flow: Codebase to Tutorial

PythonPyPIMIT Licensecodinglarge-language-model
code2tutorial.com
12.5k1.4k
nusr/hacker-laws-zh

💻📖对开发人员有用的定律、理论、原则和模式。(Laws, Theories, Principles and Patterns that developers will find useful.)

MIT Licenseprinciplescoding
12.5k1k