6 points par denimcoder 2025-09-17 | 6 commentaires | Partager sur WhatsApp

Bonjour.
Beaucoup d’entre vous ont sans doute déjà essayé d’utiliser des LLM pour la revue de code, mais leur mise en pratique s’accompagnait probablement de certaines contraintes.
En effet, il faut transmettre au LLM le code à examiner ainsi que son contexte, puis préciser en détail le format de résultat souhaité.

selvage est un outil CLI qui automatise cette phase de préparation afin d’améliorer l’efficacité de la revue de code.

[Principales fonctionnalités]

  • Outil CLI utilisable indépendamment d’un IDE ou d’une extension en particulier
  • Prise en charge des principaux modèles SOTA (GPT-5, Claude-Sonnet-4, Gemini, Qwen3-code)
  • Utilisation possible avec une clé d’API OpenRouter, sans abonnement, sur la base de l’usage
  • Intégration au workflow Git
    • Prise en charge de l’analyse des modifications staged, des modifications unstaged, ainsi que des différences entre des commits ou des branches spécifiques
  • Fonction d’extraction de Smart Context basée sur l’AST (arbre syntaxique abstrait)
    • Extraction uniquement des blocs de code minimaux et des dépendances liés aux modifications
    • Transmission du seul contexte nécessaire pour réduire l’usage de tokens tout en maximisant la qualité de la revue
  • Fonction de Large Context Review
    • Revue fiable même pour des modifications de grande ampleur dépassant la limite de contexte du modèle (principalement les PR visant à déployer une fonctionnalité donnée)

6 commentaires

 
denimcoder 2025-09-29

Bonjour.
Nous avons effectué une mise à jour majeure et souhaitions vous en faire part.
Merci d’avance pour votre intérêt !

Lien GitHub : https://github.com/selvage-lab/selvage


🚀 Principales mises à jour des fonctionnalités

🤖 Ajout du mode serveur MCP (Model Context Protocol)NEW

Demandez des revues de code directement depuis la fenêtre de chat de Cursor, Claude Code, etc. !

Vous pouvez désormais enregistrer Selvage comme MCP dans Cursor, Claude Code, etc., et demander une revue de code en langage naturel.
Les résultats de la revue sont transmis directement par l’assistant IA, et après examen des retours, vous pouvez même demander l’amélioration du code dans la foulée.

Méthode de configuration :

# Intégration Claude Code  
# Méthode 1 : utiliser une variable d’environnement (si elle est déjà configurée)  
claude mcp add selvage -- uvx selvage mcp  
  
# Méthode 2 : spécification directe  
claude mcp add selvage -e OPENROUTER_API_KEY=your_openrouter_api_key_here -- uvx selvage mcp  
# Intégration Cursor (~/.cursor/mcp.json)  
{  
  "mcpServers": {  
    "selvage": {  
      "command": "uvx",  
      "args": ["selvage", "mcp"],  
      "env": {"OPENROUTER_API_KEY": "your_key"} // Optionnel : inutile si la variable d’environnement système est déjà enregistrée  
    }  
  }  
}  

💡 Scénarios d’utilisation

Exemple d’utilisation simple

"Avec selvage mcp, passe en revue mes modifications actuelles"  
"Avec selvage mcp, compare la branche principale et la branche actuelle avec claude-sonnet-4-thinking et fais une revue"  
"Avec selvage mcp, passe en revue les changements en staging avec gpt-5-high et classe-les par priorité"  
"Avec selvage mcp, passe en revue séparément le contenu en staging avec gpt-5-high et claude-sonnet-4-thinking, puis compare les résultats"  

Workflow d’amélioration du code étape par étape

1. Avec selvage mcp, passe en revue les modifications actuelles avec claude-sonnet-4-thinking  
2. Examine de manière critique si les retours de revue sont valides pour la base de code actuelle, puis indique les priorités  
3. Applique ensuite les éléments examinés séquentiellement selon l’ordre de priorité  
 
jkapa0417 2025-09-22

Bonjour, j’aimerais l’essayer, mais est-ce qu’il faut forcément utiliser Openrouter ? J’ai déjà une clé API que j’utilise actuellement, donc je me demande s’il est possible de l’utiliser.

 
denimcoder 2025-09-22

Bonjour.
Pouvez-vous préciser quelle clé API vous utilisez actuellement ?
Au lieu d'une clé OpenRouter, vous pouvez définir la clé API du fournisseur de chaque modèle comme variable d'environnement.

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 est pris en charge pour les modèles de la famille GPT,
ANTHROPIC_API_KEY pour les modèles de la famille Claude,
et GEMINI_API_KEY pour les modèles de la famille Gemini.
C'est pris en charge !

 
kjows5 2025-09-18

Est-il possible de masquer aussi les informations sensibles au niveau du code source avant qu’elles ne soient transmises en entrée au LLM ?

 
denimcoder 2025-09-19

Bonjour. Voici la réponse.

  1. Actuellement, lors d'une demande de revue de code, les fichiers de type .env sont totalement exclus, mais il n'existe pas d'étape qui remplace ou masque les « valeurs » telles que les clés d'API, tokens ou mots de passe présents dans le code source.

  2. Si vous souhaitez exclure des informations sensibles lors de la revue,
    après avoir placé le code à relire en état git staged,
    vous pouvez lancer la revue avec la commande selvage review --staged afin d'exclure les informations sensibles de l'entrée envoyée au LLM.

  3. Une mise à jour proposant une fonctionnalité similaire à celle que vous avez mentionnée est prévue. Nous comptons permettre aux utilisateurs de définir directement, via un fichier yml, les extensions de fichiers à exclure lors de la revue ainsi que des motifs spécifiques dans le code (expressions régulières), afin que les informations sensibles soient filtrées de manière adaptée à chaque projet.

 
namongk 2025-09-18

Oh oh...