À propos du projet

Repomix est un outil en ligne de commande (CLI), une application web et une extension de navigateur qui consolide l'ensemble d'une base de code dans un seul fichier optimisé pour les grands modèles de langage (LLM). Il prend en charge plusieurs formats de sortie, notamment XML (par défaut), Markdown, JSON et texte brut, chacun structuré avec des résumés de fichiers, des arborescences de répertoires et le contenu des fichiers pour améliorer la compréhension par l'IA. Les fonctionnalités clés incluent : - Le comptage de jetons par fichier et pour l'ensemble du dépôt afin d'aider à gérer les limites de contexte des LLM. - La sélection de fichiers prise en charge par Git, respectant les fichiers .gitignore, .ignore et .repomixignore. - Une sortie axée sur la sécurité utilisant Secretlint pour détecter et exclure les fichiers correspondant à des schémas d'identifiants connus. - La compression de code via Tree-sitter pour extraire les éléments de code clés (classes, fonctions, interfaces), réduisant le nombre de jetons tout en préservant la structure. - La prise en charge de l'empaquetage de dépôts distants par URL, raccourci GitHub, branche, tag ou hash de commit. - Une sélection flexible de fichiers grâce aux motifs glob, au transfert via stdin et aux filtres d'inclusion/exclusion. - L'inclusion optionnelle de journaux (logs) et de diffs git pour le contexte de développement. - Le découpage de la sortie en plusieurs fichiers selon la taille, la suppression des commentaires, la suppression des lignes vides, la troncature en base64 et le préfixage par numéro de ligne. - Le support de Docker pour une exécution isolée. L'outil peut être exécuté via npx sans installation, installé globalement via npm/yarn/bun/Homebrew, utilisé sur le site web repomix.com ou accessible via des extensions pour les navigateurs Chrome et Firefox qui ajoutent un bouton Repomix sur les pages des dépôts GitHub. Une extension VSCode maintenue par la communauté, appelée Repomix Runner, est également disponible. Le fichier de sortie généré commence par une explication orientée IA de sa structure et de son utilisation, ce qui permet aux modèles d'IA de comprendre plus facilement le contexte du dépôt empaqueté. Les utilisateurs peuvent ensuite fournir ce fichier aux assistants IA avec des invites (prompts) pour la revue de code, la génération de documentation, la création de cas de test, l'évaluation de la qualité du code ou des aperçus de bibliothèques.