code2prompt : conversion de bibliothèques de code en fichiers prompts compréhensibles par un grand modèle
Introduction générale
code2prompt est un outil de ligne de commande open source, créé par le développeur Mufeed VH et hébergé sur GitHub, conçu pour aider les utilisateurs à convertir rapidement des bases de code entières en invites adaptées au Large Language Model (LLM). Il génère une sortie Markdown formatée en parcourant le répertoire de code, en générant une structure d'arbre source et en consolidant le contenu des fichiers pour une utilisation directe dans des tâches telles que l'analyse de code, la documentation ou l'amélioration des fonctionnalités. Grâce à la prise en charge de la personnalisation des modèles Handlebars, des statistiques de comptage de jetons et de l'intégration de Git diff, l'outil est particulièrement adapté aux développeurs qui souhaitent tirer parti de la puissance des grands modèles tels que ChatGPT (ou Claude) pour gérer des bases de code complexes. Qu'il s'agisse d'optimiser les performances, de trouver des bogues ou de générer des commits, code2prompt offre des gains d'efficacité significatifs. Au 3 mars 2025, le projet comptait plus de 4 500 étoiles, ce qui prouve qu'il est largement accepté par la communauté des développeurs.

Liste des fonctions
- Conversion de la base de codeConsolidation des fichiers de code d'un répertoire spécifié en une seule invite lisible par LLM.
- Génération de l'arborescence du code sourceLes fonctions suivantes sont disponibles : générer automatiquement une structure arborescente des répertoires de code pour faciliter la compréhension de l'organisation du projet.
- Personnalisation des modèlesLe format de sortie peut être personnalisé à l'aide de modèles Handlebars afin de prendre en charge un large éventail de scénarios d'utilisation.
- Nombre de jetons: Génération statistique de messages-guides pour les jeton afin de s'adapter aux contraintes contextuelles des différents modèles.
- Intégration de GitSupport pour l'ajout de Git diff et log pour montrer l'historique des changements de code.
- Filtrage des documentsFiltrage des fichiers en mode global, ignorant le contenu étranger tel que .gitignore : supporte le filtrage des fichiers en mode global, ignorant le contenu étranger tel que .gitignore.
- Sortie MarkdownLe logiciel de gestion des documents : génère des documents structurés en Markdown pour un téléchargement facile directement dans LLM.
- Support multiplateformeStable sur Linux, macOS et Windows.
- Support du presse-papiersLes conseils générés sont automatiquement copiés dans le presse-papiers afin d'améliorer l'efficacité opérationnelle.
Utiliser l'aide
Processus d'installation
code2prompt est un outil de ligne de commande écrit en Rust avec un processus d'installation simple et la prise en charge de plusieurs méthodes. Voici les étapes détaillées :
Méthode 1 : Installation à partir du code source
- conditions préalablesRust : Assurez-vous que Rust et Cargo (le gestionnaire de paquets de Rust) sont installés sur votre système. Ceci peut être vérifié avec la commande suivante :
rustc --version cargo --version
Si vous ne l'avez pas, visitez le site web de Rust pour le télécharger et l'installer.
2. entrepôt de clones: :
git clone https://github.com/mufeedvh/code2prompt.git
cd code2prompt
- Compilation et installation: :
cargo build --release
Une fois compilé, le
target/release/
pour trouver le fichiercode2prompt
Fichier exécutable. - Déplacement vers le chemin d'accès global(Facultatif) : déplace les fichiers vers un chemin système pour les appels globaux, par exemple :
sudo mv target/release/code2prompt /usr/local/bin/
Méthode 2 : en pré-compilant les binaires
- Visitez la page GitHub Releases pour télécharger la dernière version du binaire pour votre système d'exploitation (par ex.
code2prompt-v2.0.0-linux-x86_64
). - Décompressez et donnez l'autorisation d'exécution :
chmod +x code2prompt
- Déplacement vers le chemin d'accès global (facultatif) :
sudo mv code2prompt /usr/local/bin/
Méthode 3 : Installation via Nix
Si vous utilisez le gestionnaire de paquets Nix, vous pouvez l'installer directement :
# 无 flakes
nix-env -iA nixpkgs.code2prompt
# 有 flakes
nix profile install nixpkgs#code2prompt
Utilisation
Une fois installé, vous pouvez le lancer à partir de la ligne de commande code2prompt
. Voici la procédure d'utilisation détaillée des principales fonctions :
1. utilisation de base : génération d'indices de base de code
Supposons que vous ayez un répertoire de code /path/to/codebase
Exécutez la commande suivante :
code2prompt /path/to/codebase
- La sortie contiendra l'arbre source et tous les contenus des fichiers, générés par défaut au format Markdown et copiés dans le presse-papiers.
- Exemple de sortie :
Source Tree:
dir/
file1.rs
└── file2.py`dir/file1.rs`: <文件内容>
2. modèles personnalisés
code2prompt fournit des modèles intégrés (par exemple, pour générer des messages de validation git, des commentaires de documentation, etc.) situés dans le répertoire d'installation de l'application templates/
dossier. Vous pouvez également créer des modèles personnalisés. Par exemple, à l'aide de l'option document-the-code.hbs
Ajouter des commentaires sur le document :
code2prompt /path/to/codebase -t templates/document-the-code.hbs
- Les modèles personnalisés doivent respecter la syntaxe Handlebars, avec des variables telles que
absolute_code_path
(chemin de code),source_tree
(arbre du code source) etfiles
(liste de documents).
3. comptage des jetons et options d'encodage
Affichage du nombre de jetons générés, avec prise en charge de plusieurs séparateurs :
code2prompt /path/to/codebase --tokens -c cl100k
- Participe facultatif :
cl100k
(par défaut),p50k
,p50k_edit
,r50k
.
4. intégration de Git
Ajouter Git diff (fichiers mis à jour) :
code2prompt /path/to/codebase --diff
Comparez les différences entre les deux branches :
code2prompt /path/to/codebase --git-diff-branch "main, development"
Obtenir le journal des livraisons entre les branches :
code2prompt /path/to/codebase --git-log-branch "main, development"
5. filtrage des documents
Exclure des fichiers ou des répertoires spécifiques :
code2prompt /path/to/codebase --exclude "*.log" --exclude "tests/*"
Ne contient que des fichiers spécifiques :
code2prompt /path/to/codebase --include "*.rs" --include "*.py"
6. enregistrer la sortie
Enregistrer les résultats dans un fichier au lieu de les copier dans le presse-papiers :
code2prompt /path/to/codebase -o output.md
Exemple de fonctionnement
Supposons que vous souhaitiez générer des recommandations d'optimisation des performances pour un projet Python :
- Exécuter la commande :
code2prompt /path/to/project -t templates/improve-performance.hbs -o prompt.md
- commandant en chef (militaire)
prompt.md
Contenu téléchargé sur Claude ou ChatGPT, entrez "Suggérer des optimisations de performance basées sur cette base de code". - Obtenir les options d'optimisation renvoyées par le modèle, telles que l'optimisation des boucles, les recommandations en matière de gestion de la mémoire, etc.
mise en garde
- Si la fonction presse-papiers ne fonctionne pas sur certains systèmes (par exemple Ubuntu 24.04), exportez vers le terminal et copiez manuellement :
code2prompt /path/to/codebase -o /dev/stdout | xclip -selection c
- sonde
.gitignore
pour s'assurer que les fichiers superflus sont correctement ignorés (disponible avec l'option--no-ignore
(désactivé).
Avec les étapes ci-dessus, vous pouvez rapidement démarrer avec code2prompt et transformer facilement votre base de code en grands modèles d'invites utilisables, en complétant l'ensemble du processus, de l'analyse à l'optimisation.
© déclaration de droits d'auteur
L'article est protégé par le droit d'auteur et ne doit pas être reproduit sans autorisation.
Articles connexes
Pas de commentaires...