Skip to content

Latest commit

 

History

196 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

VimMon

Un sistema operativo embebido para programar desde la shell — construido desde cero, en C, para aprender de verdad.

VimMon es mi proyecto de aprendizaje a largo plazo: en lugar de hacer tutoriales sueltos, estoy construyendo un sistema completo — bus de eventos, plugins, un intérprete de pseudocódigo, un renderer por software y, al final del camino, un kernel bare metal. Cada pieza existe para forzarme a entender un concepto de C o de sistemas a fondo.

Regla de la casa: yo escribo todo el código. La IA es tutora, no autora.

Cómo funciona

El corazón es un bus de eventos (bus/) donde cada componente se registra como plugin declarando qué eventos consume. Los plugins no se conocen entre sí — solo hablan a través del bus.

                        ┌─────────────┐
  EVENT_AI_REQUEST ───▶ │  plugin AI  │ ───▶ EVENT_AI_RESPONSE
                        └─────────────┘            │
                        ┌─────────────┐            ▼
                        │ plugin IDE  │ ◀── parsea PAED, actualiza escena
                        └─────────────┘
                        ┌─────────────┐
 EVENT_SCENE_UPDATE ──▶ │  renderer   │ ───▶ framebuffer SDL2 (píxel a píxel)
                        └─────────────┘
Plugin Qué hace Estado
plugins/ai Cliente HTTP a Ollama (libcurl + cJSON); convierte lenguaje natural en comandos PAED ✅ Funciona
plugins/ide Parser e intérprete de PAED, el lenguaje de pseudocódigo del proyecto (spec) ✅ Funciona
plugins/renderer Framebuffer SDL2 con primitivas a mano: put_pixel, Bresenham, proyección 3D→2D sin GPU 🔨 En progreso
plugins/monitor Lee /proc/meminfo y /proc/stat; panel de RAM, CPU y plugins activos ⏳ Pendiente

Cómo crear un plugin nuevo: docs/plugin_spec.md.

Compilar y correr

Requisitos: clang, libcurl (y Ollama corriendo local si querés el plugin AI).

make
./vimmon

Subproyectos

Este repo es también mi cuaderno de trabajo — hay más de un proyecto adentro:

Directorio Qué es
PseudoGames/ Juego en C + SDL2 para aprender Algoritmos y Estructuras de Datos: editor con syntax highlighting propio, niveles, boss final y wiki integrada
PseudoGames/Frankly/ Tooling para PAED: ejercicios, stdlib, detección de sintaxis
docs/ Specs de PAED v1.0 y del sistema de plugins
kernel/ Primeros experimentos bare metal (fase futura)
learnC/, CUDA/, bash/ Ejercicios y apuntes del camino

Roadmap

El plan vive en KANBAN.md. Resumen:

  • Fase 0 — Bus de plugins y contratos
  • Fase 1 — Plugin AI (Ollama + libcurl)
  • Fase 2 — Intérprete PAED
  • Fase 3 — Renderer SDL2 framebuffer ← acá estoy
  • Fase 4 — Plugin monitor (/proc)
  • Fase 5+ — Kernel bare metal (userspace primero, kernel después)

Licencia

Propietaria — ver LICENSE. El código es visible con fines educativos, pero todos los derechos están reservados.

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages