# Sixth's Memory BankI am Sixth, 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 StructureThe 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 scope2. `productContext.md` - Why this project exists - Problems it solves - How it should work - User experience goals3. `activeContext.md` - Current work focus - Recent changes - Next steps - Active decisions and considerations - Important patterns and preferences - Learnings and project insights4. `systemPatterns.md` - System architecture - Key technical decisions - Design patterns in use - Component relationships - Critical implementation paths5. `techContext.md` - Technologies used - Development setup - Technical constraints - Dependencies - Tool usage patterns6. `progress.md` - What works - What's left to build - Current status - Known issues - Evolution of project decisions### Additional ContextCreate additional files/folders within memory-bank/ when they help organize:- Complex feature documentation- Integration specifications- API documentation- Testing strategies- Deployment procedures## Core Workflows### Plan Modeflowchart 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 Modeflowchart TD Start[Start] --> Context[Check Memory Bank] Context --> Update[Update Documentation] Update --> Execute[Execute Task] Execute --> Document[Document Changes]## Documentation UpdatesMemory Bank updates occur when:1. Discovering new project patterns2. After implementing significant changes3. When user requests with **update memory bank** (MUST review ALL files)4. When context needs clarificationflowchart TD 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 --> ProcessNote: 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.
The Memory Bank is a structured documentation system that allows Sixth to maintain context across sessions. It transforms Sixth from a stateless assistant into a persistent development partner that can effectively “remember” your project details over time.
The Memory Bank isn’t a Sixth-specific feature - it’s a methodology for managing AI context through structured documentation. When you instruct Sixth to “follow custom instructions,” it reads the Memory Bank files to rebuild its understanding of your project.
Memory Bank files are simply markdown files you create in your project. They’re not hidden or special files - just regular documentation stored in your repository that both you and Sixth can access.Files are organized in a hierarchical structure that builds up a complete picture of your project:
The Memory Bank files are regular markdown files stored in your project repository, typically in a memory-bank/ folder. They’re not hidden system files - they’re designed to be part of your project documentation.
As you work with Sixth, your context window will eventually fill up (note the progress bar). When you notice Sixth’s responses slowing down or references to earlier parts of the conversation becoming less accurate, it’s time to:
Ask Sixth to “update memory bank” to document the current state
Start a new conversation/task
Ask Sixth to “follow your custom instructions” in the new conversation
This workflow ensures that important context is preserved in your Memory Bank files before the context window is cleared, allowing you to continue seamlessly in a fresh conversation.
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. However, you will notice Sixth automatically updating the Memory Bank as well.
Yes! The Memory Bank concept is a documentation methodology that can work with any AI assistant that can read documentation files. The specific commands might differ, but the structured approach to maintaining context works across tools.
How does the memory bank relate to context window limitations?
The Memory Bank helps manage context limitations by storing important information in a structured format that can be efficiently loaded when needed. This prevents context bloat while ensuring critical information is available.
Can the memory bank concept be used for non-coding projects?
Absolutely! The Memory Bank approach works for any project that benefits from structured documentation - from writing books to planning events. The file structure might vary, but the concept remains powerful.
While similar in concept, the Memory Bank provides a more structured and comprehensive approach specifically designed to maintain context across AI sessions. It goes beyond what a single README typically covers.
The Memory Bank is Sixth’s only link to previous work. Its effectiveness depends entirely on maintaining clear, accurate documentation and confirming context preservation in every interaction.For more information, reference ourblogon Sixth Memory Bank