À propos du projet

RepoScout est un outil de ligne de commande haute performance écrit en Rust conçu pour scanner les dépôts Git (ou des chemins spécifiques) et fournir une intelligence de code consolidée. Il cible deux publics principaux : les agents de codage IA qui ont besoin de sorties JSON stables et lisibles par machine pour comprendre rapidement les bases de code, et les développeurs humains qui ont besoin de résumés de terminal colorés et compacts ou de rapports Markdown pour les PR et les problèmes. L'outil agrège divers signaux pour répondre à des questions clés sur un dépôt : - **Inventaire** : Identifie les langages, les fichiers, les lignes de code, les jetons, les symboles et les importations. - **Évaluation des risques** : Calcule la complexité par appelable, la maintenabilité, le churn et la présence de tests, en les classant par risque composite. - **Détection de duplication** : Trouve des duplications exactes et de type 2 (renommage cohérent), aidant à déterminer si un nettoyage est utile. - **Planification du contexte** : Génère des plans de lecture déterministes sous des budgets stricts de jetons et de fichiers pour optimiser les fenêtres de contexte des agents. - **Intelligence de changement** : Analyse les diffs Git, suit les lignes modifiées, évalue l'impact et exporte les résultats dans des formats SARIF, DOT ou Mermaid. RepoScout fonctionne entièrement localement, assurant la confidentialité du code source en n'uploadant pas de données ni en appelant des modèles externes. Il prend en charge une analyse AST de premier plan pour les langages Rust, Python, JavaScript, TypeScript, Go, PHP et Godot, avec un inventaire syntaxique supplémentaire pour 36 autres formats. Les fonctionnalités incluent un tableau de bord local en direct facultatif avec une interface React pour visualiser les graphiques de santé et d'architecture du dépôt. L'outil fournit des profils d'exécution gardés pour scanner les checkouts non fiables et prend en charge l'intégration de compétences d'agent via `skills.sh`.