App de barra de menu para macOS

Seus PRs no prumo, sem abrir o GitHub.

O PRumo fica no canto da tela e acompanha os PRs que você abriu e os reviews pedidos a você e ao seu time. Avisa quando a CI termina, quando aprovam, quando chega comentário e quando o PR fica pronto para merge. Para CI quebrada, conflito e comentários, abre o Claude Code já na branch do PR.

Versão 0.1.0 · macOS 26 ou mais novo · leia o aviso sobre a primeira abertura
macOS 26 ou mais novo · usa o seu gh · sem servidor
PRumo
Meus PRs 4Revisar 3Merge 1
feat(pedido): filtro por status na listagem
acme/loja #809 · 5h
✗ unit-testscorrigirON-1234
refactor(frete): extrai o cálculo para um service
acme/api #74 · 3d
alterações pedidas5resolver
chore(ci): cache do pnpm no workflow
acme/web #233 · 40min
● CI 4/9draft
fix(carrinho): preço do combo sem imposto
acme/loja #812 · 2h
✓ CI 12/12✓ 2 aprovações
Atualizado há 30s⌥⌘P · Ajustes
CI falhou em #809feat(pedido): filtro por status · unit-tests
AbrirRe-rodarCorrigir com ClaudeSilenciar

Avisa o que pede ação. O resto fica na lista.

Notificações nativas do macOS, cada tipo com a sua chave nos Ajustes. O clique abre a página certa do PR no navegador.

✗
CI terminouPassou ou falhou, com o nome do job. Uma notificação por commit, não uma por check. Na falha, a notificação traz Abrir, Re-rodar, Corrigir com Claude e Silenciar.
✓
PR aprovadoQuem aprovou e em qual PR.
!
Alterações pedidasQuem pediu e em qual PR, direto para o review.
Comentário novoDe issue ou de review. O clique abre o comentário.
↺
Review pedidoPara você ou para um time seu. O PR entra na aba Revisar com o autor e o tamanho do diff.
Review paradoLembra uma vez quando um pedido de review passa do limite, 24 h por padrão.
⇢
Pronto para mergeAprovado, CI verde e sem conflito. O PR também aparece na aba Merge.
⊘
Entrou em conflitoAvisa quando o PR deixa de dar merge limpo, com Abrir e Silenciar.

Tudo o que importa numa linha.

O ícone na barra mostra quantos reviews esperam por você, com um ponto vermelho quando alguma CI sua está falhando. O popover tem três abas, cada uma com o seu contador.

  • Meus PRs: os PRs abertos que você criou, em qualquer repositório.
  • Revisar: os PRs em que pediram o seu review ou o do seu time, com quem pediu, o autor, o tamanho do diff e há quanto tempo o pedido espera.
  • Merge: seus PRs aprovados, com CI verde e sem conflito. No fim, “Mergeados hoje” lista o que entrou hoje e o horário do merge.
  • Badges de CI (checks que passaram, o nome do que falhou ou quantos ainda rodam), aprovações, alterações pedidas, comentários, draft, conflito e a chave do Jira, em azul, que abre o card.
  • O clique na linha abre o PR. O menu ⋯ ou o botão direito trazem as ações do Claude, abrir no navegador, abrir o card no Jira, re-rodar o job que falhou, copiar o link, copiar gh pr checkout <n>, fixar e silenciar.
  • Sem rede, sem token válido ou com limite da API, a lista continua com os últimos dados e um aviso do que está acontecendo.
Verde: tudo certo.
Cinza: CI rodando.
Vermelho: a CI falhou.
Azul: precisa da sua atenção, como alterações pedidas ou review parado.
Caramelo, à direita: atividade nova desde a última vez que você abriu o popover.
◐
Claro e escuroSegue o tema do sistema, com ícone areia no claro e carvão no escuro.
Atualização a cada 60 sConfigurável para 30 s, 2 min ou 5 min. O botão de atualizar busca na hora.

Filtre pelo que você quer ver agora.

Uma barra embaixo das abas junta repositórios, filtros e ordem. Tudo fica salvo entre execuções.

  • Repositórios: lista agrupada por org, com busca, favoritos no topo e quantos PRs cada um tem. Vale para as três abas.
  • Filtros: CI, estado do review, drafts, conflito, atividade nova, fixados, autor e, em Revisar, para você, para o time ou parado. Cada filtro ativo vira um chip com ✕.
  • Ordem escolhida por aba: atividade recente, precisa de ação primeiro, mais antigos, mais novos, repositório ou tamanho do diff. Dá para agrupar por repositório.
  • Visões salvas: uma combinação de repositórios e filtros com nome, para reaplicar depois.
  • PR fixado sobe para o topo com um alfinete. PR silenciado não notifica, desce para o fim e fica esmaecido. Os dois valem em qualquer ordem.
  • Drafts podem ficar fora de Revisar. Reviews pedidos ao time contam como pedidos a você, na lista, no contador e nos avisos.
  • Linha detalhada ou compacta, com os metadados numa linha só.
Repositórios ▾Filtros ▾Atividade recente ▾
CI falhando ✕para você ✕sem drafts ✕Limpar
acme
★loja5
★api3
web1
outra-org
infra2
Visões:Loja e APIReviews do time

CI quebrou? O Claude Code abre na branch certa.

Um clique abre o terminal numa worktree do PR, com o prompt pronto. Seu clone principal não muda de branch.

QuandoOnde clicarO que o Claude faz
Review pedido a vocêRevisar com Claude no menu ⋯Roda o seu comando de review, /code-review <n> por padrão.
CI falhando no seu PRcorrigir no badge, no menu e na notificaçãoLê o log do job que falhou, encontra a causa e corrige.
PR em conflitoresolver no badge e no menuFaz merge da branch base, resolve os conflitos, roda os testes e faz o commit.
Comentários ou alterações pedidasresolver no badge e no menuLê os comentários, aplica o que fizer sentido e resume o que mudou e o que ficou de fora. Não responde nem resolve conversas no GitHub.
  • Encontra o clone do repositório em ~/Code pelo remote. Se não achar, pergunta a pasta uma vez e confere se ela é mesmo daquele repositório.
  • Cria a worktree em ~/Code/.prumo-worktrees/<repo>-<n>. Para corrigir CI, conflito e comentários usa a branch real do PR, sem resetar commits seus. Para revisar ou em PR de fork, usa uma worktree destacada.
  • O comando é claude por padrão e pode ser trocado, por exemplo por claude-ems. A sessão roda com zsh -il, então a função ou o alias do seu .zshrc continua valendo.
  • Nenhum texto do PR (título, nome de job, branch) é digitado no terminal ou montado numa linha de shell. O terminal só roda um script do próprio app.
  • Apaga a worktree quando o GitHub confirma que o PR foi fechado ou mergeado, e só se ela estiver limpa e sem commits por enviar.
  • Prompts, comando e flags do claude, terminal (Ghostty, Terminal, iTerm ou comando próprio) e pastas ficam em Ajustes › IA.
loja-809
~/Code/.prumo-worktrees/loja-809 (feat/pedido-filtro)
$ claude -- "A CI do PR #809 (acme/loja) falhou no job unit-tests. Leia o log com gh run view 1234567 --log-failed, encontre a causa e corrija."

● Lendo o log do job que falhou…
● O teste espera 3 status, mas o enum ganhou "cancelado".

Silêncio quando você precisa.

O app continua atualizando a lista. O que muda é quando ele toca.

Não perturbeBotão no cabeçalho: por 1 hora, até amanhã às 9h ou até você reativar. O que aconteceu durante a pausa não vira aviso depois.
Horário de trabalhoDias e horário, como seg a sex das 9h às 18h. Fora dele, o app age como no Não perturbe. Vem desligado.
↺
Review parado não se perdeSe o limite vence durante uma pausa, o lembrete fica para o fim dela.
⌥
Uma chave por tipoCada notificação liga e desliga sozinha. As de CI de um mesmo PR podem ficar empilhadas na Central de Notificações.
Autores ignoradosComentários de quem está na lista, como github-actions, não contam no badge, não notificam e não acendem a bolinha de novo. Comentário seu ou de bot também não.
Silenciar um PRPelo menu da linha ou pela notificação. Reativa pelo mesmo menu ou nos Ajustes.

Na primeira abertura, ao reiniciar ou ao trocar de conta, nada do que já existia vira aviso.

Do atalho ao PR sem tirar a mão do teclado.

⌥⌘P abre e fecha o popover de qualquer app, e dá para gravar outro atalho nos Ajustes. A busca fica sempre visível, filtra as três abas por título, repositório ou número e ignora acento e #.

↑↓Navegam entre as linhas, também com o foco na busca
↵Abre o PR selecionado
⌘1⌘2⌘3Trocam entre Meus PRs, Revisar e Merge
⌘.Abre o menu da linha
⌘KAbre o Claude no PR selecionado
⌘JAbre o card no Jira
⌘CCopia o link do PR
⇧⌘CCopia gh pr checkout <n>
escLimpa a busca

Os números na mesa, sem abrir nada.

Widget do macOS em dois tamanhos, com os mesmos dados do app.

  • Pequeno: quantos PRs esperam o seu review e quantos estão com CI falhando.
  • Médio: os contadores “para revisar”, “CI falhando” e “prontos p/ merge”, e até 3 PRs que pedem ação. O clique abre o PR.
PRumo
3para revisar
1CI falhando
PRumo
3para revisar
1CI falhando
1prontos p/ merge
#809 feat(pedido): filtro por status
#798 reserva por pedido · 26h
#812 pronto para merge

Roda no seu Mac e fala só com o GitHub.

Token no Keychain

Usa o gh auth token que você já tem, ou um token com os escopos repo e read:org. Nada vai para arquivo nem para servidor nosso.

Sem conta, sem backend

A API do GitHub é consultada direto do seu Mac. O último estado fica em ~/Library/Application Support/PRumo.

Jira só como link

O app acha a chave no título ou na branch e monta o endereço do card com o site que você cadastrou em Ajustes › Integrações. Ele não consulta o Jira.

Funciona com SSO

Org com SAML não autorizado não derruba o app: os PRs que dá para ler continuam aparecendo.

Como instalar

Baixe o DMG ou compile do código. O PRumo não passa pela App Store.

Baixar para macOS

Versão 0.1.0 · macOS 26 ou mais novo

O app não é notarizado pela Apple. Na primeira abertura, o macOS bloqueia. Para liberar, abra Ajustes do Sistema › Privacidade e Segurança e clique em "Abrir mesmo assim", ou rode no terminal:

xattr -dr com.apple.quarantine /Applications/PRumo.app

O widget pode não aparecer em outros Macs, porque o app não tem assinatura de desenvolvedor.

Prefere compilar? O código está em github.com/adrianogl/prumo. Siga os passos abaixo.

  1. Compilar do código: tenha o básico

    macOS 26, Xcode 27, brew install xcodegen gh e o GitHub CLI logado com gh auth login. Para as ações do Claude, o Claude Code disponível no shell como claude ou com o nome que você configurar.

  2. Compile e abra
    xcodegen generate
    xcodebuild -project PRumo.xcodeproj -scheme PRumo -destination 'platform=macOS' build
    open ~/Library/Developer/Xcode/DerivedData/PRumo-*/Build/Products/Debug/PRumo.app
  3. Conecte

    O app encontra o seu gh, pede permissão de notificação e oferece abrir junto com o macOS. Na primeira leitura nada vira aviso.

  4. Ajuste o resto

    Cadastre os sites do Jira em Ajustes › Integrações, troque o comando do Claude em Ajustes › IA se precisar e adicione o widget pela galeria de widgets do macOS.

Coloque seus PRs no prumo.

Como instalar