Repolode
winnin

winnin/farol

Uma CLI e GitHub Action que, após uma revisão de código com IA, avalia o risco de merge de um pull request e lista os arquivos e endpoints alcançados.

Estrelas
174
Forks
5
Issues abertas
6
Último commit
anteontem

O que é?

farol é uma CLI e GitHub Action gratuita e de código aberto para quem aprova pull requests. Depois que um agente de revisão com IA comenta o diff, farol usa análise estática para mostrar o que o código alterado alcança, como páginas, operações de API, métodos RPC, jobs e scripts, e atribui um parecer à mudança (aprovação rápida, revisão breve ou revisão cuidadosa), com uma pontuação de risco de 0 a 100.

O relatório combina alcance, cobertura do diff, achados de segurança, quebras de contratos e mudanças em dependências. Ele lista primeiro os arquivos de maior risco, com diffs inline, linhas sem testes e um checklist de testes manuais. A análise do código é feita com o verificador de tipos do TypeScript, go/types e o ast do Python. O código analisado nunca é executado nem enviado pela rede. A ferramenta roda localmente ou em CI e publica um comentário nos pull requests sem bloquear merges.

As stacks compatíveis incluem frontends com React Router, Next.js e TanStack Router; backends TypeScript com GraphQL e REST; serviços Go; e serviços Python como FastAPI, Flask e Django. A integração opcional com Datadog adiciona informações de tráfego e erros.

Recursos principais

  • 01Classifica os arquivos alterados por risco e mostra as páginas e os endpoints que cada um alcança.
  • 02Atribui um parecer e uma pontuação de risco de 0 a 100, explicando os motivos.
  • 03Sinaliza mudanças incompatíveis em contratos de GraphQL, FastAPI, Go e gRPC.
  • 04Marca linhas sem testes em diffs inline e importa relatórios de cobertura, lint e auditoria do CI.
  • 05Gera um relatório HTML de arquivo único e um registro de revisão em Markdown.

Casos de uso

  • Decidir quanto tempo dedicar à revisão de um pull request grande antes de aprová-lo.
  • Detectar mudanças incompatíveis na API e seus chamadores downstream antes do merge.
  • Adicionar uma etapa de triagem de risco aos pull requests do GitHub, junto a um revisor de IA já existente.
  • Verificar quais páginas do frontend são afetadas por uma mudança em um componente compartilhado.

Início rápido

  1. 1

    Crie farol.config.json na raiz do projeto descrevendo sua stack

  2. 2

    Liste as páginas, os endpoints, as tarefas e os scripts encontrados pelo farol

    npx @winninjs/farol routes
  3. 3

    Analise a branch em relação à branch de destino

    npx @winninjs/farol analyze --base origin/main --head HEAD --out farol.json
  4. 4

    Gere o relatório HTML e abra-o

    npx @winninjs/farol html --in farol.json --out farol.html && open farol.html

Antes de usar

  • Requer Node.js 22 ou superior e git; além disso, go para projetos Go ou python3 3.11 ou superior para projetos Python.
  • Oferece suporte apenas a bases de código TypeScript, Go e Python.

Em coleções

Tópicos

Perguntas frequentes

O que é farol?
Uma CLI e GitHub Action que, após uma revisão de código com IA, avalia o risco de merge de um pull request e lista os arquivos e endpoints alcançados. farol é uma CLI e GitHub Action gratuita e de código aberto para quem aprova pull requests. Depois que um agente de revisão com IA comenta o diff, farol usa análise estática para mostrar o que o código alterado alcança, como páginas, operações de API, métodos RPC, jobs e scripts, e atribui um parecer à mudança (aprovação rápida, revisão breve ou revisão cuidadosa), com uma pontuação de risco de 0 a 100.
farol é gratuito? Qual é a licença?
farol é open source sob a licença MIT. Confira os termos da licença antes de usá-lo em produtos comerciais.
farol ainda é mantido?
Manutenção ativa. O último commit de farol foi em 4 de nov. de 2026.
Para que posso usar farol?
Decidir quanto tempo dedicar à revisão de um pull request grande antes de aprová-lo. Detectar mudanças incompatíveis na API e seus chamadores downstream antes do merge. Adicionar uma etapa de triagem de risco aos pull requests do GitHub, junto a um revisor de IA já existente. Verificar quais páginas do frontend são afetadas por uma mudança em um componente compartilhado.
Como instalar farol?
Crie farol.config.json na raiz do projeto descrevendo sua stack Liste as páginas, os endpoints, as tarefas e os scripts encontrados pelo farol: npx @winninjs/farol routes Analise a branch em relação à branch de destino: npx @winninjs/farol analyze --base origin/main --head HEAD --out farol.json Gere o relatório HTML e abra-o: npx @winninjs/farol html --in farol.json --out farol.html && open farol.html
Onde consigo farol?
O código-fonte e as instruções de instalação estão no GitHub: https://github.com/winnin/farol

Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.

Projetos relacionados