GitHub: um tour pelos repositórios que eu mantenho (e por que eles existem)

· 5 min de leitura · atualizado · ranking Hrönir #30/38

Para mim, repositório é a forma mais barata de pensar uma ideia até ela falar comigo. Não é metáfora — é workflow. Começo escrevendo um README, e quando o README começa a discutir comigo, sei que vale fazer o resto. O README que não discute — o que fica educado, vago, me deixa escrever o que eu quiser — geralmente significa que a ideia ainda não bateu em nada de real. Aprendi a desconfiar de README que consigo terminar em vinte minutos.

Tenho 64 repositórios públicos no GitHub. A maioria é a fase do README: a ideia sobreviveu tempo suficiente pra ganhar nome e primeiro commit, depois travou em alguma coisa. Alguns são onde eu realmente moro.

O que mais consome a cabeça

franklinbaldo/causaganha
Extração e análise estruturada de diários oficiais e processos, com DuckDB no núcleo. Eu sou advogado em Porto Velho, e essa máquina é o que talvez me deixe, um dia, exercer a profissão de outro jeito.

Essa legenda está fazendo muito trabalho silencioso. Sou procurador do Estado em Rondônia — vizinho do Pará, borda operacional da Amazônia. Meu trabalho cotidiano inclui ler diários oficiais em busca do que importa: nomeações, contratos, decisões regulatórias, o tipo de texto jurídico que é publicado porque a lei exige e depois desaparece num buscador que não indexa direito. O causaganha é minha tentativa de automatizar o que passo horas demais fazendo na mão. É também minha resposta mais clara à pergunta de o que eu construiria se pudesse construir só uma coisa.

O README discutiu por três anos. Ainda discute.

Camada de agentes

Em volta do causaganha orbita uma camada que eu construí porque precisei.

franklinbaldo/canivete
CLI de orquestração — o nome diz tudo: ferramentinha que faz muita coisa mediana.
franklinbaldo/funes-memories
Diário de memória para agentes, inspirado no Funes de Borges. Mais sobre esquecer com critério do que sobre lembrar tudo.
franklinbaldo/the-theater
Palco para múltiplos agentes encenarem um problema, útil para role-play analítico.
franklinbaldo/hronir
Motor de dados metafísicos. Sim, é tão Borges quanto parece.

Esses existem porque o causaganha foi pedindo coisas que não existiam. O canivete porque eu precisava de uma ferramenta que falasse com vários agentes. O funes porque agentes esquecem, e o esquecimento é geralmente o que quebra uma sessão mais do que qualquer coisa técnica. O teatro porque alguns problemas se entendem melhor vendo duas posições brigarem do que tentando segurar as duas ao mesmo tempo.

Nem sempre sei se são boas ferramentas ou só ferramentas a que me acostumei. Essa distinção importa e eu frequentemente não consigo fazê-la com clareza.

O que Porto Velho cheira no código

Civic-tech sem advogado por perto vira blog post bonito sem efeito jurídico. Sei porque assisti isso acontecer, e algumas vezes fui eu assistindo isso acontecer a algo que eu mesmo construí.

Eis como isso parece na prática. Um time constrói um rastreador de financiamento político. O pipeline é sólido, a visualização é boa. Mas a resolução de entidades usa o CNPJ como identificador canônico, e no direito brasileiro um operador com três empresas de fachada debaixo do mesmo beneficiário final aparece como três entidades distintas com um terço da renda declarada cada uma. A interface é bonita e os números estão errados, e não tem ninguém no time que saiba por que o Artigo 10 da Lei Eleitoral distingue renda declarada de renda efetiva. Alguém protocola uma representação no Tribunal de Contas usando os dados. A representação é rejeitada por um vício formal que qualquer advogado teria pegado antes do primeiro commit. O README nunca bateu na camada jurídica, então nunca discutiu de verdade.

O inverso também é verdade — advogado sem capacidade técnica pode ler um contrato e perder a estrutura de banco de dados por baixo que determina se o contrato é executável ou teatro. Já fui esse advogado. Certa vez revisei um contrato de serviços com cláusula de SLA bem redigida — tempos de resposta, garantias de uptime, escalonamento de multas — e assinei. Dois anos depois o contratado descumpriu o SLA por seis meses consecutivos e não havia como aplicar a multa, porque o contrato não especificava qual sistema geraria a evidência, e o único sistema capaz de comprovar o descumprimento era o do próprio contratado. Juridicamente correto. Tecnicamente inexigível. Fui o advogado que não perguntou qual banco de dados gerava o relatório de SLA.

Esses três são a expressão mais clara da fratura que estou tentando fechar:

franklinbaldo/quem-sao-eles
Catálogo aberto de políticos brasileiros, com foco em rastreabilidade. A parte da rastreabilidade não é estética — é a camada jurídica que a maioria do civic-tech pula.
franklinbaldo/dinossauro
Exuma orçamento público, voltado a peças esquecidas no fundo do Portal da Transparência. O nome vem dos itens orçamentários que sobrevivem a cortes anuais por não serem visíveis o suficiente para cortar.
franklinbaldo/baliza
Meu repo pinned mais visitado. Ferramenta de marcação e leitura de bases públicas. Útil porque parte do princípio que o leitor quer fazer algo com o que encontra, não só encontrar.

Porto Velho é longe. Infraestrutura é cara. A camada de accountability que existe em capitais maiores existe aqui principalmente no papel, e o papel está num diário que ninguém lê sistematicamente. A maioria das semanas eu sou uma das pessoas que deveria estar lendo, e estou numa audiência, ou escrevendo parecer sobre outra coisa. O Diário Oficial do Estado de Rondônia publica nomeações, contratos e decisões regulatórias porque a lei exige publicação — não porque alguém tem garantia de ver. Eu construo ferramentas pra ler sistematicamente não exatamente por virtude cívica. É frustração que encontrou um compilador.

Satélites

franklinbaldo/autonovel
Motor de geração de texto longo.
franklinbaldo/travessia
Tema de publicação. O nome vem do Riobaldo, claro.
franklinbaldo/verne
Apelidei de "viagens extraordinárias" da minha pesquisa.
franklinbaldo/rosencrantz-coin
Experimentos em TeX sobre invariância de substrato em LLMs. Stoppard encontra modelo de linguagem.
franklinbaldo/egregora-v3
Gerador de blog com LLM. A egrégora, no caso, sou eu mesmo.
franklinbaldo/cobogo
Sistema de design em Svelte, inspirado em arquitetura modernista brasileira.
franklinbaldo/skills
Experimentos de formalização jurídica em Lean 4 — mais exercício filosófico do que produto, por enquanto.
franklinbaldo/papers
Arquivo pessoal de pesquisa cruzando IA e direito.

Os outros 49 ou 50 eu não consigo defender um por um. Alguns releio com prazer; outros, com vergonha. Os vergonhosos são geralmente os que eu sabia, quando escrevi o README, que ele ainda não estava discutindo comigo — e commitei mesmo assim porque a ideia parecia excitante e eu não queria esperar pelo atrito.

A melhor ferramenta pra distinguir um do outro é tempo. Abra um repo depois de seis meses e saiba em trinta segundos se você estava construindo alguma coisa ou só encenando o ato de construir. O teste dos trinta segundos é bastante confiável. O que aprendi aplicando ele é que os repos que sobrevivem são os cujos READMEs discutiram com as duas camadas ao mesmo tempo — técnica e jurídica simultaneamente, nenhuma deixando a outra fazer o movimento fácil. Os que morrem tendem a morrer de um lado só. Código que roda bem sem estrutura de accountability em volta. Argumento jurídico sólido sem compilador. A maioria dos meus satélites é isso: uma camada presente, uma ausente, README educado demais pra dizer.

O causaganha discute comigo há três anos porque não pode parar de discutir. No momento em que aceitar tranquilamente o que eu entrego, o diário vira uma pasta de PDFs de novo. Esse é o teste. Metade dos 64 vai morrer sem leitor, e tudo bem. O que não posso é deixar os que não deveriam morrer — os cujos READMEs ainda estavam discutindo e eu simplesmente cansei de escutar.

Tags: #github #open-source #agentes #legal-tech #civic-tech

Read in English

Comentários

Comentários ainda não configurados.

↑ Top