Sobre o projeto
O RepositoryScanner é um analisador de contas do GitHub que utiliza a API do GitHub para ler estatísticas de linguagens de repositórios públicos e privados, exportando então um cartão SVG das principais linguagens. De acordo com o README, a API de linguagens do GitHub retorna bytes de código por linguagem, e as porcentagens do cartão baseiam-se nesses tamanhos baseados em bytes, e não em contagens brutas de linhas. O cartão gerado mostra as seis principais linguagens por tamanho total de código e estatísticas de contribuição: contribuições totais, sequência atual e a maior sequência. Ele utiliza um tema inspirado em papel e tinta Kanagawa e foi projetado para atualizar automaticamente toda semana através do GitHub Actions.
A configuração recomendada é fazer o fork do repositório, criar um token de acesso pessoal do GitHub com escopos repo e read:user (ou public_repo se apenas repositórios públicos forem importantes), adicionar secrets do repositório para GH_TOKEN, GITHUB_USERNAME e, opcionalmente, EXCLUDED_LANGS, e então executar o workflow Update Language Stats manualmente uma vez. O arquivo de workflow está localizado em .github/workflows/update-chart.yaml e está configurado para rodar semanalmente aos domingos às 00:00 UTC, realizar o commit do assets/languages.svg atualizado de volta para a main, e também suportar execuções sob demanda. O agendamento pode ser alterado editando a linha cron nesse arquivo de workflow. O SVG resultante pode ser incorporado em um README de perfil usando uma URL raw.githubusercontent.com, com um parâmetro de consulta opcional como ?v=1 para ignorar o cache do navegador.
Para desenvolvimento local, o README recomenda Python 3.10+ com preferência pelo 3.11. As dependências principais são requests e python-dotenv. A configuração pode ser fornecida através de um arquivo .env ou variáveis de ambiente do shell. Executar python scripts/fetch_languages.py a partir da raiz do repositório gera o assets/languages.svg. A paleta de cores Kanagawa e as cores por linguagem são definidas em scripts/colors.py, enquanto os detalhes do layout do SVG são tratados dentro de scripts/fetch_languages.py. O README também observa que GITHUB_USERNAME é a variável principal, mas USERNAME é suportado para compatibilidade retroativa. Se o GH_TOKEN não for definido, apenas repositórios públicos são analisados e os limites de taxa não autenticados do GitHub são aplicados.
Notas de segurança e privacidade afirmam que a ferramenta usa a API do GitHub para ler a lista de repositórios e as estatísticas de linguagem por repositório, mas não lê o conteúdo real do código. Os tokens são lidos de .env local ou variáveis de ambiente para desenvolvimento local e de GitHub Secrets para Actions, e nunca devem ser commitados. As seções de solução de problemas cobrem erros 401 Unauthorized e de API, dados de linguagem ausentes devido a forks filtrados, linguagens excluídas, acesso ao token ou limites de taxa, e workflows que não rodam porque as Actions estão desativadas, o caminho do workflow está errado, o YAML é inválido ou as alterações não estão no branch esperado. O projeto possui licença MIT e afirma que foi inspirado por anuraghazra/github-readme-stats, com o tema de cores Kanagawa influenciado por rebelot/kanagawa-paper.nvim.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.