From 95be79eecdc9aa93b48b841e63679e88a12a9802 Mon Sep 17 00:00:00 2001 From: Mark IJbema Date: Tue, 3 Feb 2026 09:33:15 +0100 Subject: [PATCH] Remove memory bank docs and add redirects --- packages/kilo-docs/lib/nav/customize.ts | 1 - packages/kilo-docs/mappingplan.md | 1 - .../agents/free-and-budget-models.md | 6 +- .../pages/customize/context/memory-bank.md | 322 ------------------ packages/kilo-docs/pages/customize/index.md | 2 - packages/kilo-docs/previous-docs-redirects.js | 21 +- .../public/img/memory-bank/at-work.png | Bin 39988 -> 0 bytes 7 files changed, 14 insertions(+), 339 deletions(-) delete mode 100644 packages/kilo-docs/pages/customize/context/memory-bank.md delete mode 100644 packages/kilo-docs/public/img/memory-bank/at-work.png diff --git a/packages/kilo-docs/lib/nav/customize.ts b/packages/kilo-docs/lib/nav/customize.ts index 44e33c89721..b8f4c62b439 100644 --- a/packages/kilo-docs/lib/nav/customize.ts +++ b/packages/kilo-docs/lib/nav/customize.ts @@ -33,7 +33,6 @@ export const CustomizeNav: NavSection[] = [ href: "/customize/context/codebase-indexing", children: "Codebase Indexing", }, - { href: "/customize/context/memory-bank", children: "Memory Bank" }, { href: "/customize/context/large-projects", children: "Large Projects", diff --git a/packages/kilo-docs/mappingplan.md b/packages/kilo-docs/mappingplan.md index 8ab5f745aaf..41ec08ecab1 100644 --- a/packages/kilo-docs/mappingplan.md +++ b/packages/kilo-docs/mappingplan.md @@ -45,7 +45,6 @@ | Task Todo List | `basic-usage/task-todo-list` | | **Context & Indexing** (subheader) | | | Codebase Indexing | `features/codebase-indexing` | -| Memory Bank | `advanced-usage/memory-bank` | | Large Projects | `advanced-usage/large-projects` | | **Customization** (subheader) | | | Custom Modes | `agent-behavior/custom-modes` | diff --git a/packages/kilo-docs/pages/code-with-ai/agents/free-and-budget-models.md b/packages/kilo-docs/pages/code-with-ai/agents/free-and-budget-models.md index 7efd5d94cf9..4f5cd08ab80 100644 --- a/packages/kilo-docs/pages/code-with-ai/agents/free-and-budget-models.md +++ b/packages/kilo-docs/pages/code-with-ai/agents/free-and-budget-models.md @@ -96,11 +96,11 @@ When you need more capability than free models provide, these options deliver ex @src/components/UserProfile.tsx:45-67 ``` -**Use Memory Bank effectively:** +**Reuse context effectively:** -- Store project context once in [Memory Bank](/docs/customize/context/memory-bank) +- Keep key project notes in your repository (e.g., a README or docs folder) - Reduces need to re-explain project details -- Saves 200-500 tokens per conversation +- Saves tokens per conversation **Strategic file mentions:** diff --git a/packages/kilo-docs/pages/customize/context/memory-bank.md b/packages/kilo-docs/pages/customize/context/memory-bank.md deleted file mode 100644 index dfbf0a1f1fe..00000000000 --- a/packages/kilo-docs/pages/customize/context/memory-bank.md +++ /dev/null @@ -1,322 +0,0 @@ ---- -title: "Memory Bank" -description: "Persistent context storage for long-term projects" ---- - -# Memory Bank - -## Overview - -{% image src="/docs/img/memory-bank/at-work.png" alt="Executing task with the memory bank" width="350" caption="Kilo Code works more efficiently with Memory Bank enabled, instantly understanding project context and technologies." /%} - -### The Problem: AI Memory Loss - -AI assistants like Kilo Code face a fundamental limitation: they reset completely between sessions. This "memory loss" means that every time you start a new conversation, you need to re-explain your project's architecture, goals, technologies, and current status. This creates a critical efficiency dilemma: AI models either make edits without proper project understanding (leading to errors and misaligned solutions), or must spend significant time and resources analyzing your entire codebase in each session (which is prohibitively expensive and slow for larger projects) - -Without a solution to this memory problem, AI assistants remain powerful but stateless tools that can't truly function as persistent development partners. - -### The Solution: Memory Bank - -Memory Bank is a system of structured documentation that enables Kilo Code to **better understand your project** and **maintain context across coding sessions**. It transforms your AI assistant from a stateless tool into a persistent development partner with perfect recall of your project details. Kilo Code automatically reads your Memory Bank files to rebuild its understanding of your project whenever you start a new session. - -When Memory Bank is active, Kilo Code begins each task with `[Memory Bank: Active]` and a brief summary of your project context, ensuring consistent understanding without repetitive explanations. - -## Key Benefits - -- **Language Agnostic**: Functions with any programming language or framework -- **Efficient Project Understanding**: Helps Kilo Code understand the purpose and tech stack of a project -- **Context Preservation**: Maintain project knowledge across sessions without needing to scan files in every new session -- **Faster Startup**: Kilo Code immediately comprehends your project context when you begin a new session -- **Self-Documenting Projects**: Create valuable documentation as a byproduct - -## How Memory Bank Works - -Memory Bank is built on Kilo Code's [Custom Rules](/docs/customize/custom-rules) feature, providing a specialized framework for project documentation. Memory Bank files are standard markdown files stored in `.kilocode/rules/memory-bank` folder within your project repository. They're not hidden or proprietary - they're regular documentation files that both you and Kilo Code can access. - -At the start of every task, Kilo Code reads all Memory Bank files to build a comprehensive understanding of your project. This happens automatically without requiring any action from you. Kilo Code then indicates successful Memory Bank activation with `[Memory Bank: Active]` at the beginning of its response, followed by a brief summary of its understanding of your project. - -Files are organized in a hierarchical structure that builds a complete picture of your project: - -## Core Memory Bank Files - -### brief.md - -_This file is created and maintained manually by you_ - -- The foundation of your project -- High-level overview of what you're building -- Core requirements and goals - -Example: _"Building a React web app for inventory management with barcode scanning. The system needs to support multiple warehouses and integrate with our existing ERP system."_ - -Note: Kilo Code will not edit this file directly but may suggest improvements if it identifies ways to enhance your project brief. - -### product.md - -- Explains why the project exists -- Describes the problems being solved -- Outlines how the product should work -- User experience goals - -Example: _"The inventory system needs to support multiple warehouses and real-time updates. It solves the problem of inventory discrepancies by providing barcode scanning for accurate stock counts."_ - -### context.md - -- The most frequently updated file -- Contains current work focus and recent changes -- Tracks active decisions and considerations -- Next steps for development - -Example: _"Currently implementing the barcode scanner component; last session completed the API integration. Next steps include adding error handling for network failures."_ - -### architecture.md - -- Documents the system architecture -- Records key technical decisions -- Lists design patterns in use -- Explains component relationships -- Critical implementation paths - -Example: _"Using Redux for state management with a normalized store structure. The application follows a modular architecture with separate services for API communication, state management, and UI components."_ - -### tech.md - -- Lists technologies and frameworks used -- Describes development setup -- Notes technical constraints -- Records dependencies and tool configurations -- Tool usage patterns - -Example: _"React 18, TypeScript, Firebase, Jest for testing. Development requires Node.js 16+ and uses Vite as the build tool."_ - -## Additional Context Files - -Create additional files as needed to organize: - -- Complex feature documentation -- Integration specifications -- API documentation -- Testing strategies -- Deployment procedures - -These additional files help organize more detailed information that doesn't fit neatly into the core files. - -### tasks.md - -_Optional file for documenting repetitive tasks_ - -- Stores workflows for tasks that follow similar patterns -- Documents which files need to be modified -- Captures step-by-step procedures -- Records important considerations and gotchas - -Example: Adding support for new AI models, implementing API endpoints, or any task that requires doing similar jobs repeatedly. - -## Getting Started with Memory Bank - -### First-Time Setup - -1. Create a `.kilocode/rules/memory-bank/` folder in your project -2. Write a basic project brief in `.kilocode/rules/memory-bank/brief.md` -3. Create a file `.kilocode/rules/memory-bank-instructions.md` with instructions for how to structure memory bank files (the initialization step below will help set this up) -4. Switch to `Architect` mode -5. Check if a best available AI model is selected, don't use "lightweight" models -6. Ask Kilo Code to "initialize memory bank" -7. Wait for Kilo Code to analyze your project and initialize the Memory Bank files -8. Verify the content of the files to see if the project is described correctly. Update the files if necessary. - -### Project Brief Tips - -- Start simple - it can be as detailed or high-level as you like -- Focus on what matters most to you -- Kilo Code will help fill in gaps and ask questions -- You can update it as your project evolves - -Sample prompt that delivers a reasonably good brief: - -``` -Provide a concise and comprehensive description of this project, highlighting its main objectives, key features, used technologies and significance. Then, write this description into a text file named appropriately to reflect the project's content, ensuring clarity and professionalism in the writing. Stay brief and short. -``` - -## Working with Memory Bank - -### Core Workflows - -#### Memory Bank Initialization - -The initialization step is critically important as it establishes the foundation for all future interactions with your project. When you request initialization with the command `initialize memory bank`, Kilo Code will: - -1. Perform an exhaustive analysis of your project, including: - - All source code files and their relationships - - Configuration files and build system setup - - Project structure and organization patterns - - Documentation and comments - - Dependencies and external integrations - - Testing frameworks and patterns -2. Create comprehensive memory bank files in the `.kilocode/rules/memory-bank` folder -3. Provide a detailed summary of what it has understood about your project -4. Ask you to verify the accuracy of the generated files - -{% callout type="warning" title="Important" %} -Take time to carefully review and correct the generated files after initialization. Any misunderstandings or missing information at this stage will affect all future interactions. A thorough initialization dramatically improves Kilo Code's effectiveness, while a rushed or incomplete initialization will permanently limit its ability to assist you effectively. -{% /callout %} - -#### Memory Bank Updates - -Memory Bank updates occur when: - -1. Kilo Code discovers new project patterns -2. After implementing significant changes -3. When you explicitly request with `update memory bank` -4. When context needs clarification - -To execute a Memory Bank update, Kilo Code will: - -1. Review ALL project files -2. Document the current state -3. Document insights and patterns -4. Update all memory bank files as needed - -You can direct Kilo Code to focus on specific information sources by using commands like `update memory bank using information from @/Makefile`. - -#### Regular Task Execution - -At the beginning of every task, Kilo Code: - -1. Reads ALL memory bank files -2. Includes `[Memory Bank: Active]` at the beginning of its response -3. Provides a brief summary of its understanding of your project -4. Proceeds with the requested task - -At the end of a task, Kilo Code may suggest updating the memory bank if significant changes were made, using the phrase: "Would you like me to update memory bank to reflect these changes?" - -#### Add Task Workflow - -When you complete a repetitive task that follows a similar pattern each time, you can document it for future reference. This is particularly useful for tasks like adding features that follow existing patterns - -To document a task, use the command `add task` or `store this as a task`. Kilo Code will: - -1. Create or update the `tasks.md` file in the memory bank folder -2. Document the task using current context: - - Task name and description - - List of files that need to be modified - - Step-by-step workflow - - Important considerations - - Example implementation - -When starting a new task, Kilo Code will check if it matches any documented tasks and follow the established workflow to ensure no steps are missed. - -### Key Commands - -- `initialize memory bank` - Use when starting a new project -- `update memory bank` - Initiates a comprehensive re-analysis of the contextual documentation for the current task. **Caution:** This is resource-intensive and not recommended for "lightweight" models due to potentially reduced effectiveness. Can be used multiple times, well combinable with specific instructions, e.g. `update memory bank using information from @/Makefile` -- `add task` or `store this as a task` - Documents a repetitive task for future reference - -### Status Indicators - -Kilo Code uses status indicators to clearly communicate Memory Bank status: - -- `[Memory Bank: Active]` - Indicates Memory Bank files were successfully read and are being used -- `[Memory Bank: Missing]` - Indicates Memory Bank files could not be found or are empty - -These indicators appear at the beginning of Kilo Code's responses, providing immediate confirmation of Memory Bank status. - -### Documentation Updates - -Memory Bank updates should automatically occur when: - -- You discover new patterns in your project -- After implementing significant changes -- When you explicitly request with `update memory bank` -- When you feel context needs clarification - -## Context Window Management - -As you work with Kilo Code, your context window will eventually fill up. When you notice responses slowing down or references becoming less accurate: - -1. Ask Kilo Code to "update memory bank" to document the current state -2. Start a new conversation/task -3. Kilo Code will automatically access your Memory Bank in the new conversation - -This process ensures continuity across multiple sessions without losing important context. - -## Handling Inconsistencies - -If Kilo Code detects inconsistencies between memory bank files: - -1. It will prioritize information from `brief.md` as the source of truth -2. Note any discrepancies to you -3. Continue working with the most reliable information available - -This ensures that even with imperfect documentation, Kilo Code can still function effectively. - -## Frequently Asked Questions - -### Where are the memory bank files stored? - -The Memory Bank files are regular markdown files stored in your project repository, typically in a `.kilocode/rules/memory-bank/` folder. They're not hidden system files - they're designed to be part of your project documentation. - -### How often should I update the memory bank? - -Update the Memory Bank after significant milestones or changes in direction. For active development, updates every few sessions can be helpful. Use the "update memory bank" command when you want to ensure all context is preserved. - -### Can I edit memory bank files manually? - -Yes! While Kilo Code manages most of the files, you can edit any of them manually. The `brief.md` file is specifically designed to be maintained by you. Manual edits to other files will be respected by Kilo Code. - -### What happens if memory bank files are missing? - -If memory bank files are missing, Kilo Code will indicate this with `[Memory Bank: Missing]` at the beginning of its response and suggest initializing the memory bank. - -### Does Memory Bank work with all AI models? - -Memory Bank works with all AI models, but more powerful models will create more comprehensive and accurate memory bank files. Lightweight models may struggle with the resource-intensive process of analyzing and updating memory bank files. - -### Can I use Memory Bank with multiple projects? - -Yes! Each project has its own Memory Bank in its `.kilocode/rules/memory-bank/` folder. Kilo Code will automatically use the correct Memory Bank for each project. - -### Doesn't Memory Bank use up my context window? - -Yes, Memory Bank does consume some of your context window at the beginning of each session as it loads all memory bank files. However, this is a strategic tradeoff that significantly improves overall efficiency. By front-loading project context: - -- You eliminate repetitive explanations that would consume even more context over time -- You reach productive outcomes with fewer back-and-forth exchanges -- You maintain consistent understanding throughout your session - -Testing shows that while Memory Bank uses more tokens initially, it dramatically reduces the total number of interactions needed to achieve results. This means less time explaining and more time building. - -## Best Practices - -### Getting Started - -- Start with a basic project brief and let the structure evolve -- Let Kilo Code help create the initial structure -- Review and adjust files as needed to match your workflow -- Verify the accuracy of generated files after initialization - -### Ongoing Work - -- Let patterns emerge naturally as you work -- Don't force documentation updates - they should happen organically -- Trust the process - the value compounds over time -- Watch for context confirmation at the start of sessions -- Use the status indicators to confirm Memory Bank is active - -### Documentation Flow - -- `brief.md` is your foundation -- `context.md` changes most frequently -- All files collectively maintain project intelligence -- Update after significant milestones or changes in direction - -### Optimizing Memory Bank Performance - -- Keep memory bank files concise and focused -- Use additional files for detailed documentation -- Update regularly but not excessively -- Use specific update commands when focusing on particular aspects - -## Remember - -The Memory Bank is Kilo Code's only link to previous work. Its effectiveness depends entirely on maintaining clear, accurate documentation and confirming context preservation in every interaction. When you see `[Memory Bank: Active]` at the beginning of a response, you can be confident that Kilo Code has a comprehensive understanding of your project. diff --git a/packages/kilo-docs/pages/customize/index.md b/packages/kilo-docs/pages/customize/index.md index 1f13faccc34..14906759d1f 100644 --- a/packages/kilo-docs/pages/customize/index.md +++ b/packages/kilo-docs/pages/customize/index.md @@ -26,7 +26,6 @@ Configure how Kilo Code behaves and responds: Help Kilo understand your codebase better: - [**Codebase Indexing**](/docs/customize/context/codebase-indexing) — Build a semantic index of your code for better context awareness -- [**Memory Bank**](/docs/customize/context/memory-bank) — Store project context, decisions, and important information - [**Large Projects**](/docs/customize/context/large-projects) — Best practices for working with monorepos and large codebases ## Getting Started @@ -42,7 +41,6 @@ New to customization? Here's where to start: - Keep custom instructions concise and actionable - Use custom modes for repetitive tasks - Combine rules with modes for powerful workflows -- Regularly update your memory bank with important decisions ## Next Steps diff --git a/packages/kilo-docs/previous-docs-redirects.js b/packages/kilo-docs/previous-docs-redirects.js index 8af293848eb..e01b585d855 100644 --- a/packages/kilo-docs/previous-docs-redirects.js +++ b/packages/kilo-docs/previous-docs-redirects.js @@ -192,12 +192,6 @@ module.exports = [ basePath: false, permanent: true, }, - { - source: "/docs/advanced-usage/memory-bank", - destination: "/docs/customize/context/memory-bank", - basePath: false, - permanent: true, - }, { source: "/docs/advanced-usage/large-projects", destination: "/docs/customize/context/large-projects", @@ -212,14 +206,21 @@ module.exports = [ permanent: true, }, { - source: "/docs/code-with-ai/context/memory-bank", - destination: "/docs/customize/context/memory-bank", + source: "/docs/code-with-ai/context/large-projects", + destination: "/docs/customize/context/large-projects", + basePath: false, + permanent: true, + }, + // Removed memory bank page redirects to Agents.md + { + source: "/docs/customize/context/memory-bank", + destination: "/docs/customize/agents-md", basePath: false, permanent: true, }, { - source: "/docs/code-with-ai/context/large-projects", - destination: "/docs/customize/context/large-projects", + source: "/docs/code-with-ai/context/memory-bank", + destination: "/docs/customize/agents-md", basePath: false, permanent: true, }, diff --git a/packages/kilo-docs/public/img/memory-bank/at-work.png b/packages/kilo-docs/public/img/memory-bank/at-work.png deleted file mode 100644 index af49abddc89f6fbb8886464ac77006d765dd703d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 39988 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 Sgf?*i0000