# sem: revisa cambios por funciones y clases

> Identifica qué entidades cambiaron y consulta su contexto desde Git, la CLI o herramientas MCP.

Verificado el 26 oct 2026.

## Qué es

sem es una herramienta de análisis de código construida sobre Git. Describe cambios en términos de entidades como funciones y clases, además de ofrecer consultas sobre símbolos y relaciones.

## Para qué te sirve

- Cuando un diff de líneas oculta que una función cambió de lugar.
- Cuando necesitas localizar una definición y revisar quién la utiliza antes de editar.

## Cómo funciona

Analiza el código y construye un índice consultable para relacionar entidades. La CLI permite explorar cambios y contexto; su modo MCP expone capacidades al agente. El primer recorrido puede necesitar construir la caché.

## Antes de empezar

Necesitas una instalación de sem y un proyecto en un lenguaje admitido. Comprueba la cobertura del parser de tu lenguaje. La integración con Git no reemplaza las comprobaciones de comportamiento del proyecto.

## Límites y alternativas

El análisis estructural no demuestra que un cambio sea correcto. Frente a git diff, ayuda a entender las entidades afectadas y sus movimientos. Puede haber colisión con el comando sem de GNU Parallel.

## Recursos

- [Repo en GitHub](https://github.com/Ataraxy-Labs/sem) - 3426 estrellas; licencia Apache-2.0.
- [README e instalación](https://github.com/Ataraxy-Labs/sem#readme) - fuente de los pasos y requisitos.
- [Licencia del repositorio](https://github.com/Ataraxy-Labs/sem/blob/main/LICENSE-APACHE) - consulta su alcance antes de reutilizar el código.
- [Historial de cambios](https://github.com/Ataraxy-Labs/sem/commits/HEAD) - último commit comprobado: 2026-10-26; revisión del recurso: 2026-10-26.
