Skip to content

🧠 Roo Code Memory Bank: Seamless project context in Roo Code. No more repetition, just continuous development. Includes Architect, Code, Ask, Debug and Test modes!

License

Notifications You must be signed in to change notification settings

GreatScottyMac/roo-code-memory-bank

Repository files navigation

🚨Major Update Coming Soon!🚨


🧠 Roo Code Memory Bank

Persistent Project Context for AI-Assisted Development

VS Code Extension GitHub

🎯 Overview

Roo Code Memory Bank solves a critical challenge in AI-assisted development: maintaining context across sessions. By providing a structured memory system integrated with VS Code, it ensures your AI assistant maintains a deep understanding of your project across sessions.

Key Components

graph LR
    A[Memory Bank] --> B[Core Files]
    A --> C[Mode Rules]
    A --> D[VS Code UI]
    B --> E[Project Context]
    B --> F[Decisions]
    B --> G[Progress]
    C --> H[Architect]
    C --> I[Code]
    C --> J[Ask]
    C --> K1[Debug]
    C --> K2[Test]
    K[Real-time Updates] --> B
    K --> L[Continuous Sync]
    L --> M[Auto-save]
    L --> N[Event Tracking]
Loading
  • 🧠 Memory Bank: Persistent storage for project knowledge
  • πŸ“‹ Mode Rules: YAML-based behavior configuration
  • πŸ”§ VS Code Integration: Seamless development experience
  • ⚑ Real-time Updates: Continuous context synchronization

πŸš€ Quick Start

1. Configure Custom Instructions

a. Copy Rule and Mode Files

Download and copy these files to your project's root directory:

Mode Rule File Purpose
Code .clinerules-code Implementation and coding tasks
Architect .clinerules-architect System design and architecture
Ask .clinerules-ask Information and assistance
Debug .clinerules-debug Troubleshooting and problem-solving
Test .clinerules-test Test-driven development and quality assurance
Mode .roomodes Custom mode configuration file for Test mode

πŸ“ Special Note for Test Mode: Test mode requires both the .clinerules-test file AND .roomodes file in your project root for proper functionality.

b. Configure Roo Code Prompt Settings

⚠️ Important: The system default descriptions in the Role Definition boxes can remain but leave the Mode-specific Custom Instructions boxes empty.

2. Initialize Memory Bank

  1. Switch to Architect or Code mode in Roo Code chat
  2. Send a message (e.g., "hello")
  3. Roo will automatically:
    • πŸ” Scan for memory-bank/ directory
    • πŸ“ Create it if missing (with your approval)
    • πŸ“ Initialize core files
    • 🚦 Provide next steps
πŸ’‘ Pro Tip: Project Brief

Create a projectBrief.md in your project root before initialization to give Roo immediate project context.

File Organization

project-root/
β”œβ”€β”€ .clinerules-architect
β”œβ”€β”€ .clinerules-code
β”œβ”€β”€ .clinerules-ask
β”œβ”€β”€ .clinerules-debug
β”œβ”€β”€ .clinerules-test
β”œβ”€β”€ .roomodes
β”œβ”€β”€ memory-bank/
β”‚   β”œβ”€β”€ activeContext.md
β”‚   β”œβ”€β”€ productContext.md
β”‚   β”œβ”€β”€ progress.md
β”‚   └── decisionLog.md
└── projectBrief.md

πŸ“š Memory Bank Structure

graph TD
    MB[memory-bank/] --> AC[activeContext.md]
    MB --> DL[decisionLog.md]
    MB --> PC[productContext.md]
    MB --> PR[progress.md]
    MB --> PB[projectBrief.md]
    MB --> SP[systemPatterns.md]
    
    subgraph Core Files
        AC[Current Session State]
        DL[Technical Decisions]
        PC[Project Overview]
        PR[Progress Tracking]
    end
    
    subgraph Optional
        PB[Project Brief]
        SP[System Patterns]
    end
Loading
πŸ“– View File Descriptions
File Purpose
activeContext.md Tracks current goals, decisions, and session state
decisionLog.md Records architectural choices and their rationale
productContext.md Maintains high-level project context and knowledge
progress.md Documents completed work and upcoming tasks
projectBrief.md Contains initial project requirements (optional)
systemPatterns.md Documents recurring patterns and standards

✨ Features

🧠 Persistent Context

  • Remembers project details across sessions
  • Maintains consistent understanding of your codebase
  • Tracks decisions and their rationale

πŸ”„ Smart Workflows

graph LR
    A[Architect Mode] -->|Real-time Design Updates| B[Memory Bank]
    C[Code Mode] -->|Real-time Implementation| B
    D[Ask Mode] -->|Real-time Insights| B
    F[Debug Mode] -->|Real-time Analysis| B
    G[Test Mode] -->|Real-time Testing| B
    B -->|Instant Context| A
    B -->|Instant Context| C
    B -->|Instant Context| D
    B -->|Instant Context| F
    B -->|Instant Context| G
    E[Event Monitor] -->|Continuous Sync| B
Loading
  • Mode-based operation for specialized tasks
  • Automatic context switching
  • Project-specific customization via rules

πŸ“Š Knowledge Management

  • Structured documentation with clear purposes
  • Technical decision tracking with rationale
  • Automated progress monitoring
  • Cross-referenced project knowledge

πŸ’‘ Pro Tips

Architect Mode

Roo Code Memory Bank's Architect mode is designed for high-level system design and project organization. This mode focuses on architectural decisions, system structure, and maintaining project-wide consistency.

Key Capabilities

  • πŸ—οΈ System Design: Create and maintain architecture
  • πŸ“ Pattern Definition: Establish coding patterns and standards
  • πŸ”„ Project Structure: Organize code and resources
  • πŸ“‹ Documentation: Maintain technical documentation
  • 🀝 Team Collaboration: Guide implementation standards

Real-time Update Triggers

Architect mode actively monitors and updates Memory Bank files based on:

  • 🎯 Architectural decisions and changes
  • πŸ“Š System pattern definitions
  • πŸ”„ Project structure updates
  • πŸ“ Documentation requirements
  • ⚑ Implementation guidance needs

Memory Bank Integration

graph TD
    A[Architect Mode] --> B[Design Decisions]
    A --> C[Pattern Definition]
    B --> D[Memory Bank Updates]
    C --> D
    D --> E[activeContext.md]
    D --> F[progress.md]
    D --> G[decisionLog.md]
    E --> H[Design Status]
    F --> I[Architecture Progress]
    G --> J[Design Decisions]
Loading

Switch to Architect mode when you need to:

  • Design system architecture
  • Define coding patterns
  • Structure new projects
  • Guide implementations
  • Make architectural decisions

Code Mode

Roo Code Memory Bank's Code mode is your primary interface for implementation and development. This mode specializes in writing, modifying, and maintaining code while following established patterns.

Key Capabilities

  • πŸ’» Code Creation: Write new code and features
  • πŸ”§ Code Modification: Update existing implementations
  • πŸ“š Documentation: Add code comments and docs
  • ✨ Quality Control: Maintain code standards
  • πŸ”„ Refactoring: Improve code structure

Real-time Update Triggers

Code mode actively monitors and updates Memory Bank files based on:

  • πŸ“ Code implementations
  • πŸ”„ Feature updates
  • 🎯 Pattern applications
  • ⚑ Performance improvements
  • πŸ“š Documentation updates

Memory Bank Integration

graph TD
    A[Code Mode] --> B[Implementation]
    A --> C[Documentation]
    B --> D[Memory Bank Updates]
    C --> D
    D --> E[activeContext.md]
    D --> F[progress.md]
    D --> G[decisionLog.md]
    E --> H[Current Tasks]
    F --> I[Code Progress]
    G --> J[Implementation Decisions]
Loading

Switch to Code mode when you need to:

  • Implement new features
  • Modify existing code
  • Add documentation
  • Apply coding patterns
  • Refactor code

Ask Mode

Roo Code Memory Bank's Ask mode serves as your knowledge base interface and documentation assistant. This mode excels at providing information, explaining concepts, and maintaining project knowledge.

Key Capabilities

  • πŸ’‘ Knowledge Sharing: Access project insights
  • πŸ“š Documentation: Create and update docs
  • πŸ” Code Explanation: Clarify implementations
  • 🀝 Collaboration: Share understanding
  • πŸ“– Pattern Education: Explain system patterns

Real-time Update Triggers

Ask mode actively monitors and updates Memory Bank files based on:

  • ❓ Knowledge requests
  • πŸ“ Documentation needs
  • πŸ”„ Pattern explanations
  • πŸ’‘ Implementation insights
  • πŸ“š Learning outcomes

Memory Bank Integration

graph TD
    A[Ask Mode] --> B[Knowledge Sharing]
    A --> C[Documentation]
    B --> D[Memory Bank Updates]
    C --> D
    D --> E[activeContext.md]
    D --> F[progress.md]
    D --> G[decisionLog.md]
    E --> H[Current Topics]
    F --> I[Documentation Progress]
    G --> J[Knowledge Decisions]
Loading

Switch to Ask mode when you need to:

  • Understand code patterns
  • Get implementation guidance
  • Create documentation
  • Share knowledge
  • Learn system concepts

Debug Mode

Roo Code Memory Bank's Debug mode specializes in systematic problem-solving and troubleshooting. This mode employs strategic analysis and verification to identify and resolve issues.

Key Capabilities

  • πŸ” Issue Investigation: Analyze problems systematically
  • πŸ“Š Error Analysis: Track error patterns
  • 🎯 Root Cause Finding: Identify core issues
  • βœ… Solution Verification: Validate fixes
  • πŸ“ Problem Documentation: Record findings

Real-time Update Triggers

Debug mode actively monitors and updates Memory Bank files based on:

  • πŸ› Bug discoveries
  • πŸ“ˆ Performance issues
  • πŸ”„ Error patterns
  • ⚑ System bottlenecks
  • πŸ“ Fix verifications

Memory Bank Integration

graph TD
    A[Debug Mode] --> B[Investigation]
    A --> C[Analysis]
    B --> D[Memory Bank Updates]
    C --> D
    D --> E[activeContext.md]
    D --> F[progress.md]
    D --> G[decisionLog.md]
    E --> H[Current Issues]
    F --> I[Debug Progress]
    G --> J[Solution Decisions]
Loading

Switch to Debug mode when you need to:

  • Investigate issues
  • Analyze errors
  • Find root causes
  • Verify fixes
  • Document problems

Test Mode

Roo Code Memory Bank includes a powerful Test mode for test-driven development and quality assurance. This mode operates with a focus on test creation, execution, and validation while maintaining code quality.

Key Capabilities

  • πŸ§ͺ Test-Driven Development: Write tests before implementation
  • πŸ“Š Test Execution: Run and monitor test suites
  • πŸ” Coverage Analysis: Track and improve test coverage
  • 🎯 Quality Assurance: Validate code against requirements
  • βœ… Test Result Management: Track and report test outcomes

Real-time Update Triggers

Test mode actively monitors and updates Memory Bank files based on:

  • πŸ”„ Test executions and results
  • πŸ“ˆ Coverage metrics and gaps
  • πŸ› Test failure patterns
  • ✨ New test requirements
  • πŸ“ Test documentation needs

Memory Bank Integration

graph TD
    A[Test Mode] --> B[Test Creation]
    A --> C[Test Execution]
    B --> D[Memory Bank Updates]
    C --> D
    D --> E[activeContext.md]
    D --> F[progress.md]
    D --> G[decisionLog.md]
    E --> H[Test Status]
    F --> I[Test Progress]
    G --> J[Test Decisions]
Loading

Switch to Test mode when you need to:

  • Write new tests
  • Run test suites
  • Analyze test coverage
  • Validate code quality
  • Document test results

Session Management

  • ⚑ Real-time Updates: Memory Bank automatically stays synchronized with your work
  • πŸ’Ύ Manual Updates: Use "UMB" or "update memory bank" as a fallback when:
    • Ending a session unexpectedly
    • Halting mid-task
    • Recovering from connection issues
    • Forcing a full synchronization

πŸ“– Documentation


License

Apache 2.0 Β© 2025 GreatScottyMac

About

🧠 Roo Code Memory Bank: Seamless project context in Roo Code. No more repetition, just continuous development. Includes Architect, Code, Ask, Debug and Test modes!

Resources

License

Stars

Watchers

Forks

Packages

No packages published