Sobre o projeto
VIM Master é um jogo interativo, baseado em navegador, para aprender Vim. Em vez de ler documentação, os jogadores percorrem lições curtas e focadas dentro de um ambiente de editor simulado, com dificuldade progressiva e elementos de gamificação como XP, combos, conquistas e medalhas.
Principais recursos descritos no README:
- Aprendizado interativo em um editor Vim simulado.
- Gamificação: XP, combos, conquistas e medalhas.
- Um motor de conteúdo orientado a JSON: cada lição é um arquivo JSON autocontido.
- Uma Practice Arena para desafios de velocidade e precisão com tempo limitado.
- Cheat Mode, uma referência de comandos acessível.
- Salvamentos locais de progresso, medalhas e XP, com suporte a importação/exportação.
Para rodar localmente, é necessário clonar o repositório, instalar dependências com npm, executar o script de verificação e iniciar o servidor de desenvolvimento. O jogo é servido via Vite, normalmente em http://localhost:5173/.
Arquitetura: a partir da V3, o projeto usa uma arquitetura de plataforma de conteúdo. O motor consome conteúdo em vez de codificar lições diretamente. As lições ficam em content/lessons/*.json, e uma etapa de build (npm run build:content) as compila em content/index.json, que o motor lê. O repositório é organizado em content (lições e esquemas), docs (guias da comunidade, arquitetura, princípios), js (motor, sistema de progresso, componentes de UI) e tests.
Testes e validação: o projeto descreve uma estratégia em quatro partes. Uma suíte de contrato valida lições JSON contra esquemas estritos. Uma suíte golden executa as teclas exatas do array de solução de uma lição pelo motor e verifica o estado final do editor em relação a targetContent. Uma suíte de regressão protege contra bugs corrigidos anteriormente, e uma suíte unitária verifica a lógica de estado interna e helpers. Todas podem ser executadas com npm run check.
Contribuição: a arquitetura pretende permitir que contribuidores adicionem lições sem entender o motor. Adicionar uma lição é descrito como copiar um arquivo JSON existente, editar o texto e abrir um pull request, com um guia dedicado em docs/community/contributing-a-lesson.md.
Itens do roadmap listados incluem a migração concluída para conteúdo orientado a JSON, um alpha comunitário com suítes de teste, documentação e gamificação, o polimento de UX da V3 em andamento (experiência de primeiro uso, UI minimalista, carga cognitiva reduzida) e um beta público planejado. O projeto é distribuído sob a Licença MIT.
Comments
0 people shared their preference · Deer Point appears after 10 participants
Sign in to join the discussion.