OctoCounts MCP

Servidor MCP de métricas de código e SLOC de repositórios GitHub. Retorna arquivos exatos, linhas, código, comentários, espaços em branco e totais por linguagem para um commit fixado, sem clonagem.

Documentação

Relatório de exemplo

O relatório abaixo é um exemplo ao vivo. Cole qualquer URL de repositório público acima para analisar o seu.

amostra Relatório de exemplo

react/react

v19.3.0 · 1d34f91 ·

Código

364.4K

Arquivos

2.133

Linhas

459.8K

Comentários

59.105

Linhas em branco

36.343

JavaScript 231.461 código 63,5%

top 10 de 11 linguagens

código 364.4K

Linguagemarquivoslinhascódigocomentáriosem branco
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
Outros (mais 1)688.9100 0%6.3602.550
Total2.133459.809364.36159.10536.343

Extensão do Navegador

Estatísticas de SLOC e código do GitHub na barra lateral do repositório.

OctoCounts browser extension showing SLOC results on a GitHub repository

browser-extension@octocounts

OctoCounts – SLOC do GitHub e Estatísticas de Código

Abra um repositório do GitHub e o OctoCounts adiciona um cartão SLOC compacto à barra lateral do repositório. Clique no cartão para abrir o painel completo com totais, detalhamento por linguagem e estatísticas em cache.

5.0 na Chrome Web Store · 2 avaliações · 169 usuários

  • Cartão na barra lateral do repositório
  • Tabela de linguagens
  • Cache local

Saiba mais sobre a extensão

Extensão do navegador disponível para desktop. Saiba mais sobre a extensão

Edge e Firefox

atividade pública de relatórios, apenas agregada

Ferramentas

cada cartão abre a ferramenta real, pronta para executar

[Badges

Badges README ao vivo que vinculam de volta a um relatório permanente.

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

Dois repositórios lado a lado: totais, mistura de linguagens, deltas.

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

Um repositório entre duas refs: crescimento entre versões ou ramos.

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

Endpoints de análise, trabalhos, relatórios, badges, SEO e estatísticas.

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

Execute o OctoCounts a partir de um terminal ou script de CI; saída em texto ou JSON.

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

Comente mudanças de SLOC em pull requests, dentro de fluxos de revisão.

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

Relatórios SLOC para fluxos de trabalho de agentes e assistentes de desenvolvedores.

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

Casos de Uso

motivos comuns pelos quais desenvolvedores contam linhas

Avaliar uma dependência

Antes de adotar uma nova biblioteca de código aberto, verifique seu tamanho real, não apenas a contagem de arquivos. Um repositório de 50 arquivos pode ter 20 mil linhas de C++ denso ou 500 linhas de código de cola. O SLOC dá a você a imagem real antes de se comprometer com uma dependência.

Estimar o escopo do projeto

Clientes e partes interessadas perguntam quão grande é uma base de código. O SLOC dá a você um número sólido antes de uma revisão ou auditoria: 12 mil linhas em 8 linguagens, 89% código, 4% comentários.

Comparar forks ou alternativas

Cole dois repositórios e compare os detalhamentos de linguagem lado a lado. Veja o quanto um fork divergiu, ou quão diferentes duas implementações da mesma especificação realmente são.

Como Funciona

arquivo compactado entra, relatório tokei sai01

Resolver

O OctoCounts valida a URL pública do GitHub e resolve o ramo, tag ou SHA de commit solicitado para um hash de commit fixado via API do GitHub. Fixar em um commit significa que a análise é determinística: a mesma URL e ref sempre produzem a mesma contagem, e a chave de cache é estável independentemente do movimento do ramo.

GET /repos/:owner/:repo

02

Contar

O backend em Rust baixa um arquivo compactado, não um clone git completo. Ele pula pastas geradas como node_modules, vendor e .git, então o tokei conta cada arquivo de código-fonte em uma fila de trabalhadores em segundo plano.

tokei --output json

03

Cache

Relatórios são armazenados por proprietário, repositório, SHA de commit e versão do tokei. Quando você reanalisa o mesmo commit, o cache é acessado imediatamente, sem re-download e sem re-contagem. Re-executar força uma análise nova e atualiza o cache. A extensão do navegador também armazena resultados em cache localmente para visualização offline instantânea.

cache commit + versão

Perguntas Frequentes

sobre SLOC, OctoCounts e exportações

O que é SLOC?

SLOC significa Source Lines of Code (Linhas de Código-Fonte). É uma métrica de software usada para medir o tamanho de um programa contando as linhas em seu código-fonte. Diferente da contagem bruta de linhas, o SLOC distingue entre linhas de código (instruções reais que o compilador ou interpretador processa), linhas de comentário (documentação e explicações) e linhas em branco (espaços em branco). Esse detalhamento importa porque um arquivo de 10.000 linhas que é 40% comentários conta uma história diferente de um que é 95% código.

Desenvolvedores usam SLOC para estimar complexidade de projetos, comparar bases de código ao avaliar dependências, dimensionar trabalho de cobrança e auditoria, e comunicar o tamanho do repositório a partes interessadas que podem não ler código. O OctoCounts reporta SLOC em dois níveis: por linguagem de programação e como totais agregados em todo o repositório. O contador subjacente é o tokei, um contador de linhas de código aberto escrito em Rust que processa arquivos em paralelo.

Por que usar o OctoCounts em vez de clonar e executar o tokei localmente?

O OctoCounts baixa um arquivo compactado em vez de um clone git completo com histórico. Um clone git transfere cada objeto de commit, objeto de árvore e blob no histórico do repositório; para um projeto de longa duração, isso pode significar centenas de megabytes ou gigabytes de dados mesmo se a árvore de código-fonte atual for pequena. O OctoCounts busca apenas o arquivo da árvore de trabalho na ref solicitada, então a transferência cobre a árvore de código-fonte atual em vez de todo o histórico do repositório.

Além disso, não há nada para instalar. Sem git, sem toolchain Rust, sem binário tokei. Basta colar uma URL do GitHub no aplicativo web ou instalar a extensão do navegador uma vez. Resultados são armazenados em cache por SHA de commit e versão do tokei, então qualquer análise repetida do mesmo commit retorna instantaneamente com zero re-download e zero reprocessamento. Isso torna o OctoCounts especialmente útil para avaliar rapidamente dependências ou repositórios desconhecidos sem configurar um ambiente local.

O OctoCounts tem uma extensão de navegador?

Sim. O OctoCounts tem extensões de navegador para Chrome, Edge e Firefox, todas chamadas OctoCounts – SLOC do GitHub e Estatísticas de Código. Instale a partir da Chrome Web Store, Microsoft Edge Add-ons ou Firefox Add-ons para adicionar um cartão SLOC compacto diretamente às barras laterais de repositórios do GitHub. O cartão aparece automaticamente em qualquer página de repositório público e mostra a contagem total de linhas e o status da análise. Clicar no cartão abre o painel completo, que exibe arquivos, linhas totais, linhas de código, linhas de comentário e linhas em branco por linguagem, o mesmo detalhamento do aplicativo web.

A extensão inclui um cache local para que os resultados carreguem instantaneamente em visitas repetidas ao mesmo repositório e ref. Você pode configurar a configuração de análise automática para buscar contagens imediatamente no carregamento da página, ou acionar a análise manualmente. A configuração de posicionamento controla onde o cartão aparece na barra lateral do GitHub. Nenhuma conta do GitHub ou token de API é necessário. O código-fonte da extensão está publicamente disponível no GitHub.

O OctoCounts é gratuito para usar?

Sim. O OctoCounts é completamente gratuito para usar em repositórios públicos do GitHub. Não há conta necessária, sem chave de API, sem cadastro e sem limite de taxa documentado publicamente. Tanto o aplicativo web quanto as extensões de navegador são gratuitos, sem camada premium. O backend é de código aberto, escrito em Rust usando o framework Axum, e o frontend é escrito em React com TypeScript. Se preferir, você pode auto-hospedar toda a pilha; o código-fonte está disponível no GitHub em github.com/huanglizhuo/OctoCounts.

O OctoCounts analisa intencionalmente apenas repositórios públicos. Ele não solicita acesso à conta do GitHub, não suporta repositórios privados e não aceita uploads de código-fonte. O OctoCounts não tem publicidade e não coleta dados pessoais.

Quais linguagens de programação o OctoCounts suporta?

O OctoCounts usa o tokei para detecção de linguagens, que suporta mais de 200 linguagens de programação e tipos de arquivo. As linguagens cobertas incluem 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 e muitas outras.

O tokei detecta linguagens principalmente pela extensão do arquivo, com fallback para linhas shebang e detecção baseada em conteúdo para arquivos ambíguos. Ele lida com arquivos multilíngues e suporta configuração para excluir diretórios específicos como node_modules, vendor ou pastas de saída de build. O OctoCounts pula automaticamente pastas geradas pesadas antes de passar o arquivo para o tokei, o que significa que a contagem SLOC reflete código-fonte real escrito por humanos em vez de arquivos gerados automaticamente que inflariam os números.

Posso exportar os resultados da contagem de linhas de código-fonte?

Sim. O OctoCounts suporta três formatos de exportação disponíveis nos botões de ação abaixo dos resultados da análise. Texto simples copia uma tabela formatada para sua área de transferência, mostrando nome da linguagem, contagem de arquivos, linhas totais, linhas de código, linhas de comentário e linhas em branco em um layout alinhado por colunas, adequado para colar em arquivos README, issues do GitHub ou documentação. JSON baixa o relatório estruturado completo, incluindo estatísticas por linguagem e totais agregados, formatado para uso em scripts, pipelines de CI ou outras ferramentas que consomem JSON.

PNG baixa um cartão de imagem 1200 × 630 mostrando o detalhamento por linguagem, adequado para compartilhar no Twitter, LinkedIn, READMEs de repositórios do GitHub ou páginas de portfólio. O cartão PNG usa a mesma paleta de cores clara e escura do aplicativo web e inclui o nome do repositório, contagem total de linhas e um detalhamento por linguagem. Todos os três formatos são gerados no lado do cliente a partir dos dados de análise já carregados no seu navegador, então nenhuma solicitação adicional ao servidor é necessária.

O OctoCounts suporta repositórios privados?

O OctoCounts suporta apenas repositórios públicos do GitHub. Ele não solicita acesso à conta do GitHub, não suporta repositórios privados e não aceita uploads de código-fonte. Se você precisar contar linhas de código em um repositório privado, execute o tokei localmente. Baixe o tokei de github.com/XAMPPRocky/tokei, clone seu repositório e execute o tokei na raiz do repositório. O tokei é gratuito, de código aberto e produz o mesmo formato de saída que o OctoCounts usa.