Skip to content

ismaelalvesgit/node-agent-mr

Repository files navigation

🤖 PR Insights Agent

Agente de análise de Pull Requests utilizando Inteligência Artificial para acelerar revisões de código e ajudar desenvolvedores a entender rapidamente o impacto de uma mudança.

O objetivo do projeto não é substituir a revisão humana, mas reduzir o tempo necessário para compreender:

  • O que mudou
  • Quais comportamentos podem ser afetados
  • Quais riscos devem receber atenção
  • O que precisa ser validado antes do merge

🎯 Problema

Grande parte das ferramentas de revisão baseadas em IA gera comentários extensos que raramente são lidos pelos desenvolvedores.

Normalmente essas ferramentas focam em:

  • Sugestões de nomenclatura
  • Refatorações cosméticas
  • Estilo de código
  • Recomendações genéricas

O PR Insights Agent segue uma abordagem diferente.

Ele busca responder rapidamente:

"O que mudou e o que eu preciso validar antes de aprovar este Pull Request?"


🚀 Como Funciona

flowchart LR

  subgraph Contexto
    DIFF[Diff]
    REPO[RepoMix]
    META[Metadados do PR]
  end

  subgraph Engine
    BUILDER[Prompt Builder]
  end

  subgraph IA
    OPENAI[OpenAI]
  end

  subgraph Resultado
    MD[Markdown]
    PR[Comentário no PR]
  end

  DIFF --> BUILDER
  REPO --> BUILDER
  META --> BUILDER

  BUILDER --> OPENAI

  OPENAI --> MD

  MD --> PR
Loading

O agente combina:

  • Diff da mudança
  • Contexto do repositório
  • Estrutura do projeto
  • Metadados do Pull Request

para produzir uma análise objetiva e contextualizada.


🧠 Context Assembly Engine

O principal diferencial do projeto é a construção de contexto.

Muitas soluções enviam apenas o diff para a IA.

Este projeto utiliza duas fontes principais:

Diff

Responsável por responder:

O que mudou?

RepoMix

Responsável por responder:

Qual o contexto da mudança?

Juntos, eles permitem que o modelo compreenda não apenas a alteração realizada, mas também o local onde ela ocorre dentro do sistema.


📋 Exemplo de Saída

# 🤖 PR Insights

## 📋 Resumo da Mudança

- Nova validação adicionada ao fluxo de faturamento.

## 🔍 Mudanças Relevantes

- Regra de negócio alterada.

## 🎯 Impactos Identificados

- Processo de faturamento impactado.

## ⚠️ Possíveis Riscos

- Alteração de comportamento para pedidos cancelados.

## ✅ Checklist de Validação

- [ ] Pedido válido
- [ ] Pedido cancelado
- [ ] Pedido já faturado

## 🚦 Classificação de Risco

🟡 Médio

Mudança afeta uma regra de negócio existente.

🏗 Arquitetura

scripts/

├── builders/
│   └── prompt.ts
│
├── providers/
│   ├── git.ts
│   ├── repomix.ts
│   └── openIA.ts
│
├── templates/
│   └── prompt.md
│
└── index.ts

Git Provider

Responsável por:

  • Obter o diff do Pull Request
  • Publicar comentários no Pull Request

RepoMix Provider

Responsável por:

  • Gerar o contexto consolidado do projeto

Prompt Builder

Responsável por:

  • Montar o contexto final enviado para a IA

OpenAI Provider

Responsável por:

  • Executar a análise
  • Receber a resposta em streaming
  • Produzir a saída em Markdown

🔄 Pipeline de Análise

flowchart LR
  subgraph Contexto
    DIFF[📄 Diff]
    REPO[📚 RepoMix]
    REPO_META[🏢 Metadados do Repositório]
    PR_META[🔀 Metadados do Pull Request]
  end

  subgraph Construção
    BUILDER[🧠 Prompt Builder]
  end

  subgraph IA
    OPENAI[🤖 OpenAI Streaming]
  end

  subgraph Resultado
    REVIEW[📝 Análise em Markdown]
    COMMENT[💬 Comentário no Pull Request]
  end

  DIFF --> BUILDER
  REPO --> BUILDER
  REPO_META --> BUILDER
  PR_META --> BUILDER

  BUILDER --> OPENAI

  OPENAI --> REVIEW

  REVIEW --> COMMENT
Loading

📦 Funcionalidades

  • Análise automática de Pull Requests
  • Integração com OpenAI
  • Streaming de respostas
  • Integração com GitHub
  • Integração com RepoMix
  • Classificação de risco
  • Checklist de validação
  • Geração de comentários em Markdown
  • Análise contextualizada

🛣 Roadmap

Atual

  • Captura de Diff
  • Integração com RepoMix
  • OpenAI Streaming
  • Comentários automáticos
  • Classificação de risco

Próximos passos

  • GitHub Actions
  • Integração com GitLab
  • Integração com Bitbucket
  • Suporte a Claude
  • Suporte a Gemini
  • Suporte a modelos locais
  • Métricas de utilização
  • Monitoramento de custos
  • Dashboard de análises

💡 Visão

O PR Insights Agent não foi criado para encontrar problemas de estilo ou substituir revisores humanos.

Seu objetivo é acelerar a compreensão de mudanças e ajudar equipes de engenharia a concentrar seus esforços nos riscos e impactos mais importantes de um Pull Request.

Em resumo:

O Diff mostra o que mudou.

O RepoMix mostra o contexto da mudança.

O PR Insights transforma essas informações em conhecimento útil para revisão.

📫 Contribuições

Sinta-se à vontade para abrir issues ou enviar pull requests. Sugestões são sempre bem-vindas!

🤓 Contato

Desenvolvido por: Ismael Alves 🤓🤓🤓

About

Agente de análise de Pull Requests utilizando Inteligência Artificial para acelerar revisões de código e ajudar desenvolvedores a entender rapidamente o impacto de uma mudança.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors