6 pontos por denimcoder 2025-09-17 | 6 comentários | Compartilhar no WhatsApp

Olá.
Muitas pessoas provavelmente já experimentaram usar LLMs para revisão de código, mas imagino que tenham encontrado alguns incômodos na aplicação prática.
Isso porque é necessário passar ao LLM o código a ser revisado e o contexto, além de especificar em detalhes até mesmo o formato de resultado desejado.

'selvage' é uma ferramenta CLI que automatiza esse processo de preparação para aumentar a eficiência da revisão de código.

[Principais recursos]

  • Pode ser usada como ferramenta CLI de forma independente de IDEs ou extensões específicas
  • Suporte aos principais modelos SOTA (GPT-5, Claude-Sonnet-4, Gemini, Qwen3-code)
  • Pode ser usada com base no consumo, sem assinatura, com uma OpenRouter API Key
  • Integração com o fluxo de trabalho do Git
    • Suporte à análise de alterações em staged, unstaged e diferenças entre commits/branches específicos
  • Recurso de extração de Smart Context com base em AST (árvore sintática abstrata)
    • Extrai apenas os blocos mínimos de código e dependências relacionados às mudanças
    • Envia somente o contexto realmente necessário para reduzir o uso de tokens e, ao mesmo tempo, maximizar a qualidade da revisão
  • Recurso de Large Context Review
    • Possibilita revisar com estabilidade alterações de grande porte que excedem o limite de contexto do modelo (principalmente PRs para publicar uma determinada feature)

6 comentários

 
denimcoder 2025-09-29

Olá.
Desta vez fizemos uma atualização importante e gostaríamos de compartilhar a novidade.
Agradecemos muito o interesse de todos!

Link do GitHub: https://github.com/selvage-lab/selvage


🚀 Principais atualizações de funcionalidades

🤖 Adicionado o modo de servidor MCP (Model Context Protocol)NEW

Peça revisão de código pela janela de chat no Cursor, Claude Code e outros!

Agora é possível registrar o Selvage como MCP no Cursor, Claude Code e outros para solicitar revisões de código em linguagem natural.
O resultado da revisão é entregue diretamente pelo assistente de IA, e depois de analisar o feedback você também pode pedir melhorias no código de uma só vez.

Como configurar:

# Integração com o Claude Code  
# Método 1: usar variável de ambiente (se já estiver configurada)  
claude mcp add selvage -- uvx selvage mcp  
  
# Método 2: definir diretamente  
claude mcp add selvage -e OPENROUTER_API_KEY=your_openrouter_api_key_here -- uvx selvage mcp  
# Integração com o Cursor (~/.cursor/mcp.json)  
{  
  "mcpServers": {  
    "selvage": {  
      "command": "uvx",  
      "args": ["selvage", "mcp"],  
      "env": {"OPENROUTER_API_KEY": "your_key"} // Opcional: desnecessário se a variável de ambiente do sistema já estiver registrada  
    }  
  }  
}  

💡 Cenários de uso

Exemplo simples de uso

"revise as alterações atuais com o selvage mcp"  
"compare e revise a branch principal e a branch atual com o selvage mcp usando claude-sonnet-4-thinking"  
"revise o trabalho staged com o selvage mcp usando gpt-5-high e organize por prioridade"  
"revise separadamente o conteúdo staged com o selvage mcp usando gpt-5-high e claude-sonnet-4-thinking, e compare os resultados"  

Workflow de melhoria de código em etapas

1. revise as alterações atuais com o selvage mcp usando claude-sonnet-4-thinking  
2. analise criticamente se o feedback da revisão é válido para a codebase atual e informe as prioridades  
3. aplique sequencialmente os itens analisados de acordo com a prioridade  
 
jkapa0417 2025-09-22

Olá, quero experimentar. Por acaso é obrigatório usar o Openrouter? Já tenho uma chave de API que uso atualmente, então gostaria de saber se é possível utilizar essa chave.

 
denimcoder 2025-09-22

Olá.
Por acaso, qual API key você está usando?
Em vez da OpenRouter KEY, você pode definir a API key do provedor de cada modelo como variável de ambiente para usar.

export OPENAI_API_KEY="your_openai_api_key_here"  
export ANTHROPIC_API_KEY="your_anthropic_api_key_here"  
export GEMINI_API_KEY="your_gemini_api_key_here"  

OPENAI_API_KEY é compatível com modelos da linha GPT
ANTHROPIC_API_KEY é compatível com modelos da linha Claude
GEMINI_API_KEY é compatível com modelos da linha Gemini.
É suportado!

 
kjows5 2025-09-18

Talvez também seja possível mascarar informações sensíveis no nível do código-fonte antes de enviá-lo como entrada para um LLM?

 
denimcoder 2025-09-19

Olá. Segue a resposta.

  1. Atualmente, ao solicitar uma revisão de código, arquivos do tipo .env já são totalmente excluídos, mas não existe uma etapa para substituir ou mascarar os “valores” de chaves de API/tokens/senhas etc. presentes no código-fonte.

  2. Caso queira excluir informações sensíveis da revisão,
    coloque o código que deseja revisar no estado git staged
    e execute a revisão com o comando selvage review --staged; assim, você pode excluir informações sensíveis da entrada enviada ao LLM.

  3. Há planos de atualizar com uma funcionalidade semelhante à que você perguntou. A ideia é permitir que o próprio usuário defina, em um arquivo yml, extensões de arquivos a serem excluídas da revisão e padrões específicos no código (expressões regulares), para que as informações sensíveis sejam filtradas de forma adequada em cada projeto.

 
namongk 2025-09-18

Uau...