fernandofatech
README de perfil do GitHub: a porta de entrada para os 154 repos da org
git clone https://github.com/fernandofatech/fernandofatech.gitOuvir guia
gerado ao ouvirGerado apenas no primeiro play
Com tecnologia Amazon Polly + OmniVoice
Este repositório é o README de perfil que o GitHub mostra em github.com/fernandofatech: um único README.md que resume o que eu construo e aponta para os 154 repositórios que moram na organização @fernando-moretes.
O que é e por que existe
O GitHub tem uma convenção simples: se você cria um repositório público com o mesmo nome do seu usuário, o README.md dele aparece no topo do seu perfil. Não há build, não há deploy, não há código para rodar. O repositório fernandofatech/fernandofatech é exatamente isso.
A pergunta útil aqui não é "o que tem nesse README?", é "por que um perfil pessoal precisa explicar onde estão os repositórios?". A resposta é que eles não estão mais aqui. Movi todo o código para a organização @fernando-moretes, e o perfil virou o ponto de entrada que explica essa decisão para quem chega pelo meu usuário.
O conteúdo tem quatro partes:
- Sobre mim e stack: AWS, serverless, event-driven, Terraform, Node.js, TypeScript, Python, Next.js e o lado de segurança (OSINT, avaliação de redes sem fio).
- Projetos em destaque: uma tabela com seis repositórios, do estimador de custo AWS ao cliente SSH para o M5Cardputer.
- A plataforma por trás: convenção de nomes, pipeline, runners, segurança e releases da organização.
- Estatísticas e contato: cards gerados por serviço externo e links para LinkedIn e para a org.
É texto estático. O valor está em ser o primeiro lugar onde alguém pousa, e por isso precisa estar certo.
O que o README documenta
app-, svc-, ref-, tool-, infra-, lib-, dot-, lab-) para 154 repositórios.platform-workflows; corrigir uma regra é mudar um arquivo.Por que os repositórios saíram da conta pessoal
A migração não foi estética. Foi uma limitação de API.
Conta pessoal no GitHub não tem runner no nível da conta. A API de self-hosted runners só expõe /repos/{owner}/{repo} e /orgs/{org}; o endpoint de usuário devolve 404. Na prática, CI self-hosted numa conta pessoal exige um container de runner por repositório. Com 154 repositórios, isso são 154 processos para registrar, atualizar e monitorar.
Na organização, o runner é registrado uma vez e atende todos. O README registra o número: dois runners servem os 154.
A lição que fica: o custo de CI self-hosted não é o de subir o primeiro runner, é o de manter N runners atualizados quando o token expira, quando a imagem precisa de patch, quando um repo novo aparece. A organização transforma esse custo de linear em constante.
O mesmo raciocínio vale para o pipeline. Com workflows reutilizáveis num repositório central, uma regra nova de segurança entra em todos os 154 repos com um commit. Sem isso, a mesma mudança vira 154 pull requests, e na prática metade nunca é feita.
O perfil pessoal continuou existindo porque é ele que aparece em commits, issues e no LinkedIn. Ele só precisava dizer para onde o código foi.
Como o perfil se conecta ao resto
O README é renderizado pelo GitHub, puxa imagens de dois serviços externos e encaminha o visitante para a organização, onde mora o código e o pipeline.
- fernandofatech/fernandofatech · README.md
- shields.io · badges
- github-readme-stats · cards de stats
- 154 repos · 8 prefixos
- platform-workflows · reusable workflows
- 2 runners · self-hosted
- gitleaks · trivy · SonarQube · DefectDojo
Como usar o padrão no seu perfil
- 1
Crie o repositório com o seu usuário
Repositório público, com nome idêntico ao seu login (ex.:
seu-usuario/seu-usuario). Privado não aparece no perfil. - 2
Copie a estrutura, não o conteúdo
Use as seções como esqueleto: sobre, stack, projetos, plataforma, contato. Troque cada link e cada número pelos seus.
- 3
Ajuste os cards de estatística
Nas URLs do github-readme-stats, troque
username=fernandofatechpelo seu login. Parâmetros comotheme=tokyonightelangs_count=8são opcionais. - 4
Se tiver muitos repos, documente a organização
Com dezenas de repositórios, explique a convenção de nomes e o pipeline no próprio perfil. É o que separa um índice de uma lista de links.
- 5
Faça commit em `main` e confira
O GitHub renderiza na hora. Abra o perfil deslogado para ver o que um visitante vê.
# troque YOUR_USER pelo seu login no GitHub
gh repo create YOUR_USER/YOUR_USER --public
git clone https://github.com/fernandofatech/fernandofatech.git profile
cd profile
sed -i '' 's/username=fernandofatech/username=YOUR_USER/g' README.md # macOS; no Linux use sed -i
git remote set-url origin https://github.com/YOUR_USER/YOUR_USER.git
git push -u origin mainDependência externa que falha em silêncio
Os cards vêm de github-readme-stats.vercel.app, uma instância pública mantida por terceiros. Quando ela atinge limite de taxa ou sai do ar, o GitHub mostra imagem quebrada e ninguém é avisado. Se os cards importam para você, hospede sua própria instância com token próprio; se não importam, remova.
O custo de manter um README de perfil
Um arquivo estático parece não ter manutenção. Tem, e o próprio repositório mostra onde.
Links que envelhecem: a tabela de projetos aponta parte para fernando-moretes/ e parte para fernandofatech/, porque a migração foi feita em ondas. O GitHub redireciona repositório renomeado ou transferido, mas o redirecionamento quebra no dia em que alguém cria um repositório novo com o nome antigo.
Identidade duplicada: o README tem dois endereços de LinkedIn diferentes, /in/fernandofatech/ no topo e /in/fernando-francisco-azevedo/ no rodapé. É o tipo de inconsistência que nenhum linter pega.
Números que mudam: "154 repos" e "dois runners" estavam certos quando escrevi. Cada repositório novo deixa o número um pouco mais errado.
O que eu faria diferente: gerar a seção de plataforma a partir da própria organização (contagem de repos via API, lista de prefixos do orquestrador) em vez de digitar. Enquanto isso não existe, o README é um documento com data implícita, e vale lê-lo assim.
Perguntas frequentes
Tem algo para instalar ou rodar?
Não. É um README.md renderizado pelo GitHub. O código que eu de fato mantenho está na organização @fernando-moretes.
Por que não usar uma conta pessoal com um runner por repo?
Porque a API de runners não tem endpoint de usuário (404). Com 154 repos, seriam 154 runners para manter; na organização são dois.
Onde está o diagrama completo da plataforma?
No perfil da organização, que tem o índice completo e o motivo de cada decisão.
Referências
Para quem serve
Use este repositório como referência quando você tem dezenas de repositórios e precisa que o perfil explique a organização, não só liste projetos. Se você tem cinco repos numa conta pessoal, o padrão é excessivo: um parágrafo e três links bastam. E se copiar os cards de estatística, conte com a instância pública falhando de vez em quando, ou hospede a sua.
Deep dives de arquitetura, AWS, IA e mercado: direto no seu email. Grátis.
Sem spam · cancele quando quiser