Prompt My Project - Révolutionne tes interactions avec l’IA grâce à des prompts parfaitement structurés

L’intelligence artificielle change profondément les méthodes de développement des logiciels. Les outils comme GPT ou Claude, bien qu’extrêmement puissants, nécessitent des prompts clairs, riches en contexte et bien structurés pour fournir des réponses optimales. Cependant, écrire manuellement ces prompts pour des projets complexes peut rapidement devenir une tâche chronophage et frustrante. C'est pour résoudre cette problématique que j’ai développée Prompt My Project (PMP), un outil open source qui automatise la création de prompts détaillés directement à partir de ton projet.
Pourquoi Prompt My Project ?
Les assistants IA sont devenus des alliés incontournables pour les développeurs, mais leur efficacité dépend largement de la qualité des informations qu’ils reçoivent. Fournir le contexte complet et pertinent d’un projet en mode manuel peut prendre des heures, surtout pour des projets volumineux. La mission de PMP est simple : automatiser cet effort tout en garantissant des prompts précis et pertinents.
Une idée née d'un besoin quotidien
En tant que développeur, j’ai constaté à quel point il était difficile de collaborer efficacement avec des IA sur des projets techniques complexes. Les prompts devaient inclure la structure du projet, des extraits de fichiers pertinents, ainsi que des détails critiques, mais rassembler ces informations à la main devenait vite un travail répétitif et fatigant. C’est ainsi qu’est apparue l’idée de PMP : un outil capable d’extraire automatiquement les éléments clés d’un projet et de les intégrer dans un prompt structuré, prêt à être utilisé avec des modèles d’IA.
Qu’est-ce que Prompt My Project ?
Prompt My Project est un outil en ligne de commande capable de scanner ton projet, d’en analyser la structure, et de générer un prompt détaillé contenant uniquement les informations pertinentes pour tes interactions avec une IA. En quelques secondes, PMP extrait :
-
La structure hiérarchique des dossiers et fichiers.
-
Le contenu sélectionné des fichiers pertinents.
-
Une estimation du nombre de tokens utilisés.
L’objectif : donner à l’IA une compréhension rapide et claire de ton projet, afin qu’elle puisse répondre de manière précise à tes besoins.
Fonctionnalités principales
1. Analyse intelligente et récursive
PMP explore automatiquement l’ensemble de la structure de ton projet, détectant les dossiers et les fichiers importants. Cette exploration récursive établit une cartographie complète de ton projet, ce qui permet à l’IA de mieux comprendre le contexte global.
2. Détection automatique des fichiers binaires et respect des règles .gitignore
-
PMP identifie et exclut les fichiers binaires (images, exécutables, etc.) pour se concentrer uniquement sur les fichiers texte pertinents.
-
L’outil respecte également les règles définies dans ton fichier
.gitignore
, garantissant que seuls les fichiers nécessaires sont inclus dans le prompt.
3. Inclusion et exclusion personnalisées des fichiers
Tu peux affiner les résultats en spécifiant :
-
Les fichiers ou extensions à inclure (par exemple, uniquement les fichiers
.py
ou.md
). -
Les répertoires ou fichiers à exclure (comme les dossiers
node_modules
outests
).
Cette flexibilité te permet de personnaliser le prompt en fonction de tes besoins spécifiques.
4. Performance optimisée
Grâce à un système de traitement concurrent avancé, PMP est capable d’analyser rapidement même les plus grands projets. L’outil utilise des techniques telles que :
-
Le traitement parallèle via un pool de workers.
-
La mise en cache des fichiers pour éviter des lectures multiples.
-
La gestion optimisée des ressources mémoire.
5. Génération de prompts structurés
PMP produit un fichier contenant :
-
Résumé global : Une description concise de la structure du projet.
-
Structure hiérarchique : Une vue complète des dossiers et fichiers.
-
Extraits de contenu : Les parties importantes des fichiers sélectionnés.
-
Estimation des tokens : Calcul précis du nombre de caractères et de tokens pour anticiper les limites des modèles d’IA.
Les prompts sont générés dans un répertoire dédié (./prompts/
par défaut), avec un nom horodaté (prompt_YYYYMMDD_HHMMSS.txt
) pour un suivi facile.
Installation simple sur toutes les plateformes
PMP est compatible avec Linux, macOS, et Windows, prise en charge des architectures amd64 (x86_64) et arm64 (aarch64).
macOS/Linux
curl -fsSL https://raw.githubusercontent.com/benoitpetit/prompt-my-project/master/scripts/install.sh | bash
Windows
irm https://raw.githubusercontent.com/benoitpetit/prompt-my-project/master/scripts/install.ps1 | iex
Commandes et exemples d’utilisation
Syntaxe de base
pmp [options] [path]
Exemples concrets
Analyse globale du projet
pmp
Inclure uniquement certains fichiers
pmp --include "*.py" --include "*.md"
Exclure des répertoires spécifiques
pmp --exclude "tests/*" --exclude "node_modules/"
Personnaliser le répertoire de sortie
pmp --output ./mes_prompts
Analyser un projet Go
Tu peux analyser uniquement les fichiers sources Go, tout en excluant les tests et les dépendances :
pmp --include "*.go" --exclude "*_test.go" --exclude "vendor/"
Exemple de Prompt généré :
PROJECT INFORMATION ----------------------------------------------------- • Project Name: prompt-my-project • Generated On: 2025-03-01 15:53:46 • Generated with: Prompt My Project (PMP) v1.0.0 • Host: master • OS: linux/amd64 FILE STATISTICS ----------------------------------------------------- • Total Files: 4 • Total Size: 37 kB • Avg. File Size: 9.2 kB • File Types: - .go: 1 files - <no-extension>: 1 files - .md: 1 files - .sum: 1 files TOKEN STATISTICS ----------------------------------------------------- • Estimated Token Count: 9318 • Character Count: 37269 ===================================================== PROJECT STRUCTURE: ----------------------------------------------------- └── prompt-my-project/ ├── LICENSE ├── README.md ├── go.sum └── main.go FILE CONTENTS: ----------------------------------------------------- ... // contenu de vos fichiers organiser et trier proprement ..
Fonctionnement avancé sous le capot
1. Gestion des workers
PMP optimise la vitesse d’analyse grâce à des pools de workers, en adaptant automatiquement le nombre de threads disponibles en fonction des ressources matérielles.
2. Détection binaire sophistiquée
L'outil combine plusieurs mécanismes pour identifier les fichiers binaires :
-
L’analyse de l’extension (ex.
.png
,.exe
). -
La vérification du type MIME.
-
La détection de caractères non textuels dans le contenu.
3. Mise en cache intelligente
Le contenu des fichiers est mis en cache temporairement pour éviter des lectures répétées lors de l’analyse.
Configuration par défaut de PMP
PMP propose un ensemble de paramètres par défaut, ajustables selon tes besoins via des options en ligne de commande ou des variables d’environnement.
Paramètre | Valeur par défaut |
---|---|
Taille minimale des fichiers | 1 KB |
Taille maximale des fichiers | 100 MB |
Répertoire de sortie | ./prompts |
Respect des règles .gitignore | Activé |
Utilisation dans un pipeline CI/CD
PMP s’intègre facilement dans un pipeline CI/CD pour générer automatiquement des prompts à chaque modification importante du projet. Voici un exemple de configuration dans GitLab CI :
generate_ia_prompt: stage: analysis image: golang:1.21 script: - curl -sSL https://raw.githubusercontent.com/benoitpetit/prompt-my-project/master/scripts/install.sh | bash - pmp --output ./artifacts/prompts artifacts: paths: - ./artifacts/prompts/
Conclusion
Prompt My Project marque une avancée dans l’optimisation des interactions entre les développeurs et les modèles d’intelligence artificielle. En automatisant la création de prompts bien structurés, PMP te fait gagner un temps précieux, améliore la précision des réponses de l’IA et simplifie la gestion technique de ton projet.
GitHub pour découvrir, contribuer ou partager cet outil open source. Ensemble, améliorons la collaboration entre les développeurs et l’intelligence artificielle !