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
-
Why Project Memory Fails in Standard Roo Code -
What Exactly Is RooFlow? -
The Five Flow Modes and Their Superpowers -
Memory Bank Deep-Dive: Your Project’s Long-Term Memory -
Step-by-Step Installation (Windows, macOS, Linux) -
First-Run Tutorial: From Empty Folder to Fully Contextualized AI Chat -
Updating, Uninstalling, and Co-existing With Native Roo Code Modes -
FAQ: Troubleshooting, Security, and Best Practices -
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
-
Verifies git
,python
, andpyyaml
. -
Clones the RooFlow repo into a temp folder. -
Copies .roo/
and.roomodes
to your project root. -
Runs generate_mcp_yaml.py
, replacing placeholders likeWORKSPACE_PLACEHOLDER
with your absolute path. -
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
-
Launch Roo Code chat. -
Select 🌊Flow Architect. -
The AI detects no memory-bank/
and asks “Initialize?” -
Reply yes
. -
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.