_
cat ~/blog/prompt-my-project-revolutionne-interactions-ia-prompts-structures.md

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

6 min
#aitools#AI prompts#cli
Prompt My Project - Révolutionne tes interactions avec l’IA grâce à des prompts parfaitement structurés
prompt-my-project-re.png

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 ou tests).

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 :

  1. Résumé global : Une description concise de la structure du projet.

  2. Structure hiérarchique : Une vue complète des dossiers et fichiers.

  3. Extraits de contenu : Les parties importantes des fichiers sélectionnés.

  4. 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ètreValeur par défaut
Taille minimale des fichiers1 KB
Taille maximale des fichiers100 MB
Répertoire de sortie./prompts
Respect des règles .gitignoreActivé

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 !