OctoCounts MCP

Servidor MCP de métricas de código y SLOC para repositorios de GitHub. Devuelve archivos exactos, líneas, código, comentarios, espacios en blanco y totales por lenguaje para un commit fijado sin clonar.

Documentación

Informe de ejemplo

El informe a continuación es un ejemplo en vivo. Pega cualquier URL de repositorio público arriba para analizar el tuyo.

muestra Informe de ejemplo

react/react

v19.3.0 · 1d34f91 ·

Código

364.4K

Archivos

2,133

Líneas

459.8K

Comentarios

59,105

Líneas en blanco

36,343

JavaScript 231,461 código 63.5%

top 10 de 11 lenguajes

código 364.4K

Lenguajearchivoslíneascódigocomentariosen blanco
JavaScript1,477293,727231,461 63.5%38,45623,810
Rust11772,60163,896 17.5%3,7754,930
TypeScript21974,39159,896 16.4%10,1694,326
JSON863,5353,527 1%08
CSS883,8283,283 0.9%61484
TSX151,5911,333 0.4%153105
HTML23438416 0.1%913
Shell19531316 <0.1%11897
TOML14247223 <0.1%420
SVG71010 <0.1%00
Otros (1 más)688,9100 0%6,3602,550
Total2,133459,809364,36159,10536,343

Extensión de navegador

Estadísticas de SLOC y código de GitHub en la barra lateral del repositorio.

OctoCounts browser extension showing SLOC results on a GitHub repository

browser-extension@octocounts

OctoCounts – SLOC de GitHub y estadísticas de código

Abre un repositorio de GitHub y OctoCounts añade una tarjeta compacta de SLOC a la barra lateral del repositorio. Haz clic en la tarjeta para ver el panel completo con totales, desglose por lenguaje y estadísticas en caché.

5.0 en Chrome Web Store · 2 valoraciones · 169 usuarios

  • Tarjeta en la barra lateral del repositorio
  • Tabla de lenguajes
  • Caché local

Más información sobre la extensión

Extensión de navegador disponible en escritorio. Más información sobre la extensión

Edge y Firefox

actividad de informes públicos, solo agregada

Herramientas

cada tarjeta abre la herramienta real, lista para ejecutarse

[Insignias

Insignias README en vivo que enlazan de vuelta a un informe permanente.

[![SLOC](https://api.octocounts.com/badge/:owner/:repo)](...)](https://octocounts.com/badges) [Comparar

Dos repositorios lado a lado: totales, mezcla de lenguajes, diferencias.

open /compare?left=…&right=…](https://octocounts.com/compare) [Diff de ref

Un repositorio entre dos refs: crecimiento entre versiones o ramas.

open /diff?repo=…&base=v1.0&head=v1.1](https://octocounts.com/diff) [API

Analizar, trabajos, informes, insignias, SEO y endpoints de estadísticas.

GET https://api.octocounts.com/api/stats](https://octocounts.com/docs/api) [CLI

Ejecuta OctoCounts desde una terminal o script de CI; salida en texto o JSON.

npx octocounts https://github.com/owner/repo --json](https://github.com/huanglizhuo/OctoCounts/tree/main/cli) [GitHub Action

Comenta cambios de SLOC en pull requests, dentro de flujos de revisión.

uses: huanglizhuo/OctoCounts/action@main](https://github.com/huanglizhuo/OctoCounts/tree/main/action) [Servidor MCP

Informes de SLOC para flujos de trabajo de agentes y asistentes de desarrollo.

npx octocounts-mcp](https://github.com/huanglizhuo/OctoCounts/tree/main/mcp)

Casos de uso

razones comunes por las que los desarrolladores cuentan líneas

Evaluar una dependencia

Antes de adoptar una nueva biblioteca de código abierto, verifica su tamaño real, no solo el número de archivos. Un repositorio de 50 archivos podría tener 20k líneas de C++ denso o 500 líneas de código de pegamento. SLOC te da la imagen real antes de comprometerte con una dependencia.

Estimar el alcance del proyecto

Los clientes y las partes interesadas preguntan cuán grande es una base de código. SLOC te da un número sólido antes de una revisión o auditoría: 12k líneas en 8 lenguajes, 89% código, 4% comentarios.

Comparar forks o alternativas

Pega dos repositorios y compara los desgloses por lenguaje lado a lado. Observa cuánto divergió un fork, o cuán diferentes son realmente dos implementaciones de la misma especificación.

Cómo funciona

archivo comprimido adentro, informe tokei afuera01

Resolver

OctoCounts valida la URL pública de GitHub y resuelve la rama, etiqueta o SHA de commit solicitado a un hash de commit fijo mediante la API de GitHub. Fijar a un commit significa que el análisis es determinista: la misma URL y ref siempre producen el mismo conteo, y la clave de caché es estable independientemente del movimiento de la rama.

GET /repos/:owner/:repo

02

Contar

El backend en Rust descarga un archivo comprimido, no un clon completo de git. Omite carpetas generadas como node_modules, vendor y .git, luego tokei cuenta cada archivo fuente en una cola de trabajos en segundo plano.

tokei --output json

03

Caché

Los informes se almacenan por propietario, repositorio, SHA de commit y versión de tokei. Cuando re-analizas el mismo commit, la caché se acierta inmediatamente, sin re-descarga y sin re-conteo. Re-ejecutar fuerza un análisis nuevo y actualiza la caché. La extensión del navegador también almacena resultados localmente para visualización offline instantánea.

caché commit + versión

Preguntas frecuentes

sobre SLOC, OctoCounts y exportaciones

¿Qué es SLOC?

SLOC significa Source Lines of Code (Líneas de Código Fuente). Es una métrica de software utilizada para medir el tamaño de un programa contando las líneas en su código fuente. A diferencia del conteo bruto de líneas, SLOC distingue entre líneas de código (instrucciones reales que el compilador o intérprete procesa), líneas de comentarios (documentación y explicaciones) y líneas en blanco (espacios en blanco). Este desglose importa porque un archivo de 10,000 líneas que es 40% comentarios cuenta una historia diferente que uno que es 95% código.

Los desarrolladores usan SLOC para estimar la complejidad del proyecto, comparar bases de código al evaluar dependencias, dimensionar trabajos de facturación y auditoría, y comunicar el tamaño del repositorio a partes interesadas que quizás no lean código. OctoCounts reporta SLOC en dos niveles: por lenguaje de programación y como totales agregados en todo el repositorio. El contador subyacente es tokei, un contador de líneas de código abierto escrito en Rust que procesa archivos en paralelo.

¿Por qué usar OctoCounts en lugar de clonar y ejecutar tokei localmente?

OctoCounts descarga un archivo comprimido tarball en lugar de un clon completo de git con historial. Un clon de git transfiere cada objeto de commit, objeto de árbol y blob en el historial del repositorio; para un proyecto de larga duración, eso puede significar cientos de megabytes o gigabytes de datos incluso si el árbol fuente actual es pequeño. OctoCounts obtiene solo el archivo del árbol de trabajo en la ref solicitada, por lo que la transferencia cubre el árbol fuente actual en lugar de todo el historial del repositorio.

Además, no hay nada que instalar. Sin git, sin toolchain de Rust, sin binario tokei. Solo pega una URL de GitHub en la aplicación web o instala la extensión del navegador una vez. Los resultados se almacenan en caché por SHA de commit y versión de tokei, por lo que cualquier análisis repetido del mismo commit regresa instantáneamente con cero re-descarga y cero re-procesamiento. Esto hace que OctoCounts sea especialmente útil para evaluar rápidamente dependencias o repositorios desconocidos sin configurar un entorno local.

¿OctoCounts tiene una extensión de navegador?

Sí. OctoCounts tiene extensiones de navegador para Chrome, Edge y Firefox, todas llamadas OctoCounts – SLOC de GitHub y estadísticas de código. Instala desde Chrome Web Store, Microsoft Edge Add-ons o Firefox Add-ons para añadir una tarjeta compacta de SLOC directamente a las barras laterales de los repositorios de GitHub. La tarjeta aparece automáticamente en cualquier página de repositorio público y muestra el conteo total de líneas y el estado del análisis. Al hacer clic en la tarjeta se abre el panel completo, que muestra archivos, líneas totales, líneas de código, líneas de comentarios y líneas en blanco por lenguaje, el mismo desglose que la aplicación web.

La extensión incluye una caché local para que los resultados se carguen instantáneamente en visitas repetidas al mismo repositorio y ref. Puedes configurar el ajuste de auto-análisis para obtener conteos inmediatamente al cargar la página, o activar el análisis manualmente. El ajuste de ubicación controla dónde aparece la tarjeta en la barra lateral de GitHub. No se requiere cuenta de GitHub ni token de API. El código fuente de la extensión está disponible públicamente en GitHub.

¿OctoCounts es gratuito?

Sí. OctoCounts es completamente gratuito para repositorios públicos de GitHub. No se requiere cuenta, ni clave de API, ni registro, y no hay límite de tasa documentado públicamente. Tanto la aplicación web como las extensiones de navegador son gratuitas sin nivel premium. El backend es de código abierto, escrito en Rust usando el framework Axum, y el frontend está escrito en React con TypeScript. Si lo prefieres, puedes auto-alojar toda la pila; el código fuente está disponible en GitHub en github.com/huanglizhuo/OctoCounts.

OctoCounts analiza intencionalmente solo repositorios públicos. No solicita acceso a cuentas de GitHub, no admite repositorios privados y no acepta cargas de código fuente. OctoCounts no tiene publicidad y no recopila datos personales.

¿Qué lenguajes de programación admite OctoCounts?

OctoCounts usa tokei para la detección de lenguajes, que admite más de 200 lenguajes de programación y tipos de archivo. Los lenguajes cubiertos incluyen Rust, Python, JavaScript, TypeScript, Go, Java, C, C++, C#, Ruby, Swift, Kotlin, PHP, Scala, Haskell, Elixir, Erlang, Clojure, F#, Lua, R, Julia, Dart, Perl, Shell, Bash, PowerShell, HTML, CSS, SCSS, SQL, GraphQL, Dockerfile, YAML, JSON, TOML, XML, Markdown y muchos más.

tokei detecta lenguajes principalmente por extensión de archivo, con respaldo a líneas shebang y detección basada en contenido para archivos ambiguos. Maneja archivos multilingües y admite configuración para excluir directorios específicos como node_modules, vendor o carpetas de salida de compilación. OctoCounts omite automáticamente carpetas generadas pesadas antes de pasar el archivo a tokei, lo que significa que el conteo de SLOC refleja código fuente real escrito por humanos en lugar de archivos auto-generados que inflarían los números.

¿Puedo exportar los resultados del conteo de líneas de código?

Sí. OctoCounts admite tres formatos de exportación disponibles desde los botones de acción debajo de los resultados del análisis. Texto plano copia una tabla formateada a tu portapapeles, mostrando nombre del lenguaje, número de archivos, líneas totales, líneas de código, líneas de comentarios y líneas en blanco en un diseño alineado por columnas adecuado para pegar en archivos README, issues de GitHub o documentación. JSON descarga el informe estructurado completo incluyendo estadísticas por lenguaje y totales agregados, formateado para uso en scripts, pipelines de CI u otras herramientas que consumen JSON.

PNG descarga una tarjeta de imagen de 1200 × 630 que muestra el desglose por lenguaje, adecuada para compartir en Twitter, LinkedIn, READMEs de repositorios de GitHub o páginas de portafolio. La tarjeta PNG usa la misma paleta de colores oscuros y claros que la aplicación web e incluye el nombre del repositorio, el conteo total de líneas y un desglose por lenguaje. Los tres formatos se generan en el lado del cliente a partir de los datos de análisis ya cargados en tu navegador, por lo que no se necesita ninguna solicitud adicional al servidor.

¿OctoCounts admite repositorios privados?

OctoCounts admite solo repositorios públicos de GitHub. No solicita acceso a cuentas de GitHub, no admite repositorios privados y no acepta cargas de código fuente. Si necesitas contar líneas de código en un repositorio privado, ejecuta tokei localmente. Descarga tokei desde github.com/XAMPPRocky/tokei, clona tu repositorio y ejecuta tokei en la raíz del repositorio. tokei es gratuito, de código abierto y produce el mismo formato de salida que usa OctoCounts.