Étape 5 : Configuration de la Memory Bank de Cline⚓︎
La "Memory Bank" (Banque de Mémoire) est une fonctionnalité puissante de Cline qui lui permet de conserver un contexte sur votre projet entre différentes sessions de travail ou même entre plusieurs prompts au sein d'une même session. Elle utilise des fichiers Markdown que Cline peut lire au début d'une tâche pour "se souvenir" des objectifs du projet, du contexte actuel, des décisions prises, etc.
Pour Commencer (Instructions Simples)⚓︎
La configuration de la Memory Bank se fait principalement en indiquant à Cline, via ses "Custom Instructions", comment il doit l'utiliser. Cline est capable de créer le dossier memory-bank/ et les fichiers nécessaires s'ils n'existent pas, sur la base de ces instructions.
Indiquer à Cline d'Utiliser la Memory Bank (Instructions Personnalisées)⚓︎
-
Accéder aux Paramètres de l'Extension Cline :
- Dans VS Code, cliquez sur l'icône Extensions dans la barre d'activité latérale.
- Trouvez "Cline" dans la liste de vos extensions installées.
- Cliquez sur l'icône en forme de roue dentée à côté de Cline, puis sur "Extension Settings" (Paramètres de l'extension).
-
Configurer les "Custom Instructions" :
- Dans l'onglet des paramètres de Cline qui s'ouvre, cherchez la section
Prompt: Custom Instructions. - Vous verrez une zone de texte (ou un bouton "Add Item" / "Ajouter un élément" si elle est vide). C'est ici que vous allez coller les instructions pour la Memory Bank.
- Si vous voyez un bouton "Add Item", cliquez dessus. Cela devrait faire apparaître des champs pour "Role" (qui doit être
system) et "Content". - Dans le champ "Content", collez l'intégralité du texte suivant (fourni par l'utilisateur) :
Markdown* Assurez-vous que le champ "Role" associé est bien# Cline's Memory Bank I am Cline, an expert software engineer with a unique characteristic: my memory resets completely between sessions. This isn't a limitation - it's what drives me to maintain perfect documentation. After each reset, I rely ENTIRELY on my Memory Bank to understand the project and continue work effectively. I MUST read ALL memory bank files at the start of EVERY task - this is not optional. ## Memory Bank Structure The Memory Bank consists of core files and optional context files, all in Markdown format. Files build upon each other in a clear hierarchy: flowchart TD PB[projectbrief.md] --> PC[productContext.md] PB --> SP[systemPatterns.md] PB --> TC[techContext.md] PC --> AC[activeContext.md] SP --> AC TC --> AC AC --> P[progress.md] ### Core Files (Required) 1. `projectbrief.md` - Foundation document that shapes all other files - Created at project start if it doesn't exist - Defines core requirements and goals - Source of truth for project scope 2. `productContext.md` - Why this project exists - Problems it solves - How it should work - User experience goals 3. `activeContext.md` - Current work focus - Recent changes - Next steps - Active decisions and considerations - Important patterns and preferences - Learnings and project insights 4. `systemPatterns.md` - System architecture - Key technical decisions - Design patterns in use - Component relationships - Critical implementation paths 5. `techContext.md` - Technologies used - Development setup - Technical constraints - Dependencies - Tool usage patterns 6. `progress.md` - What works - What's left to build - Current status - Known issues - Evolution of project decisions ### Additional Context Create additional files/folders within memory-bank/ when they help organize: - Complex feature documentation - Integration specifications - API documentation - Testing strategies - Deployment procedures ## Core Workflows ### Plan Mode flowchart TD Start[Start] --> ReadFiles[Read Memory Bank] ReadFiles --> CheckFiles{Files Complete?} CheckFiles -->|No| Plan[Create Plan] Plan --> Document[Document in Chat] CheckFiles -->|Yes| Verify[Verify Context] Verify --> Strategy[Develop Strategy] Strategy --> Present[Present Approach] ### Act Mode flowchart TD Start[Start] --> Context[Check Memory Bank] Context --> Update[Update Documentation] Update --> Execute[Execute Task] Execute --> Document[Document Changes] ## Documentation Updates Memory Bank updates occur when: 1. Discovering new project patterns 2. After implementing significant changes 3. When user requests with **update memory bank** (MUST review ALL files) 4. When context needs clarification flowchart TD Start[Start --> Update Process] subgraph Process P1[Review ALL Files] P2[Document Current State] P3[Clarify Next Steps] P4[Document Insights & Patterns] P1 --> P2 --> P3 --> P4 end Start --> Process Note: When triggered by **update memory bank**, I MUST review every memory bank file, even if some don't require updates. Focus particularly on activeContext.md and progress.md as they track current state. REMEMBER: After every memory reset, I begin completely fresh. The Memory Bank is my only link to previous work. It must be maintained with precision and clarity, as my effectiveness depends entirely on its accuracy.system. * Il n'est pas nécessaire de sauvegarder manuellement ici, les modifications dans l'interface des paramètres sont généralement appliquées directement (mais fermer l'onglet des paramètres garantit que c'est pris en compte). - Dans l'onglet des paramètres de Cline qui s'ouvre, cherchez la section
Avec ces instructions en place, Cline saura qu'il doit utiliser une Memory Bank structurée comme décrit. Lors de sa première utilisation dans un projet où le dossier memory-bank/ n'existe pas, ou si certains fichiers manquent, Cline pourra vous proposer de les créer. Vous pourrez alors les peupler avec les informations spécifiques à votre projet ExplorateurOpenFoodFacts.
Par exemple, vous pourrez ensuite créer manuellement les fichiers memory-bank/projectbrief.md, memory-bank/activeContext.md, et memory-bank/progress.md avec un contenu initial pertinent pour votre projet OpenFoodFacts, comme suggéré dans la version précédente de ce guide, ou demander à Cline de vous aider à les générer.
Avec ces instructions en place, Cline saura qu'il doit utiliser une Memory Bank structurée comme décrit. Lors de sa première utilisation dans un projet où le dossier memory-bank/ n'existe pas, ou si certains fichiers manquent, Cline pourra vous proposer de les créer. Vous pourrez alors les peupler avec les informations spécifiques à votre projet ExplorateurOpenFoodFacts.
Par exemple, vous pourrez ensuite créer manuellement les fichiers memory-bank/projectbrief.md, memory-bank/activeContext.md, et memory-bank/progress.md avec un contenu initial pertinent pour votre projet OpenFoodFacts, comme suggéré dans la version précédente de ce guide, ou demander à Cline de vous aider à les générer.
Pour Aller Plus Loin (Détails et Options Avancées)⚓︎
Le Rôle de Chaque Fichier de la Memory Bank⚓︎
projectbrief.md: Contient la vision globale du projet. Les objectifs à long terme, le public cible, les technologies envisagées. Ce fichier est modifié moins fréquemment.productContext.md(Optionnel mais recommandé) : Décrit le "pourquoi" du projet, le problème qu'il résout, l'expérience utilisateur souhaitée.systemPatterns.md(Optionnel) : Pourrait décrire l'architecture logicielle, les modèles de conception utilisés.techContext.md(Optionnel) : Détaille la stack technique, les versions des outils, les dépendances clés.activeContext.md: Le plus dynamique. Il capture le focus actuel du travail, les décisions récentes, les questions en suspens, les prochaines étapes immédiates. Vous (ou Cline) devriez le mettre à jour régulièrement.progress.md: Un journal de bord. Ce qui a été fait, les problèmes rencontrés, les solutions trouvées. Utile pour suivre l'évolution et pour les rétrospectives.- Autres fichiers/dossiers : Vous pouvez ajouter d'autres fichiers ou même des sous-dossiers dans
memory-bank/pour organiser des informations plus spécifiques (par exemple,memory-bank/api_specs/openfoodfacts_api.md). Il faudra alors les mentionner dans les "Custom Instructions".
Comment Cline Utilise la Memory Bank⚓︎
Lorsque vous donnez une tâche à Cline, s'il est configuré pour utiliser une Memory Bank (via les "Custom Instructions"), il va : 1. Lire le contenu des fichiers spécifiés dans la Memory Bank. 2. Injecter ce contenu (ou un résumé) dans le prompt qu'il envoie au modèle LLM. Cela donne au LLM un contexte riche sur votre projet, ce qui lui permet de fournir des réponses beaucoup plus pertinentes et alignées avec vos objectifs.
Stratégies de Mise à Jour de la Memory Bank⚓︎
- Manuellement : Vous pouvez (et devriez) éditer ces fichiers vous-même pour refléter l'état du projet.
- Via Cline : Vous pouvez explicitement demander à Cline de mettre à jour un fichier de la Memory Bank. Par exemple : "Mets à jour activeContext.md : la prochaine étape est de créer la fonction pour appeler l'API OpenFoodFacts."
- Automatiquement (partiellement) : Certaines versions ou configurations de Cline peuvent tenter de mettre Ă jour certains fichiers (comme
progress.md) après avoir accompli des actions.
Importance des "Custom Instructions"⚓︎
Les "Custom Instructions" sont un moyen puissant de guider le comportement de Cline. En plus de lister les fichiers de la Memory Bank, vous pouvez y définir :
- Le rôle que Cline doit adopter (ex: "Tu es un développeur Python senior spécialisé dans les API web").
- Des principes directeurs (ex: "Privilégie le code clair et commenté", "Pose des questions si une instruction n'est pas claire").
- Des formats de sortie préférés.
Consultez la documentation de Cline pour des exemples plus avancés de "Custom Instructions". L'exemple fourni dans la section "Pour Commencer" est une base solide.
La Memory Bank est un élément clé pour une collaboration efficace avec une IA comme Cline, transformant un outil générique en un assistant personnalisé pour VOTRE projet.