reel diário · Top 10 do GitHub

O que está bombando no GitHub, em 2 minutos

Todo dia às 16h sai sozinho um reel com os 10 projetos que mais ganharam estrelas, do #10 ao #1, com gráfico, explicação simples e o avatar do apresentador Nei Maldaner (INEMA). Domingo tem o da semana; dia 1º, o do mês.

Banner Bombando no GitHub: o Top 10 do GitHub em reel, todo dia às 16h
Em resumo

O gitbombando é uma linha de produção automática de vídeos curtos. Todo dia às 16h ele olha a página de projetos em alta do GitHub, pega os 10 que mais ganharam estrelas e monta um reel vertical explicando cada um em português simples, com cartão, contador e gráfico. Serve para quem quer saber o que está bombando em tecnologia e IA sem ler inglês nem código. O vídeo vai sozinho para o YouTube (canal INEMA Tec, chamado de lives4 no sistema), para o bot de Telegram do Nei Maldaner (o "bot v3", que avisa quando terminou ou falhou) e para um tópico fixo no grupo INEMA.TOOLS do Telegram. Para rodar, precisa da máquina do INEMA com Python, Node, Codex, Claude Code e a assinatura do HeyGen.

O que é

Um telejornal diário do GitHub, feito por máquina

Junta o motor de telejornal do r7ex (que veio do eventosextremospub) com uma coleta própria do GitHub Trending.

As etapas do Bombando no GitHub: coleta, roteiro, contagem, gráfico, avatar e publicação

🔥 Chamada que para o dedo

O gancho abre com o fato mais forte do dia (o número do #1, uma big tech, um projeto polêmico) numa manchete desenhada na capa. Lista ("os 10 projetos…") é proibida na abertura.

📊 Gráfico em cada projeto

Cartão com posição, foto do dono, o que faz em português e estrelas; embaixo, o contador chega ao número quando ele é dito, e o gráfico mostra a curva de estrelas ou o "antes × agora".

⚙️ Sem ninguém apertar botão

Timer às 16h, roteiro e revisão pelo Claude, avatar no estúdio do HeyGen, publicação no lives4, aviso no bot v3 e post no mesmo tópico do Telegram.

Como funciona

Do Trending ao Telegram, sozinho

Cada etapa grava um arquivo na pasta da edição (edicoes/AAAA-MM-DD-top10-dia/); se uma falha, o Nei recebe "Falhou" no bot com o motivo.

Retrato das estrelas (de hora em hora)→ Coleta do Trending (16h)→ Roteiro (claude -p)→ Portão→ Avatar + cartões + capa→ Montagem→ Revisor→ lives4 · v3 · INEMA.TOOLS

📅 Dia, semana e mês

O timer chama auto/rodar.sh às 16h: sempre o Top 10 do dia; no domingo também o da semana; no dia 1º também o do mês.

⭐ Ordem pelas estrelas

O Top 10 é ordenado pelas estrelas ganhas no período, entre os projetos que estão no Trending (a ordem da página mistura outros sinais).

📖 Termos

Trending: página do GitHub com os projetos em alta. Retrato: anotação, de hora em hora, das estrelas de cada projeto. Portão: checagem automática que barra roteiro fora do padrão. claude -p: o Claude rodando sozinho, sem conversa. tela :99: tela virtual onde o navegador do HeyGen abre sem aparecer.

🧾 Revisor antes de publicar

Um claude -p lê 18 quadros do vídeo. Defeito visível (título errado, quadro vazio, número trocado) para tudo; sugestão segue junto para o Nei.

Pré-requisitos

O que precisa estar na máquina

É a máquina do INEMA, a mesma que já roda os outros sistemas de vídeo (r7ex e eventosextremospub). Em outra máquina, todos os itens abaixo precisam existir.

O projeto no lugar certo

Os timers procuram o projeto em ~/projetos/gitbombando.

git clone https://github.com/inematds/gitbombando ~/projetos/gitbombando

Bibliotecas Python

Leitura do roteiro, cartões e cortes de imagem.

pip install pyyaml pillow numpy

GitHub CLI

A coleta usa a API do GitHub pelo gh, já logado.

# conferir
gh auth status

Claude Code + Codex

Roteiro e revisão pelo claude -p; capa pelo Codex image_gen. Os dois pela assinatura.

# conferir
claude --version && codex --version

Node + Python + ffmpeg

Render no Chrome do Playwright, montagem no ffmpeg, Whisper do inemavox para o tempo das palavras.

# instalar o motor e o navegador
cd ~/projetos/gitbombando && npm install
npx playwright install chromium

Estúdio do HeyGen

Perfil logado em ~/.cache/inemaccbot/perfil-heygen, tela :99 (stack99). O avatar é gerado pelo estúdio (assinatura); só a conferência de status e o download leem a API, com a HEYGEN_API_KEY de ~/projetos/openpcbotv2/.env.

# a tela :99 precisa estar no ar
systemctl --user status stack99

yt-pubx

Publica no canal lives4 (INEMA Tec) com título, descrição e tags.

~/projetos/yt-pubx/yt-pubx canais | grep lives4

Projetos vizinhos

~/projetos/inemavox (Whisper, tempo de cada palavra) e ~/projetos/openpcbotv3 (envio ao bot v3).

ls ~/projetos/inemavox ~/projetos/openpcbotv3/dist

Telegram

Sessão do telegramtopicosindex (conta do Nei) para postar no tópico fixo do INEMA.TOOLS.

ls ~/projetos/telegramtopicosindex/telegram_session.session
Guia de uso · passo a passo

Ligar, testar e acompanhar

Depois de ligado, não precisa fazer nada: o vídeo sai às 16h. Os passos abaixo servem para instalar, testar e consertar.

1

Ligar os dois timers

O retrato de hora em hora monta a curva de estrelas; o das 16h faz e publica o reel.

mkdir -p ~/.config/systemd/user
cp auto/systemd/gitbombando* ~/.config/systemd/user/
systemctl --user daemon-reload
systemctl --user enable --now gitbombando-retrato.timer gitbombando.timer  # confira com: systemctl --user list-timers | grep gitbomb
2

Ver o Top 10 sem gravar vídeo

Só a coleta: grava edicoes/teste/pesquisa/top10.json com estrelas, descrição, README e crescimento de cada projeto. GB_SEM_HISTORICO=1 evita mexer no histórico real.

GB_SEM_HISTORICO=1 python3 coleta/trending.py edicoes/teste dia   # ou semana / mes
3

Rodar uma edição de teste (sem publicar)

Faz tudo numa pasta de teste, sem subir no YouTube, no bot, no Telegram nem no git. Use sempre ED= com uma pasta nova: sem ela, o teste usa a pasta da edição do dia. Com AVATAR_DE= ele reaproveita um avatar já gravado e não gasta geração no HeyGen (sem isso, grava um avatar novo). O log fica em rodada.log e a folha de quadros em build/folha.jpg.

ED=edicoes/teste-1 AVATAR_DE=<avatar.mp4> \
  SEM_YT=1 SEM_BOT=1 SEM_TG=1 SEM_GIT=1 GB_SEM_HISTORICO=1 auto/rodar.sh 2026-10-28 dia
4

Publicar uma edição pronta

Quando o revisor reprova, o vídeo não sai e o bot avisa. Se você achar que está bom, publique na mão: lives4, bot v3 e o tópico do INEMA.TOOLS.

python3 gb.py publicar edicoes/<pasta>
5

Refazer só uma etapa

O gb.py tem um comando por etapa; cada um lê a ficha.yaml e o top10.json da pasta.

python3 gb.py fazer   edicoes/<pasta>   # todas as etapas abaixo, de uma vez
python3 gb.py checar  edicoes/<pasta>   # portão do roteiro
python3 gb.py imagens edicoes/<pasta>   # capa, ranking, 10 cartões
python3 gb.py avatar  edicoes/<pasta>   # fala ao estúdio do HeyGen e espera
python3 gb.py cena    edicoes/<pasta>   # tempos + ritmo + cena.js
python3 gb.py render  edicoes/<pasta>   # video.mp4
python3 gb.py revisar edicoes/<pasta>   # folha + revisor
6

Onde ver se deu certo

Cada edição fica em edicoes/AAAA-MM-DD-top10-dia/: rodada.log (o caminho todo), revisao.json (o parecer do revisor) e build/folha.jpg (18 quadros). Se algo falha, o bot v3 recebe "Falhou:" com o motivo; se o revisor reprova, a mensagem traz o comando para publicar assim mesmo.

tail -20 edicoes/$(date +%F)-top10-dia/rodada.log
7

Pular um dia

Uma linha com a data pula tudo; com a data e o modo, pula só aquele.

echo "2026-11-02" >> auto/pular.txt          # pula o dia inteiro
echo "2026-11-02 semana" >> auto/pular.txt   # pula só o da semana
Exemplos

A primeira edição: Top 10 de 28/10/2026

O DeepTutor, um professor particular de IA, ficou em 1º com 2.371 estrelas no dia.

Capa do reel com a manchete do dia
Quadro 0: a manchete desenhada na capa, com o número em amarelo.
Cartão de um projeto com contador e gráfico
Um projeto da contagem: cartão com a posição, o contador e o gráfico embaixo, o avatar no canto.
Roadmap

O que já tem e o que vem

Versão 1.0.0, 28/10/2026.

Fase 1 ✓
Reel diário automáticoColeta, roteiro, avatar, gráficos, revisor, YouTube, bot e Telegram, com semana e mês.
Fase 2
Curva de estrelas de verdadeCom alguns dias de retratos de hora em hora, o gráfico de cada projeto passa a ser a curva por hora (dia) ou por dia (semana e mês).
Fase 3
"Não sai do Top 10"Usar o histórico para destacar quem aparece vários dias seguidos e quem estreou.