sem: herramienta de versionado semántico que agrega seguimiento de cambios a nivel de función/clase sobre Git
(github.com/Ataraxy-Labs)- Compara entidades de código, no líneas, y muestra qué funciones/métodos/clases se agregaron, modificaron, eliminaron, movieron o renombraron
- "la línea x~y cambió" → "la función
blahcambió"
- "la línea x~y cambió" → "la función
- Funciona sin configuración en cualquier repo Git, y también permite comparar archivos arbitrarios fuera de Git
- La caché de entidades almacenada en SQLite se guarda en el directorio de caché del SO fuera del repositorio, por lo que no ensucia el árbol de trabajo
- Parsea el código con tree-sitter y conecta el código de antes y después del cambio en el orden ID de entidad → hash de estructura AST → similitud de tokens superior al 80% para detectar renombres y movimientos
-
Comandos compatibles
sem diff: compara el árbol de trabajo/staging/commits/rangos de commits/dos archivos arbitrarios, con soporte para salida en texto plano/Markdown/JSONsem impact: encuentra el código dependiente/llamadores/tests afectados cuando cambia una función específicasem blame: muestra el último modificador a nivel de entidad de una función/clase/métodosem log: rastrea cómo cambió una entidad a través del historial de git- Si no se especifica una entidad, analiza los hotspots (lo que cambia mucho) / co-change pairs (pares que cambian juntos repetidamente) del repositorio ("si tocas uno, no olvides también esto")
sem entities: muestra todas las entidades bajo la carpeta actualsem context: arma solo el código circundante necesario para un agente, ajustado al presupuesto de tokenssem setup: al ejecutarlo, elgit diffexistente pasa a mostrar salida por entidad, y también instala un hook de pre-commit que muestra el alcance de impacto de los cambios staged- En macOS y Linux, conecta a Claude Code un grafo de dependencias residente y un hook de contexto al iniciar el prompt, reduciendo el costo de volver a analizar el repositorio o buscar código cada vez
sem mcp: ofrecediff,impact,context,entities,blameylogcomo herramientas MCP, para que los agentes de coding consulten solo las funciones y dependencias necesarias en lugar de archivos completos
- Al agregar una GitHub Action, en cada PR actualiza en un único comentario fijo las funciones/clases/métodos modificados, y también distingue PRs donde solo cambiaron el formato o los comentarios
- Soporta 32 lenguajes, incluidos TypeScript, Python, Go, Rust, Java, Swift, SQL y C/C++, además de JSON/YAML/TOML/CSV/Markdown
- Los archivos no compatibles se procesan con diff por chunks
- Licencia: MIT OR Apache-2.0
Aún no hay comentarios.