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 - 3426 estrellas; licencia Apache-2.0.
- README e instalación - fuente de los pasos y requisitos.
- Licencia del repositorio - consulta su alcance antes de reutilizar el código.
- Historial de cambios - último commit comprobado: 2026-10-26; revisión del recurso: 2026-10-26.