Nuestro setup de laboratorio
Toda la actividad técnica que desarrollamos en forma directa es sobre Linux. Nos sentimos nativos de esa plataforma, y no nos sentimos cómodos realizando tareas técnicas en ninguna otra. Pero como usuarios de computadora somos usuarios nativos de Windows: ahí navegamos, ahí escribimos, ahí administramos nuestros archivos y nuestras herramientas del día a día.
Esa doble pertenencia define las decisiones que tomamos para armar el entorno donde hacemos nuestros laboratorios de tecnología.
Claude Code en el flujo de trabajo
Claude Code es nuestra herramienta de vibe-coding. Lo usamos principalmente desde Windows, donde opera sobre los archivos reales del proyecto y aprobamos cada acción antes de que se ejecute. Es desarrollo colaborativo sobre los artefactos del proyecto, en tiempo real. Lo instalamos también en nuestras VMs para tenerlo disponible en cada entorno de desarrollo.
Claude Code mantiene el contexto del proyecto entre sesiones. Dos archivos hacen ese trabajo: CLAUDE.md, que contiene las instrucciones permanentes para Code en ese proyecto, y CONTEXTO.md, que registra el estado del proyecto: decisiones tomadas, pendientes, arquitectura. Ambos viven en el repositorio y Code los lee al abrir cada sesión.
Git y GitHub cumplen funciones concretas en este flujo. La disciplina que sostiene todo son tres pasos: al abrir una sesión de Code, le pedimos que haga pull. Al cerrar, le pedimos que actualice CONTEXTO.md, commitee y pushee. Fuera de esos tres pasos, solo queda el trabajo.
Windows como GUI de Ubuntu Server
En nuestro Windows Desktop tenemos una carpeta llamada GV-Projects. Ahí residen todos nuestros proyectos de laboratorio. Esa misma carpeta está montada dentro de la VM Ubuntu como /home/gonzalo/GV-Projects, vía el sistema de carpetas compartidas de VirtualBox — vboxsf. El montaje se hace una vez en el fstab de la VM y queda permanente. Cada subcarpeta de proyecto es visible desde ambos lados en tiempo real. No hay copia, no hay sincronización: es el mismo filesystem.
El resultado es que trabajamos en Ubuntu Server usando Windows como entorno gráfico. Abrimos Claude Code desde Windows y editamos archivos que viven en la VM. Abrimos Notepad++ y editamos el mismo archivo que podríamos editar por SSH. No elegimos un lado u otro; los dos operan sobre los mismos artefactos.
Los respaldos
Claude Code trabaja directamente sobre los artefactos del proyecto. No hay borrador intermedio, no hay staging area conceptual. Lo que Code modifica es lo que queda. Eso exige una red de contención que funcione sin intervención manual.
KopiaUI resuelve eso. Corre en Windows, toma snapshots incrementales de nuestras carpetas a intervalos regulares, y los sube a Google Drive vía rclone. El respaldo es automático, silencioso, y cubre todo — no solo los proyectos, sino el entorno completo de trabajo. Git y KopiaUI conviven sobre las mismas carpetas sin conflicto: cumplen funciones distintas y uno no reemplaza al otro.
El stack de base
Nuestra máquina de trabajo es una PC con Windows 11 Pro. Sobre ella corremos VirtualBox con VMs Ubuntu Server LTS. La VM de desarrollo arranca automáticamente al iniciar la sesión de Windows. Nos conectamos a ella por SSH con Bitvise, y editamos archivos con Notepad++.
Las VMs se construyen por capas. Partimos de una VM base vacía, le instalamos Ubuntu Server, le agregamos las VirtualBox Guest Additions, y sobre un clon de esa imagen corremos nuestro script de provisioning — linuxgv.bash — que deja instalado el stack completo: Node.js, Go, Google Cloud CLI, Claude Code, y todo lo que necesitamos para trabajar. Cuando necesitamos una VM nueva, clonamos la imagen ya provisionada y en minutos tenemos un entorno limpio y completo.
Apuntes generales
Lo que empezó como una necesidad práctica — tener nuestros proyectos accesibles desde Windows y desde Ubuntu — terminó siendo un modelo de trabajo que integra desarrollo, colaboración con IA y respaldos en un flujo con fricción mínima.
El modelo tiene una premisa que conviene hacer explícita: lo que mantiene la coherencia entre sesiones no es magia, sino disciplina. CLAUDE.md define cómo trabaja Code en cada proyecto. CONTEXTO.md registra el estado. Git y GitHub aseguran que nada se pierda.