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.
Function List
- Project records : Automatically saves code, decisions, and task progress stored in the
memory-bank
directory that supports consistency across sessions. - Five modes of collaboration ::
- Architecture model: planning the project structure, generating
projectBrief.md
etc. - 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.
- Architecture model: planning the project structure, generating
- 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 the
progress.md
The - 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:
- Preparing the environment ::
- Install VS Code and Roo Code extensions.
- Make sure the system is installed
git
, which can be downloaded from git-scm.com. - Make sure the project directory is empty or initialized, it is recommended to include the
.roo
folder is used to store the configuration.
- 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
- Windows (Command Prompt or PowerShell):
- Open a terminal and switch to the project root directory (
- Run the installation script ::
- Windows:
.\install_rooflow.cmd
- Linux/macOS:
chmod +x install_rooflow.sh && ./install_rooflow.sh
- The script checks the
git
availability, download the RooFlow repository, move the configuration file to the.roo
folder, inject the workspace path, and automatically delete temporary files.
- Windows:
- Verify Installation ::
- Check if the project root directory contains
.roo
folders and.roomodes
Documentation. - show (a ticket)
.roo/system-prompt-*
Documentation, confirmingWORKSPACE_PLACEHOLDER
has been replaced with the actual path. - Run the Roo Code command in VS Code to check if the five modes are available.
- Check if the project root directory contains
- 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 (
Default
maybeCoordinator
If 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.
- Default mode role definition:
- Click "Create Mode" to save.
Updating RooFlow
- Rerunning the install script overwrites
.roo
folders and.roomodes
file, 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 type
Activate Memory Bank
The - If the project has no
memory-bank
directory, the system switches to architecture mode to bootstrap the initialization and generate theactiveContext.md
,decisionLog.md
,productContext.md
,progress.md
etc.
- In the Roo Code chat screen type
- update ::
- input
Update Memory Bank
maybeUMB
, synchronizes the current session information to the project record.
- input
- ferret out ::
- show (a ticket)
memory-bank
directory, view theprogress.md
(Task list),decisionLog.md
(Record of Decision), etc.
- show (a ticket)
- 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
- architectural model ::
- Input:
new_task: mode: architect message: | 规划一个Web应用的项目结构
- The system generates the project structure and saves it to the
projectBrief.md
The
- Input:
- coding mode ::
- Input:
new_task: mode: code message: | 编写一个Python函数处理JSON数据
- Generate code to record to the
memory-bank/activeContext.md
The
- Input:
- test pattern ::
- Input:
new_task: mode: test message: | 为Python函数生成单元测试
- Generate test cases, save them to the
memory-bank/test.md
The
- Input:
- debug mode ::
- Input:
new_task: mode: debug message: | 修复Python函数中的KeyError
- Provide recommendations for fixes, documented to
decisionLog.md
The
- Input:
- question and answer mode ::
- Input:
new_task: mode: ask message: | 如何优化Python循环性能?
- Answer in conjunction with project records, appropriate for project-related questions.
- Input:
Footgun Customization
- compiler
.roo/system-prompt-*
Documentation that adjusts the behavior of the model. - Example: Modification
system-prompt-code
::优先使用函数式编程,代码风格遵循PEP 8。
- Add a new model:
- modifications
modules/modes.yml
, add a new schema definition. - update
rooflow_core_prompt.yaml
cap (a poem)system-prompt-[新模式]
Joinmemory_bank_strategy.yml
The - exist
.roomodes
Add a new mode entry.
- modifications
- warnings : Footgun modifications may cause abnormal AI behavior, backup is recommended!
.roo
Folder.
MCP Support
- exist
system-prompt-[mode]
(used form a nominal expression)MCP_SERVERS_PLACEHOLDER
Add 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
.roo
folder, 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
- 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. - Teamwork
Team Sharingmemory-bank
Folders for quick access to project progress and architectural decisions for more efficient collaboration. - Rapid Prototyping
Rapidly prototype projects using five patterns for beginners learning to code, test, and debug. - Low-cost AI development
Optimize token usage and reduce AI call costs for indie developers with limited budgets. - Customizing the development process
Adapt AI behavior to specific project needs, such as a particular coding style or testing strategy, with Footgun features.
QA
- 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. - How do I resolve installation failure issues?
probegit
and network connection, make sure the Roo Code extension is installed. If that fails, remove the.roo
folder and re-run the script. - 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. - How do I add a new model?
modificationsmodes.yml
cap (a poem)rooflow_core_prompt.yaml
Updatessystem-prompt-[新模式]
in.roomodes
To add entries, refer to modules. - How do I contribute code?
Visit the GitHub repository, submit a Pull Request, follow theCONTRIBUTING.md
Guide.