Site icon Efficient Coder

Persistent Project Memory Solved: Master Long-Term Context in VS Code with RooFlow

Mastering RooFlow: The Ultimate Guide to Persistent Project Context in Roo Code for VS Code

Estimated reading time: 12 minutes
Audience: Developers, technical writers, and DevOps engineers who already use the Roo Code extension inside Visual Studio Code and want a friction-less way to keep project knowledge between sessions.


Table of Contents

  1. Why Project Memory Fails in Standard Roo Code
  2. What Exactly Is RooFlow?
  3. The Five Flow Modes and Their Superpowers
  4. Memory Bank Deep-Dive: Your Project’s Long-Term Memory
  5. Step-by-Step Installation (Windows, macOS, Linux)
  6. First-Run Tutorial: From Empty Folder to Fully Contextualized AI Chat
  7. Updating, Uninstalling, and Co-existing With Native Roo Code Modes
  8. FAQ: Troubleshooting, Security, and Best Practices
  9. Key Takeaways

1. Why Project Memory Fails in Standard Roo Code

Every time you open a new chat inside VS Code with the Roo Code extension, the AI starts from scratch.

  • 🍂
    Yesterday you spent 15 minutes explaining the folder structure.
  • 🍂
    Today the AI asks again, “What framework are we using?”

The built-in Markdown system prompts are reloaded per session; nothing persists. RooFlow solves this by storing context in a local, human-readable knowledge base called Memory Bank.


2. What Exactly Is RooFlow?

RooFlow is an experimental, community-driven enhancement for Roo Code.

  • 🍂
    Format: YAML-based system prompts (lighter tokens, easier diff).
  • 🍂
    Goal: Persistent project context without external services.
  • 🍂
    Status: Not officially supported by the Roo Code team; use at your own risk.

In short, RooFlow adds five new modes (Flow-Architect, Flow-Code, Flow-Debug, Flow-Ask, Flow-Orchestrator) and a memory-bank/ folder that survives reboots.


3. The Five Flow Modes and Their Superpowers

Mode When to Use What It Writes to Memory Bank Access Level
Flow-Architect Design system, scaffold folders, pick tech stack productContext.md, decisionLog.md Read + Write
Flow-Code Write, refactor, or document code activeContext.md, progress.md Read + Write
Flow-Debug Hunt bugs, add logging, fix tests decisionLog.md, activeContext.md Read + Write
Flow-Ask Explain existing code, answer questions Nothing (read-only) Read only
Flow-Orchestrator Break complex tasks into subtasks and delegate to the above modes All files Read + Write

Flow-Orchestrator is the meta-mode: it decides which sibling mode should execute the next step and keeps the master plan in Memory Bank.


4. Memory Bank Deep-Dive: Your Project’s Long-Term Memory

The memory-bank/ folder lives in your project root. You can open the Markdown files in any editor; RooFlow only appends or updates sections, never overwrites the entire file.

File Purpose Typical Content
activeContext.md Current session snapshot “Just added CLI argument parsing; next: unit tests”
decisionLog.md Architectural decisions “Chosen JSON over SQLite for simplicity, see PR #12”
productContext.md 30,000-foot view “Python CLI todo manager targeting power users”
progress.md Kanban-style task board - [x] Set up Click framework - [ ] Add CI pipeline
systemPatterns.md Team conventions (optional) “We use Black for formatting, pytest for tests”

How updates happen

  • 🍂
    Automatic: Each Flow mode writes key events before shutdown.
  • 🍂
    Manual: Type “Update Memory Bank” or “UMB” in chat to force an immediate sync.

5. Step-by-Step Installation (Windows, macOS, Linux)

5.1 Prerequisites

Tool Check Command Minimum Version
Git git --version 2.x
Python python3 --version (Linux/macOS) or python --version (Windows) 3.7+
PyYAML pip show pyyaml 5.x

Install PyYAML if missing:

pip install pyyaml
# or
pip3 install pyyaml

5.2 One-Line Script

Choose the variant that matches your setup:

Windows (CMD or PowerShell)

:: File-based Memory Bank
curl -O https://raw.githubusercontent.com/GreatScottyMac/RooFlow/main/config/install_rooflow.cmd
./install_rooflow.cmd

:: Context Portal MCP variant
curl -O https://raw.githubusercontent.com/GreatScottyMac/RooFlow/main/config/install_rooflow_conport.cmd
./install_rooflow_conport.cmd

macOS / Linux (bash/zsh)

# File-based Memory Bank
curl -O https://raw.githubusercontent.com/GreatScottyMac/RooFlow/main/config/install_rooflow.sh
chmod +x install_rooflow.sh
./install_rooflow.sh

# Context Portal MCP variant
curl -O https://raw.githubusercontent.com/GreatScottyMac/RooFlow/main/config/install_rooflow_conport.sh
chmod +x install_rooflow_conport.sh
./install_rooflow_conport.sh

5.3 What the installer does

  1. Verifies git, python, and pyyaml.
  2. Clones the RooFlow repo into a temp folder.
  3. Copies .roo/ and .roomodes to your project root.
  4. Runs generate_mcp_yaml.py, replacing placeholders like WORKSPACE_PLACEHOLDER with your absolute path.
  5. If system_prompt.md exists in the root, it injects MCP server definitions into the YAML prompts.

5.4 Verify success

  • 🍂
    A new .roo/ directory and .roomodes file should appear.
  • 🍂
    Open .roo/system-prompt-flow-architect.yaml and confirm the path variables are resolved.

6. First-Run Tutorial: From Empty Folder to Fully Contextualized AI Chat

Imagine you want to scaffold a Python CLI tool.

Step 1 Create a folder

mkdir pytodo && cd pytodo

Step 2 Run installer

./install_rooflow.sh

Step 3 Open VS Code

  1. Launch Roo Code chat.
  2. Select 🌊Flow Architect.
  3. The AI detects no memory-bank/ and asks “Initialize?”
  4. Reply yes.
  5. Files created:
    • 🍂
      memory-bank/productContext.md
    • 🍂
      memory-bank/decisionLog.md (initial commit)

Example excerpt:

# Product Context
## Goals
Create a minimalist CLI todo manager for power users.
## Tech Stack
Python 3.11 + Click + JSON storage

Step 4 Switch to 🌊Flow Code

Prompt:

“Generate a main.py with add, list, done commands.”

The AI:

  • 🍂
    Reads productContext.md
  • 🍂
    Creates main.py
  • 🍂
    Appends to progress.md: - [x] CLI skeleton

Step 5 Next day

Re-open VS Code, start 🌊Flow Code, and ask:

“What did we finish yesterday?”

The AI quotes progress.md and continues seamlessly.


7. Updating, Uninstalling, and Co-existing With Native Roo Code Modes

7.1 Updating RooFlow

Re-run the same installer script. It will:

  • 🍂
    Overwrite .roo/ and .roomodes.
  • 🍂
    Re-run generate_mcp_yaml.py to pick up new MCP server details.

Caution: Manual edits inside .roo/ will be lost. Back them first.

7.2 Uninstalling

Delete these items from your project root:

  • 🍂
    .roo/ directory
  • 🍂
    .roomodes file
  • 🍂
    memory-bank/ directory (optional)
  • 🍂
    generate_mcp_yaml.py (if copied)

7.3 Co-existence

After installation you’ll see both sets of modes:

  • 🍂
    Native: Architect, Code, Debug, Ask
  • 🍂
    Flow: Flow-Architect, Flow-Code, etc.

You can switch at any time. The native modes ignore memory-bank/; Flow modes use it.


8. FAQ: Troubleshooting, Security, and Best Practices

Does RooFlow send my source code to the cloud?

No. Everything stays on your local disk. The installer only clones the public GitHub repo and writes local files.

Can I edit Memory Bank files by hand?

Yes. Use Markdown syntax. RooFlow will append new sections without destroying your edits.

How do I rename the Memory Bank folder?

The folder name is hard-coded as `memory-bank/`. Changing it requires editing the YAML prompts manually— not recommended.

My antivirus flags the installer script. What do I do?

The scripts are plain text. Review them in any editor; if satisfied, add an exception or run inside WSL/VM.

Can I use RooFlow with multi-root workspaces?

Each root needs its own install. Memory Bank is project-scoped, not workspace-scoped.

What happens if I mix Flow-Architect and native Architect in the same chat?

They operate independently. Flow-Architect writes to `memory-bank/`; native Architect does not. You may end up with duplicated effort.


9. Key Takeaways

  • 🍂
    Persistent context eliminates the need to re-explain your project every session.
  • 🍂
    YAML prompts reduce token usage, making long conversations cheaper.
  • 🍂
    Five specialized modes cover the entire dev cycle from planning to debugging.
  • 🍂
    Local-only storage keeps IP safe and satisfies compliance requirements.
  • 🍂
    Experimental—back up your project before major refactors.

Ready to give your AI assistant a long-term memory? Install RooFlow today and never repeat your project setup story again.

Exit mobile version