3 puntos por xguru 4 시간 전 | Aún no hay comentarios. | Compartir por WhatsApp
  • 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 blah cambió"
  • 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/JSON
    • sem impact: encuentra el código dependiente/llamadores/tests afectados cuando cambia una función específica
    • sem blame: muestra el último modificador a nivel de entidad de una función/clase/método
    • sem 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 actual
    • sem context: arma solo el código circundante necesario para un agente, ajustado al presupuesto de tokens
    • sem setup: al ejecutarlo, el git diff existente 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: ofrece diff, impact, context, entities, blame y log como 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.

Aún no hay comentarios.