1.8 KiB
1.8 KiB
Roo Code Memory Bank Protocol
I use a Memory Bank to maintain continuity across sessions. The Memory Bank files are located in .roo/memory-bank/.
Core Hierarchy
projectbrief.md- Core requirements and goals (source of truth).productContext.md- Why this project exists and user experience goals.systemPatterns.md- System architecture, technical decisions, and design patterns.techContext.md- Technologies, setup, constraints, and dependencies.activeContext.md- Current focus, recent changes, next steps, and active decisions.progress.md- What works, what's left to build, and known issues.
Operational Workflow
1. Initialization (Start of Task)
- At the start of a task, I DO NOT blindly read all files.
- Instead, I MUST first check if the Memory Bank exists.
- I MUST read
activeContext.mdandprogress.mdfirst to understand the current state. - I will read
projectbrief.md,systemPatterns.md, ortechContext.mdONLY if the task requires modification of architecture, tech stack, or core requirements.
2. Updating the Bank
I MUST update the Memory Bank files under the following conditions:
- When implementing significant changes or switching to a new sub-task (update
activeContext.mdandprogress.md). - When discovering or establishing new architectural patterns (update
systemPatterns.md). - When the user explicitly requests: "update memory bank" (in this case, review and update all relevant files).
3. Guidelines for Updates
- Keep it concise: Do not duplicate source code inside markdown files.
- Maintain focus: The
activeContext.mdshould only contain what is relevant now and next. Move completed items toprogress.md. - Verify: Before finalizing a task, ensure
progress.mdaccurately reflects what works and what is left to do.