Pular para o conteúdo
fernando.moretes.com
BlogEstudosCursosE-booksOpen SourcePodcasts
Loading…
Fernando Azevedo

Arquiteto de TI Especialista

Arquitetura, AWS, IA em produção, sistemas financeiros e FinOps, escritos a partir do que foi operado, com os números.

  • LinkedIn
  • GitHub
  • E-mail

Conteúdo

  • Blog
  • Estudos de arquitetura
  • Cursos
  • E-books
  • Open Source
  • Podcasts
  • Assuntos
  • Trilhas

Ferramentas

  • Well-Architected self-check
  • Arquitetura deste site
  • Números públicos
  • Histórico de estudo

Sobre

  • Comunidade
  • IA Builder
  • Perfil
  • Currículo (CV)
  • Trabalhe comigo
  • Media kit
  • RSS do blog
  • RSS dos estudos
  • Artigos narrados (podcast)
  • llms.txt
  • Termos, privacidade e uso de IA

(c) 2026 Fernando Francisco Azevedo

Open Source/fernandofatech

fernandofatech

README de perfil do GitHub: a porta de entrada para os 154 repos da org

2Atualizado em 29 de set. de 2026000 visualizações00 reproduções
Compartilhar:LinkedInWhatsAppXBaixar em Markdown
#github-profile#moretes#portfolio#profile#readme#solution-architect#solution-architecture
Ver no GitHub Site
git clone https://github.com/fernandofatech/fernandofatech.git
Ouvir guia

cerca de 4 min · áudio gerado ao tocar

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

Convenção de nomes: oito prefixos (app-, svc-, ref-, tool-, infra-, lib-, dot-, lab-) para 154 repositórios.
Pipeline único: workflows reutilizáveis em platform-workflows; corrigir uma regra é mudar um arquivo.
Runners por visibilidade: repo privado em self-hosted (minuto grátis), repo público em GitHub-hosted (grátis e ilimitado para público).
Segurança: gitleaks e trivy em todos; SonarQube e DefectDojo nos privados, que rodam dentro da rede.
Releases: SemVer calculado a partir de Conventional Commits, ninguém digita número de versão.

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.

👤 Perfil pessoal
  • fernandofatech/fernandofatech · README.md
🌐 Serviços externos
  • shields.io · badges
  • github-readme-stats · cards de stats
🔧 Org fernando-moretes
  • 154 repos · 8 prefixos
  • platform-workflows · reusable workflows
  • 2 runners · self-hosted
🔐 Segurança
  • gitleaks · trivy · SonarQube · DefectDojo

Como usar o padrão no seu perfil

  1. 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. 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. 3

    Ajuste os cards de estatística

    Nas URLs do github-readme-stats, troque username=fernandofatech pelo seu login. Parâmetros como theme=tokyonight e langs_count=8 são opcionais.

  4. 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. 5

    Faça commit em main e confira

    O GitHub renderiza na hora. Abra o perfil deslogado para ver o que um visitante vê.

Clonar como ponto de partida e trocar o usuário dos cards
bash
# 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 main

Dependê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

GitHub: fernandofatech/fernandofatechfernando.moretes.comGitHub: organização fernando-moretesplatform-workflowsgithub-readme-statsGitHub Docs: managing your profile README

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.

Curte open source e arquitetura? Receba mais.

Deep dives de arquitetura, AWS, IA e mercado: direto no seu email. Grátis.

Sem spam · cancele quando quiser

Guia gerado com IA a partir do repositório e do README. · Fonte

Continue lendo

HTMLsolution-architecture-mcp-toolkitADR, Well-Architected e threat model como ferramentas que um agente de IA chamaLer Pythonbedrock-agent-starterStarter de agente no Bedrock com tools, memória, Terraform e evals já ligadosLer Pythonmcp-aws-solution-architectServidor MCP bilíngue com 5 ferramentas determinísticas para arquitetura AWSLer