Documentación · Métricas estáticas

km map

Diagrama de círculos del código

Dibuja el código como círculos anidados, el diagrama de Your Code as a Crime Scene: cada directorio es un círculo que contiene los círculos de sus subdirectorios y archivos, el área de un archivo crece con sus líneas de código, y una métrica colorea los archivos. Una tabla ordena archivos; el mapa muestra dónde están los que resaltan, si dispersos o reunidos en un módulo, y cuán grande es ese módulo junto al resto.

km map --html map.html [path]
km map --html map.html --color-by hotspots --since 6m
km map --format json [path]   # el árbol dispuesto, para otras herramientas

La página es un único archivo HTML que no necesita nada más, en tema claro y oscuro. Un clic en un directorio hace zoom en él, un clic fuera de él o en Up lo deshace; al pasar el cursor sobre un archivo se ven su ruta, sus líneas y su valor. Los nombres de los directorios aparecen cuando su círculo es suficientemente grande. Al pie, la página da crédito a aquello en que se basa.

--color-byColoresComo
score (por defecto)rojo bajo 70, gris de 70 a 90, verde desde 90km score, por archivo
hotspotsrojo según la proporción del hotspot mayor, gris bajo una décima de élkm hotspots
churnalto rojo, medio rojo pálido, bajo griskm churn
ageactivo verde, inactivo gris, congelado rojo pálidokm age
knowledgecrítico rojo a bajo gris; rojo cuando el dueño está inactivokm knowledge
cyclesrojo cuando el archivo está en un ciclo de dependenciaskm deps
llmverde desde 95 (apto para LLM), gris desde 70 (requiere cuidado), rojo bajo 70 (riesgo para LLM)preparación para agentes de código, según km score

Sobre el mapa va la proporción de las líneas en cada lado de la escala (85% an LLM risk · 9% needing care · 5% LLM-friendly), y en él una etiqueta con la ruta del directorio donde más se reúne cada lado (Most LLM risk: src/tui/), no el único lugar de ese lado: el directorio bajo la raíz con más de esas líneas y la mayor proporción de ellas, un directorio que es una parte del código y no casi todo. --color-by llm sigue la afirmación de que los agentes de código trabajan bien solo sobre código sano: CodeScene pone la vara en 9,5 de su Code Health, y 95 es su equivalente en la escala de 0 a 100 de km score, que se mide de otra forma. Ambos umbrales se pueden cambiar en .kimun.toml ([map] llm_friendly = 95, llm_risk = 70).

Los archivos sin valor (sin historia, un lenguaje sin grafo de dependencias) se dibujan tenues. Las métricas de git necesitan un repositorio y leen la historia desde --since; los umbrales vienen de .kimun.toml como los leen sus comandos. El layout empaqueta los hijos de cada directorio del más grande al más chico, luego por nombre, como d3.pack empaqueta círculos, así que el mismo código da el mismo mapa.

FlagDescripción
--html FILEEscribe el mapa como una página HTML interactiva en este archivo
--color-by METRICscore (por defecto), hotspots, churn, age, knowledge, cycles o llm
--since TIMELee la historia desde este momento (p. ej. 6m, 1y, 30d)
--format {table,json}json imprime el árbol dispuesto: cada nodo con x, y, r, depth, parent, lines, y para los archivos heat (-1 a 1) y label