Open-source maintainer PR triage tools for desktop

XDA e uma série de posts de mantenedores ao longo de 2026 disseram a mesma coisa em voz alta: o mantenedor de código aberto médio agora gasta mais tempo fechando pull requests gerados por IA do que revisando os reais. Daniel Stenberg do Curl a chamou de negação de serviço no seu tempo. O grupo de empacotamento do Python apertou as regras dos contribuidores iniciantes pela mesma razão. O padrão é familiar: alguém aponta um LLM para um repositório, abre dez PRs que mudam a indentação, renomeiam uma variável ou alucinam uma correção para um bug que não existe, e o mantenedor precisa ler cada um para garantir que nada válido seja descartado.

As oito ferramentas de desktop abaixo são o que realmente ajuda. Não há bala de prata aqui, e nenhuma delas vai parar a enchente. Juntas, elas permitem que um mantenedor classifique, feche em massa, revise automaticamente e defina padrões que impeçam contribuições AI de baixo esforço de consumir uma noite.

O que procurar em uma ferramenta de triagem de PR

Comparação rápida

Ferramenta Executa em Preço Melhor para
GitHub CLI (gh) linux, macos, windows Free, open-source Scripting de ações em massa do shell
gh Dash linux, macos, windows Free, open-source Painel de terminal com ações em massa por teclado
LazyGit linux, macos, windows Free, open-source Checkout rápido de PR e ciclo de teste local
Reviewpad GitHub App Free for public repos Regras YAML que fecham automaticamente por sinais do autor
CodeRabbit GitHub App Free for open-source, paid for private Revisor IA que detecta erros de outra IA
Renovate Self-host or app Free, open-source Matar completamente a classe de PR “bump lodash”
Danger linux, macos, windows Free, open-source Verificações de política por PR em Ruby ou JS
Prow Self-hosted Free, open-source Grandes projetos querendo automação de nível Kubernetes completo

Os aplicativos

1. GitHub CLI (gh)

A camada base na qual tudo mais repousa. gh é um cliente de linha de comando de primeira parte para GitHub, e é a diferença entre clicar em cinquenta PRs em um navegador e fechá-los com um loop.

Sessões reais de triagem se parecem com isto: gh pr list --state open --sort created --limit 100 --json number,author,additions,deletions,title para despejar a fila como JSON, canalizá-la para jq para filtrar por data de criação do autor ou tamanho da diff, e gh pr close <n> --comment "Thanks, but this repo requires an issue and design discussion before code changes. Closing per CONTRIBUTING.md." para enviar um lote com uma mensagem consistente. Adicione aliases em ~/.config/gh/config.yml e todo o fluxo se torna memória muscular.

gh é programável, funciona de forma idêntica no Linux, macOS e Windows, e não requer nada rodando em segundo plano. É a parte mais essencial de qualquer aparato de triagem.

Baixar: GitHub CLI (gh)

2. gh Dash

Um painel de terminal construído em cima de gh. gh Dash oferece múltiplas abas de filtro no lado da tela, cada uma uma consulta salva: “meus”, “precisa de revisão”, “obsoleto por mais de 30 dias”, “de contas com menos de 3 contribuições”. Mova entre elas com as setas, pressione um atalho para abrir o PR em um navegador, pressione outro para fechá-lo, outro para comentar.

O valor está no layout multi-aba. Um mantenedor configura uma aba para PRs humanos reais que precisam de atenção e outra para a pilha de ruído, depois trabalha através da pilha de ruído com dois toques de tecla por linha sem nunca sair do terminal.

gh Dash é gratuita e open-source, a configuração fica em ~/.config/gh-dash/config.yml, e visualizações com escopo de repositório significam que mantenedores de dez projetos diferentes podem mantê-los separados.

Baixar: gh Dash

3. LazyGit

Não é estritamente uma ferramenta de triagem de PR, mas é a forma mais rápida de executar o loop “verifique este PR, execute os testes, veja a diff, decida” que separa correções reais de suposições de LLM.

LazyGit é uma interface de usuário git em terminal, e o modo de revisão de PR permite a um mantenedor buscar uma cabeça de PR em uma branch local, pular para ela, executar a suite de testes e voltar para main em segundos. Isso importa porque a forma honesta de detectar lixo AI geralmente é executá-lo. Um patch que parece plausível no navegador falha no primeiro teste ou introduz uma chamada para uma função que não existe. LazyGit reduz o custo de troca de contexto a quase zero, então executar testes se torna a resposta padrão em vez de uma verificação ocasional.

Multiplataforma, apenas teclado e gratuito. Funciona bem com gh Dash: triagem em um terminal, revisão em outro.

Baixar: LazyGit

4. Reviewpad

Um aplicativo GitHub que lê um arquivo reviewpad.yml na raiz do repositório e aplica regras a cada PR que chega. A linguagem de regras é expressiva: combina na idade do autor, contribuições anteriores, arquivos afetados, tamanho da diff, presença de testes e combinações de tudo isso.

A política anti-lixo típica se lê aproximadamente como “se a conta do autor tem menos de 30 dias E não tem outras contribuições para esta organização E o PR apenas toca espaços em branco ou comentários, adicione a etiqueta low-effort e publique um comentário de fechamento vinculando ao CONTRIBUTING.md”. O detector de lixo AI, adicionado nas versões 2025, adiciona heurísticas para mensagens de commit geradas e descrições de PR padrão.

Reviewpad é gratuito para repositórios públicos, o que cobre o caso de uso do mantenedor claramente, e é auto-hospedável se um projeto prefere não conceder acesso de escrita a um aplicativo de terceiros.

Baixar: Reviewpad

5. CodeRabbit

Um bot revisor de IA, o que soa como agravar o problema, mas na prática é a forma mais rápida de detectar o que outra IA deixa para trás. CodeRabbit lê cada PR e publica comentários inline nas pistas clássicas: importações não utilizadas, chamadas de função que fazem referência a APIs que não existem na biblioteca importada, testes que afirmam contra o tipo de retorno errado, edições de README que contradizem o comportamento real.

Para um mantenedor de código aberto, o fluxo de trabalho é deixar CodeRabbit rodar primeiro, depois apenas abrir os PRs onde seu resumo diz algo não trivial. Se a revisão de alto nível do bot diz “o import foo.bar não existe nesta versão da biblioteca”, o mantenedor pode fechar com uma breve explicação em vez de escrever a revisão ele mesmo.

A camada gratuita cobre repositórios públicos de código aberto. A camada paga para trabalho privado fica em torno de $12 por usuário por mês no momento da escrita.

Baixar: CodeRabbit

6. Renovate

Renovate não é uma ferramenta de revisão. Importa porque uma grande fração de PRs externos de baixo esforço são “bump lodash from 4.17.20 to 4.17.21”, abertos por pessoas usando um LLM para parecerem ativas no GitHub. Automatizar atualizações de dependências internamente torna esses PRs inúteis: na época em que o estranho abre o seu, Renovate já mesclou a mesma atualização em um run de CI bem-sucedido.

O arquivo de configuração suporta atualizações de agrupamento, restrição apenas a bump de segurança, retenção de atualizações não-maiores por uma semana e qualquer combinação entre. Uma vez em vigor, a classe de PR “bump de dependência de spam” efetivamente desaparece, liberando atenção para revisão real.

Gratuita, open-source e disponível tanto auto-hospedada quanto como um aplicativo GitHub hospedado. Renovate é o movimento de alavancagem que reduz a fila em vez de limpá-la mais rápido.

Baixar: Renovate

7. Danger

Danger executa um script (Dangerfile em Ruby, ou dangerfile.js em JavaScript) contra cada PR e publica um comentário de resumo. O valor para triagem do mantenedor é a camada de política que aplica antes mesmo da revisão humana começar.

Regras típicas: bloquear PRs que adicionam código mas sem testes. Bloquear PRs que modificam arquivos gerados sem regenerá-los. Exigir uma entrada de changelog para qualquer mudança em src/. Aviso em PRs maiores que 500 linhas. Exigir que a descrição do PR faça referência a um número de issue. Cada regra falha visivelmente no PR mesmo com um comentário explicando o que precisa mudar, então o contribuidor ou o corrige ou o mantenedor tem uma razão clara para fechar.

Danger é gratuita, open-source e funciona dentro de CI existente (GitHub Actions, CircleCI, qualquer coisa que o projeto já use). É a ferramenta mais afiada para tornar os padrões específicos do projeto verificados por máquina em vez de serem repetidos a cada revisão.

Baixar: Danger

8. Prow

O sistema de triagem de PR que o projeto Kubernetes construiu para si mesmo. Prow lida com atribuição automática baseada em OWNERS, comandos de comentário /lgtm e /approve, filas de merge baseadas em tide, gerenciamento de etiquetas e orquestração de CI. É a razão pela qual um projeto com milhares de contribuidores e milhares de PRs por mês pode funcionar de jeito nenhum.

Prow é auto-hospedado, roda no próprio Kubernetes e espera um verdadeiro time de operações por trás. Projetos pequenos não devem tocá-lo. Projetos grandes e qualquer organização que já tenha crescido além dos recursos do GitHub integrados não encontrará nada no mesmo nível. Se a escala diária for mais do que um mantenedor pode gerenciar sozinho, Prow é o caminho da graduação.

Baixar: Prow

Como escolher a combinação certa

A maioria dos mantenedores solo podem começar com três ferramentas e crescer a partir daí. gh para scripts de fechamento em massa, gh Dash para o percurso diário através da fila, e Reviewpad para as regras de fechamento automático que pegam casos óbvios antes de chegarem à fila. Essa combinação reduz o ruído pela maioria do que uma pessoa pode reduzir sozinha.

Adicione Renovate a seguir, porque remove trabalho em vez de automatizá-lo. A classe de PR de dependência deixa de ser uma categoria de todo.

CodeRabbit e Danger ficam na camada de revisão: ative-os quando a fila humana for pequena o suficiente para que ler um resumo de bot seja uma economia de tempo líquida em vez de outra notificação para verificar. Danger vale a pena assim que o projeto tem padrões reais de contribuidor, CodeRabbit assim que o volume de PRs que parecem reais gerados por IA torna cada um digno de dez minutos de verificação.

LazyGit é uma escolha de fluxo de trabalho pessoal. Qualquer um que revise código verificando-o localmente, que é a forma honesta, economizará tempo real com ele. Qualquer um que revise inteiramente no navegador pode pular.

Prow é a resposta no topo da curva. Se o projeto é pequeno o suficiente para que isso pareça excessivo, então é excessivo. Quando deixa de parecer assim, a migração vale a pena.

FAQ

É rude fechar um PR gerado por IA sem lê-lo?

Não se o CONTRIBUTING.md do projeto disser que PRs precisam de uma discussão de issue e design primeiro, e o comentário de fechamento citar essa política. Definir a regra antecipadamente e aplicá-la consistentemente é o caminho honesto. O que não é útil é aceitar alguns PRs de spam e rejeitar outros com base em como o mantenedor se sente naquele dia.

Essas ferramentas fecharão acidentalmente contribuições reais de novos contribuidores?

O risco é real, e é por isso que as regras importam. Políticas de fechamento automático devem depender de combinações, não de sinais únicos: uma conta nova não é suficiente, mas uma conta nova sem outras contribuições e uma diff apenas com espaços em branco é. Cada mensagem de fechamento deve explicar o que aconteceu e como apelar, e cada política deve ser revisada mensalmente contra o log de fechamento real.

Algum desses funciona com GitLab ou Codeberg?

gh e gh Dash são apenas GitHub. LazyGit, Renovate, Danger e Prow todos suportam GitLab. Reviewpad e CodeRabbit têm suporte a GitLab em vários estágios de maturidade. Usuários de Codeberg (Gitea) têm menos opções; tea é o análogo mais próximo de gh.

Quanto disso um projeto pode fazer sem pagar ninguém?

Tudo, exceto CodeRabbit para repositórios privados. Cada ferramenta nesta lista tem um nível gratuito de código aberto que cobre um projeto de código aberto público, e Prow, Renovate, Reviewpad e Danger podem ser totalmente auto-hospedados se o projeto prefere executá-los sozinho.

E quanto ao nível gratuito das próprias ferramentas do GitHub?

GitHub Actions com a ação integrada github-script pode implementar muito do que Reviewpad e Danger fazem, se um mantenedor prefere manter tudo nativo. O compromisso é escrever e manter a lógica manualmente versus usar uma ferramenta construída para o propósito. Para regras de triagem simples, Actions nativo é suficiente. Para qualquer coisa com mais de algumas condições, as ferramentas dedicadas economizam tempo.