Still working on full MCP functionality in RooFlow modes. If you have issues, there is a global Default mode available which runs with the Roo Code default system prompt.
Persistent Project Context and Streamlined AI-Assisted Development
RooFlow enhances AI-assisted development in VS Code by providing persistent project context and optimized mode interactions, resulting in reduced token consumption and a more efficient workflow. It builds upon the concepts of the Roo Code Memory Bank, but streamlines the process and introduces a more integrated system of modes. RooFlow ensures your AI assistant maintains a deep understanding of your project across sessions, even after interruptions.
- Reduced Token Consumption: Optimized prompts and instructions minimize token usage.
- Five Integrated Modes: Architect, Code, Test, Debug, and Ask modes work together seamlessly.
- Simplified Setup: Easier installation and configuration.
- Streamlined Real-time Updates: More efficient and targeted Memory Bank updates.
- Clearer Instructions: Improved YAML-based rule files for better readability and maintainability.
flowchart LR
A["RooFlow"] --> D["Toolkit"]
A["RooFlow"] --> M["Real-time Updates"]
D --> C["Mode Rules"]
B["Memory Bank"] --> E["Product Context"] & N["Active Context"] & F["Decisions"] & G["Progress"]
C --> H["Architect"] & I["Code"] & J["Ask"] & K["Debug"] & L["Test"]
M["Real-time Updates"] --> B
- 🧠 Memory Bank: Persistent storage for project knowledge (automatically managed).
- 💻 System Prompts: YAML-based core instructions for each mode (
.roo/system-prompt-[mode]
). - 🔧 VS Code Integration: Seamless development experience within VS Code.
- ⚡ Real-time Updates: Automatic Memory Bank updates triggered by significant events.
- Install Roo Code Extension: Ensure you have the Roo Code extension installed in VS Code.
- Download RooFlow Files: Download the following files from this repository:
system-prompt-architect
system-prompt-ask
system-prompt-code
system-prompt-debug
system-prompt-test
.rooignore
.roomodes
insert-variables.cmd
For Windows OSinsert-variables.sh
For Unix/Linux/macOS
- Place Files in Project:
- Create a directory named
.roo
in your project's root directory. - Place the
system-prompt-[mode]
files inside the.roo
directory. - Place the
.rooignore
file in the project's root directory. (Or add !memory-bank/ to your existing .rooignore file) - Place the
.roomodes
file in the project's root directory (Or add its contents to your existing .roomodes file) - Place the appropriate
insert-variables.[sh/cmd]
script for your platform in the project's root directory.
Your project structure should look like this:
project-root
├── .roo
| ├── system-prompt-architect
| ├── system-prompt-ask
| ├── system-prompt-code
| ├── system-prompt-debug
| └── system-prompt-test
├── memory-bank (This directory will be created automatically by Roo after your first prompt)
| ├── activeContext.md
| ├── decisionLog.md
| ├── productContext.md
| ├── progress.md
| └── systemPatterns.md
├── .rooignore
├── .roomodes
└──insert-variables.[sh/cmd]
- Run insert-variables script
-
Open Command Prompt or PowerShell
-
Navigate to your project:
cd path\to\your\project
-
Run the script:
From Command Prompt:
insert-variables.cmd
From Powershell:
.\insert-variables.cmd
Troubleshooting (Windows)
- If you get "access denied" or execution policy errors:
- Open PowerShell as Administrator
- Run this command once:
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser
- Close Administrator PowerShell
- Try running the script again from your project directory
- If you see "Error: .roo directory not found", verify your directory structure.
- If using PowerShell 7+, run as:
cmd /c insert-variables.cmd
-
Open Terminal
-
Navigate to your project:
cd path/to/your/project
-
Make the script executable:
chmod +x insert-variables.sh
-
Run the script:
./insert-variables.sh
Troubleshooting (Unix/Linux/macOS)
- If you see "Permission denied", run:
sudo chmod +x insert-variables.sh
- If you see "Error: .roo directory not found", verify your directory structure
The script will:
- Detect your system configuration
- Process each system prompt file
- Show "Processing" and "Completed" messages for each file
- Display "Done" when finished
The script replaces these placeholders with your system-specific values:
- OS_PLACEHOLDER (e.g., "Windows 10 Pro" or "Ubuntu 22.04")
- SHELL_PLACEHOLDER (e.g., "cmd" or "bash")
- HOME_PLACEHOLDER (your home directory)
- WORKSPACE_PLACEHOLDER (your project directory)
- GLOBAL_SETTINGS_PLACEHOLDER (Roo Code global settings path)
- MCP_LOCATION_PLACEHOLDER (Roo Code MCP directory path)
- MCP_SETTINGS_PLACEHOLDER (Roo Code MCP settings path)
After running the script:
- Verify that
.roo/system-prompt-*
files contain your system paths - Start using VS Code with the Roo Code extension
- The Memory Bank will be initialized on first use
- Start a Chat: Open a new Roo Code chat in your project.
- Select a Mode: Choose the appropriate mode (Architect, Code, Test, Debug, Ask) for your task.
- Interact with Roo: Give Roo instructions and ask questions. Roo will automatically use the Memory Bank to maintain context.
- Memory Bank Initialization: If you start a chat in a project without a
memory-bank/
directory, Roo will suggest switching to Architect mode and guide you through the initialization process. - "Update Memory Bank" Command: At any time, you can type "Update Memory Bank" or "UMB" to force a synchronization of the chat session's information into the Memory Bank. This is useful for ensuring continuity across sessions or before switching modes.
The Memory Bank is a directory named memory-bank
located in your project's root. It contains several Markdown files that store different aspects of your project's knowledge:
File | Purpose |
---|---|
activeContext.md |
Tracks the current session's context: recent changes, current goals, and open questions/issues. |
decisionLog.md |
Records architectural and implementation decisions, including the context, decision, rationale, and implementation details. |
productContext.md |
Provides a high-level overview of the project, including its goals, features, and overall architecture. |
progress.md |
Tracks the progress of the project, including completed work, current tasks, and next steps. Uses a task list format. |
systemPatterns.md |
(Optional) Documents recurring patterns and standards used in the project (coding patterns, architectural patterns, testing patterns). |
RooFlow automatically manages these files. You generally don't need to edit them directly, although you can review them to understand the AI's knowledge.
RooFlow remembers project details across sessions, maintaining a consistent understanding of your codebase, design decisions, and progress.
The Memory Bank is updated automatically based on significant events within each mode, ensuring that the context is always up-to-date.
The five modes (Architect, Code, Test, Debug, Ask) are designed to work together seamlessly. They can switch between each other as needed, and they share information through the Memory Bank.
RooFlow is designed to use fewer tokens than previous systems, making it more efficient and cost-effective.
The command "Update Memory Bank" or "UMB" can be given at any time to update the memory bank with information from the current chat session.
Contributions to RooFlow are welcome! Please see the CONTRIBUTING.md file (you'll need to create this) for guidelines.