AI Personal Learning
and practical guidance
TRAE

RooFlow: A Memory Enhancement System Based on Roo Code Extension

General Introduction

RooFlow is an open-source AI-assisted programming tool with the core function of preserving code, decisions, and task progress during development through project logging. It is based onRoo CodeExtension that integrates five modes: architecture, coding, testing, debugging, and Q&A. These modes collaborate with each other to help developers seamlessly switch between tasks in a project and automatically save relevant information.RooFlow supports deep customization of AI behaviors through the Footgun feature, while optimizing token usage and reducing costs. It is suitable for programmers who need long-term project management and efficient development. The project is open source on GitHub with an active community and continuous updates for VS Code environment.

RooFlow: A Memory System Based on Roo Code Extension-1


 

Function List

  • Project records : Automatically saves code, decisions, and task progress stored in thememory-bankdirectory that supports consistency across sessions.
  • Five modes of collaboration ::
    • Architecture model: planning the project structure, generatingprojectBrief.mdetc.
    • Coding mode: aids in writing code and documents the coding process.
    • Test Mode: Generate test cases and manage the testing process.
    • Debugging mode: analyze code errors and provide suggestions for fixing them.
    • Q&A mode: answer development questions and provide relevant answers in conjunction with project records.
  • Footgun Customization : Supports users in adjusting AI behavior and modifying pattern cue words to suit specific needs.
  • Efficient Token Use : Optimize cue word design to reduce token consumption for AI interactions and reduce costs.
  • real time update : Automatically update project records based on important events in the model to keep information current.
  • Task tracking : Generate task lists, record completed and pending items, store in theprogress.mdThe
  • MCP Support : Expanded functionality by connecting to local or remote servers via model context protocols.
  • Default and harmonized mode : Provides global default mode and coordination mode to manage complex tasks.

 

Using Help

Installation process

RooFlow relies on the Roo Code extension, which needs to be installed in the VS Code environment. Here are the detailed steps:

  1. Preparing the environment ::
    • Install VS Code and Roo Code extensions.
    • Make sure the system is installedgit, which can be downloaded from git-scm.com.
    • Make sure the project directory is empty or initialized, it is recommended to include the.roofolder is used to store the configuration.
  2. Download and install the script ::
    • Open a terminal and switch to the project root directory (cd 项目路径).
    • Download the script:
      • Windows (Command Prompt or PowerShell):
        curl -L -o install_rooflow.cmd https://raw.githubusercontent.com/GreatScottyMac/RooFlow/main/config/install_rooflow.cmd
        
      • Linux/macOS (bash/zsh):
        curl -L -o install_rooflow.sh https://raw.githubusercontent.com/GreatScottyMac/RooFlow/main/config/install_rooflow.sh
        
  3. Run the installation script ::
    • Windows:
      .\install_rooflow.cmd
      
    • Linux/macOS:
      chmod +x install_rooflow.sh && ./install_rooflow.sh
      
    • The script checks thegitavailability, download the RooFlow repository, move the configuration file to the.roofolder, inject the workspace path, and automatically delete temporary files.
  4. Verify Installation ::
    • Check if the project root directory contains.roofolders and.roomodesDocumentation.
    • show (a ticket).roo/system-prompt-*Documentation, confirmingWORKSPACE_PLACEHOLDERhas been replaced with the actual path.
    • Run the Roo Code command in VS Code to check if the five modes are available.
  5. Installation of default and harmonized mode (Optional):
    • Open the Roo Code interface of VS Code and click on the "Prompts" icon (book icon).
    • Click "+" in the "Modes" section to add a new mode.
    • Enter the mode name (DefaultmaybeCoordinatorIf you want to save the file, select "Global" to store it.
    • Fill in role definitions and custom commands:
      • Default mode role definition:
        A custom, global mode in Roo Code, using the Roo Code default rules and instructions, along with the custom instruction set for memory bank functionality. Typically called upon when a functionality is not working correctly with the other custom modes. You should have a very broad range of knowledge and abilities.
        
      • Coordination Model Role Definition:
        You are Roo, a strategic workflow orchestrator who coordinates complex tasks by delegating them to appropriate specialized modes. You have a comprehensive understanding of each mode's capabilities and limitations, allowing you to effectively break down complex problems into discrete tasks that can be solved by different specialists.
        
    • Click "Create Mode" to save.

Updating RooFlow

  • Rerunning the install script overwrites.roofolders and.roomodesfile, updated to the latest version.

Using the main functions

The core of RooFlow is the project record and the five modes, here is a detailed guide to how to do it:

Project records

  • initialization ::
    • In the Roo Code chat screen typeActivate Memory BankThe
    • If the project has nomemory-bankdirectory, the system switches to architecture mode to bootstrap the initialization and generate theactiveContext.md,decisionLog.md,productContext.md,progress.mdetc.
  • update ::
    • inputUpdate Memory BankmaybeUMB, synchronizes the current session information to the project record.
  • ferret out ::
    • show (a ticket)memory-bankdirectory, view theprogress.md(Task list),decisionLog.md(Record of Decision), etc.
  • take note of : Project records are automatically managed without the need for manual editing, but files can be inspected for AI record content.

Five models

  1. architectural model ::
    • Input:
      new_task:
      mode: architect
      message: |
      规划一个Web应用的项目结构
      
    • The system generates the project structure and saves it to theprojectBrief.mdThe
  2. coding mode ::
    • Input:
      new_task:
      mode: code
      message: |
      编写一个Python函数处理JSON数据
      
    • Generate code to record to thememory-bank/activeContext.mdThe
  3. test pattern ::
    • Input:
      new_task:
      mode: test
      message: |
      为Python函数生成单元测试
      
    • Generate test cases, save them to thememory-bank/test.mdThe
  4. debug mode ::
    • Input:
      new_task:
      mode: debug
      message: |
      修复Python函数中的KeyError
      
    • Provide recommendations for fixes, documented todecisionLog.mdThe
  5. question and answer mode ::
    • Input:
      new_task:
      mode: ask
      message: |
      如何优化Python循环性能?
      
    • Answer in conjunction with project records, appropriate for project-related questions.

Footgun Customization

  • compiler.roo/system-prompt-*Documentation that adjusts the behavior of the model.
  • Example: Modificationsystem-prompt-code::
    优先使用函数式编程,代码风格遵循PEP 8。
    
  • Add a new model:
    • modificationsmodules/modes.yml, add a new schema definition.
    • updaterooflow_core_prompt.yamlcap (a poem)system-prompt-[新模式]Joinmemory_bank_strategy.ymlThe
    • exist.roomodesAdd a new mode entry.
  • warnings : Footgun modifications may cause abnormal AI behavior, backup is recommended!.rooFolder.

MCP Support

  • existsystem-prompt-[mode](used form a nominal expression)MCP_SERVERS_PLACEHOLDERAdd server configuration:
    • Local: Use standard inputs/outputs.
    • Remote: Use HTTP/HTTPS Server Events (SSE).
  • Example:
    MCP_SERVERS: http://example.com/mcp
    

Default and harmonized mode

  • Default mode: Use Roo Code default prompts, suitable for when other modes fail.
  • Coordination model: manages complex tasks, breaks down problems and assigns them to other models.
  • Select the mode in the Roo Code screen and enter the task directly.

caveat

  • RooFlow completely replaces Roo Code prompt words, which may affect the original function, so it is recommended to try it in a test project.
  • If AI behavior is abnormal, delete.roofolder, install Roo Code Memory Bank to restore the default prompts.
  • Regularly check for GitHub repository updates and run the install script to keep it up to date.

 

application scenario

  1. Long-term project development
    Developers need to keep records in complex projects, and RooFlow's project records keep code, decisions, and tasks for cross-session development.
  2. Teamwork
    Team Sharingmemory-bankFolders for quick access to project progress and architectural decisions for more efficient collaboration.
  3. Rapid Prototyping
    Rapidly prototype projects using five patterns for beginners learning to code, test, and debug.
  4. Low-cost AI development
    Optimize token usage and reduce AI call costs for indie developers with limited budgets.
  5. Customizing the development process
    Adapt AI behavior to specific project needs, such as a particular coding style or testing strategy, with Footgun features.

 

QA

  1. What is the difference between RooFlow and Roo Code Memory Bank?
    RooFlow enhances the Roo Code Memory Bank by adding Footgun customization, optimized token usage, and five modes of collaboration to simplify installation and live updates.
  2. How do I resolve installation failure issues?
    probegitand network connection, make sure the Roo Code extension is installed. If that fails, remove the.roofolder and re-run the script.
  3. Is the Footgun feature safe?
    Footgun supports deep customization, but may result in abnormal AI behavior. It is recommended to backup the configuration file and modify it carefully.
  4. How do I add a new model?
    modificationsmodes.ymlcap (a poem)rooflow_core_prompt.yamlUpdatessystem-prompt-[新模式]in.roomodesTo add entries, refer to modules.
  5. How do I contribute code?
    Visit the GitHub repository, submit a Pull Request, follow theCONTRIBUTING.mdGuide.
May not be reproduced without permission:Chief AI Sharing Circle " RooFlow: A Memory Enhancement System Based on Roo Code Extension
en_USEnglish