Sem: Nueva herramienta revoluciona el control de versiones

Fuentes: New Tool 'Sem' Offers Entity-Level Code Diffing and Impact Analysis

Ataraxy Labs ha lanzado 'Sem', una nueva herramienta de código abierto que revoluciona la forma en que se realiza el control de versiones. A diferencia de las herramientas tradicionales que se centran en las líneas de código, Sem ofrece 'diffs' a nivel de entidad, identificando cambios específicos como la adición de una función o la modificación de una propiedad, en lugar de simplemente indicar qué líneas fueron alteradas. La herramienta, disponible para múltiples lenguajes de programación (TypeScript, JavaScript, Python, Go, Rust, Java, C, C++, C#, Ruby, PHP, Fortran, y formatos como JSON, YAML, TOML y Markdown), utiliza un sistema de 'matching' de tres fases para detectar reestructuraciones, reubicaciones e incluso cambios de nombre de entidades de código. Sem se integra fácilmente con Git y proporciona opciones para análisis de impacto, 'blame' a nivel de entidad y salida en formato JSON para su uso en entornos de CI/CD o por agentes de IA. La herramienta está diseñada para ser utilizada directamente desde la línea de comandos o como una biblioteca Rust, y es un componente clave de otros proyectos de Ataraxy Labs como 'weave' y 'inspect'.