SCM más sencillos: ¿alternativa a Git para la era IA?

Fuentes: SCMandCLI.md

El artículo explora una nueva aproximación a los sistemas de control de versiones (SCM), argumentando que los sistemas actuales, como Git, son excesivamente complejos y difíciles de manejar, especialmente con la proliferación de código generado por IA. Git, con su intrincada jerarquía de ramas, repositorios, staging, stash y worktrees, presenta una complejidad que dificulta la productividad y la comprensión. El artículo compara el tamaño del código base de Git con el de bases de datos como LevelDB y PostgreSQL, revelando su complejidad considerable.

La propuesta central es 'Beagle', un sistema SCM que simplifica las operaciones fundamentales a solo cuatro acciones: GET (obtener), POST (crear/añadir), PUT (actualizar/fusionar) y DELETE (eliminar), utilizando URIs para la referencia de recursos. Esta estructura se inspira en el modelo de la World Wide Web, permitiendo una referencia global y flexible a los recursos del código. Beagle introduce conceptos como 'twigs' (ramas ligeras y efímeras), 'overlays' (capas de código separadas, como las capas de Photoshop) y un modelo de proyectos con identidades públicas (ej: @gritzko/librdx). Esto facilita la experimentación, la colaboración y la gestión de código con IA, permitiendo bifurcaciones más audaces y fusiones deterministas.

Beagle también introduce la idea de 'fork the world', permitiendo que las ramas no estén limitadas a un repositorio o proyecto, reflejando la naturaleza interdependiente de los proyectos de software modernos. La estructura no es rígida; un proyecto puede tener múltiples worktrees y un worktree puede contener ramas o proyectos mezclados. La clave es la capacidad de dividir un proyecto en capas (overlays) para gestionar diferentes aspectos como código fuente, documentación, prompts y logs de forma independiente.

En esencia, Beagle busca reducir la complejidad de los SCM, ofreciendo una interfaz más intuitiva y basada en principios HTTP, lo que lo hace adecuado tanto para desarrolladores humanos como para sistemas de IA que necesitan manipular grandes cantidades de código y gestionar dependencias complejas. La visión es un futuro donde el código está más estructurado, más fácil de mantener y más adaptable a las necesidades de la era de la IA.