refactor: update modes and documentation

This commit is contained in:
Roo 2025-06-10 14:21:20 +02:00
parent 664a0955e2
commit a85602fd26
2 changed files with 98 additions and 66 deletions

15
.github/buymeacoffee vendored
View file

@ -1,15 +0,0 @@
# These are supported funding model platforms
github: enescingoz
patreon: # Replace with a single Patreon username
open_collective: # Replace with a single Open Collective username
ko_fi: # Replace with a single Ko-fi username
tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel
community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry
liberapay: # Replace with a single Liberapay username
issuehunt: # Replace with a single IssueHunt username
lfx_crowdfunding: # Replace with a single LFX Crowdfunding project-name e.g., cloud-foundry
polar: # Replace with a single Polar username
buy_me_a_coffee: enescingoz
thanks_dev: # Replace with a single thanks.dev username
custom: # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2']

149
README.md
View file

@ -1,5 +1,5 @@
# roocode-workspace # roomode-advanced
The roocode-workspace repository is a powerful and flexible workspace template designed specifically for developers using Roo Code. It provides an optimized environment to streamline project development through SPARC orchestration and AI-assisted workflows in Visual Studio Code (VS Code). The roomode-advanced repository is a powerful and flexible workspace template designed specifically for developers using Roo Code. It provides an optimized environment to streamline project development through SPARC orchestration and AI-assisted workflows in Visual Studio Code (VS Code).
This repository introduces enhanced modes that make it easier to develop, manage, and maintain your projects efficiently. By leveraging persistent project context and fine-tuned mode interactions, it minimizes token consumption while maximizing productivity. This repository introduces enhanced modes that make it easier to develop, manage, and maintain your projects efficiently. By leveraging persistent project context and fine-tuned mode interactions, it minimizes token consumption while maximizing productivity.
@ -7,17 +7,13 @@ This repository introduces enhanced modes that make it easier to develop, manage
--- ---
## Sources ## Credits
This workspace was created by **Enes Çingöz**.
This project builds upon the work of:
- **RooFlow (0.3.6)**: https://github.com/GreatScottyMac/RooFlow - **RooFlow (0.3.6)**: https://github.com/GreatScottyMac/RooFlow
- **roocode-modes**: https://github.com/enescingoz/roocode-modes - **roocode-modes**: https://github.com/enescingoz/roocode-modes
- https://www.linkedin.com/pulse/boomerang-tasks-automating-code-development-roo-sparc-reuven-cohen-nr3zc - An article by Reuven Cohen on Boomerang Tasks: https://www.linkedin.com/pulse/boomerang-tasks-automating-code-development-roo-sparc-reuven-cohen-nr3zc
---
☕ Before exploring the quick installation steps, grab your coffee-and if you enjoy my work, dont forget to buy me a coffee!
<a href="https://buymeacoffee.com/enescingoz" target="_blank"><img src="https://cdn.buymeacoffee.com/buttons/default-orange.png" alt="Buy Me A Coffee" height="41" width="174"></a>
--- ---
@ -25,9 +21,24 @@ This repository introduces enhanced modes that make it easier to develop, manage
### Requirements ### Requirements
- Vscode as an editor - Vscode as an editor
### Quick Setup (Single File)
If you only want to use the custom modes without cloning the entire repository, you can download the `.roomodes` file directly into your project's root directory.
**Using curl:**
```bash
curl -o .roomodes https://raw.githubusercontent.com/benzntech/roocode-workspace/main/.roomodes
```
**Using wget:**
```bash
wget -O .roomodes https://raw.githubusercontent.com/benzntech/roocode-workspace/main/.roomodes
```
---
### Instructions ### Instructions
1. **Create a Repository from Template** 1. **Create a Repository from Template**
Click the `Use this template` button located at the top-right of the [repository page](https://github.com/enescingoz/roocode-workspace). This will allow you to create a new repository based on the template. Click the `Use this template` button located at the top-right of the [repository page](https://github.com/benzntech/roocode-workspace). This will allow you to create a new repository based on the template.
2. **Initialize Your Project Repository** 2. **Initialize Your Project Repository**
After selecting the template, click the `Create a new repository` button to generate your own repository for the project. After selecting the template, click the `Create a new repository` button to generate your own repository for the project.
@ -53,94 +64,137 @@ This repository introduces enhanced modes that make it easier to develop, manage
--- ---
## Modes ## Modes
### ⚡️ SPARC Orchestrator (including memory bank)
**Role:** Breaks down large objectives into delegated subtasks aligned to the SPARC methodology. ### ⚡️ Orchestrator
**Role:** A strategic workflow orchestrator who breaks down complex tasks and delegates them to specialized modes.
**Focus:** Secure, modular, testable, and maintainable delivery using advanced reasoning models. **Focus:** Secure, modular, testable, and maintainable delivery using advanced reasoning models.
--- ---
### 📋 Specification & Pseudocode (including memory bank) ### 📋 Specification & Pseudocode
**Role:** Captures the complete project context and produces a modular pseudocode blueprint with TDD anchors. **Role:** Translates project requirements into modular pseudocode with TDD anchors.
**Focus:** Clear, modular design; externalizes configuration; splits complex logic across modules. **Focus:** Clear, modular design; externalizes configuration; splits complex logic across modules.
--- ---
### 🏗️ Architect (including memory bank) ### 🏗️ Architect
**Role:** Designs scalable, secure, and modular architectures based on requirements and pseudocode. **Role:** Designs scalable, secure, and modular architectures based on requirements and pseudocode.
**Focus:** Detailed system diagrams, data flows, API boundaries, and service segmentation. **Focus:** Detailed system diagrams, data flows, API boundaries, and service segmentation.
--- ---
### 🧠 Code (including memory bank) ### 🧠 Code
**Role:** Implements robust, efficient code using externalized configurations. **Role:** Implements robust, efficient code using externalized configurations.
**Focus:** Clean, modular code split into files under 500 lines, with no hard-coded secrets. **Focus:** Clean, modular code split into files under 500 lines, with no hard-coded secrets.
--- ---
### 🧪 TDD (including memory bank) ### 🧪 TDD
**Role:** Enforces Test-Driven Development by writing failing tests first and then minimal code followed by refactoring. **Role:** Enforces Test-Driven Development by writing failing tests first and then minimal code followed by refactoring.
**Focus:** Thorough test coverage, modular test files, and adherence to security practices. **Focus:** Thorough test coverage, modular test files, and adherence to security practices.
--- ---
### 🪲 Debug (including memory bank) ### 🪲 Debug
**Role:** Troubleshoots and resolves runtime issues using logging, tracing, and analysis tools. **Role:** Troubleshoots and resolves runtime issues using logging, tracing, and analysis tools.
**Focus:** Isolates and fixes bugs while keeping fixes modular and secure. **Focus:** Isolates and fixes bugs while keeping fixes modular and secure.
--- ---
### 🛡️ Security Reviewer (including memory bank) ### 🛡️ Security Reviewer
**Role:** Audits code and architecture to identify vulnerabilities and enforce secure practices. **Role:** Audits code and architecture to identify vulnerabilities and enforce secure practices.
**Focus:** Detects exposed secrets, oversized files, and non-modular code, recommending necessary mitigations. **Focus:** Detects exposed secrets, oversized files, and non-modular code, recommending necessary mitigations.
--- ---
### 📚 Documentation Writer (including memory bank) ### 📚 Documentation Writer
**Role:** Produces clear, comprehensive Markdown documentation for usage, configuration, and integration. **Role:** Produces clear, comprehensive Markdown documentation for usage, configuration, and integration.
**Focus:** Modular documentation (files under 500 lines) that avoids exposing sensitive data. **Focus:** Modular documentation (files under 500 lines) that avoids exposing sensitive data.
--- ---
### 🔗 Integrator (including memory bank) ### 🔗 Integrator
**Role:** Merges outputs from all specialized modes into a cohesive final product. **Role:** Merges outputs from all specialized modes into a cohesive final product.
**Focus:** Seamless integration of components ensuring modularity and adherence to security standards. **Focus:** Seamless integration of components ensuring modularity and adherence to security standards.
--- ---
### 📈 Post-Deployment Monitor (including memory bank) ### 📈 Post-Deployment Monitor
**Role:** Monitors system performance post-deployment, collecting metrics, logs, and user feedback. **Role:** Monitors system performance post-deployment, collecting metrics, logs, and user feedback.
**Focus:** Continuous monitoring with secure, modular configurations and prompt escalation of issues. **Focus:** Continuous monitoring with secure, modular configurations and prompt escalation of issues.
--- ---
### 🧹 Optimizer (including memory bank) ### 🧹 Optimizer
**Role:** Continuously refines and optimizes the codebase for performance, modularity, and maintainability. **Role:** Continuously refines and optimizes the codebase for performance, modularity, and maintainability.
**Focus:** Refactoring, splitting large files, and externalizing configurations to meet best practices. **Focus:** Refactoring, splitting large files, and externalizing configurations to meet best practices.
--- ---
### ❓ Ask (including memory bank) ### ❓ Ask
**Role:** Guides users in formulating precise, modular requests to delegate tasks to the correct specialized modes. **Role:** Guides users in formulating precise, modular requests to delegate tasks to the correct specialized modes.
**Focus:** Providing task formulation and delegation strategies for effective inquiries. **Focus:** Providing task formulation and delegation strategies for effective inquiries.
--- ---
### 🚀 DevOps (including memory bank) ### 🚀 DevOps
**Role:** Manages deployments and infrastructure operations across cloud providers, edge platforms, and internal environments. **Role:** Manages deployments and infrastructure operations across cloud providers, edge platforms, and internal environments.
**Focus:** Secure, traceable, and automated deployments using CI/CD pipelines and managed configuration with no hard-coded credentials. **Focus:** Secure, traceable, and automated deployments using CI/CD pipelines and managed configuration with no hard-coded credentials.
--- ---
### 📘 SPARC Tutorial (including memory bank) ### 📘 SPARC Tutorial
**Role:** Guides new users through the SPARC development process using structured thinking models and clear task delegation with `new_task`. **Role:** Guides new users through the SPARC development process using structured thinking models and clear task delegation with `new_task`.
**Focus:** Educates on modular project setup, best practices (no hard-coded environment variables; files under 500 lines), and effective mode-to-mode handoffs with concise completions via `attempt_completion`. **Focus:** Educates on modular project setup, best practices (no hard-coded environment variables; files under 500 lines), and effective mode-to-mode handoffs with concise completions via `attempt_completion`.
--- ---
## Configuration Optimization (Token Usage Improvement)
### 🪃 Boomerang mode (including memory bank) To improve performance, maintainability, and reduce token consumption, the `.roomodes` configuration has been optimized. This "fork" of the original configuration focuses on consolidating redundant instructions and clarifying the roles of each mode.
**Role:** A strategic workflow orchestrator who efficiently coordinates complex tasks by delegating them to specialized modes. Ensures seamless task breakdown, delegation, and synthesis of results using structured tools and memory tracking.
**Focus:** Facilitates modular workflows by leveraging mode-specific expertise and maintaining clarity in task delegation. Uses the memory bank to track progress, analyze outcomes, and optimize workflows for improved efficiency. ### The Problem: Redundancy and Verbosity
The original `.roomodes` file contained significant repetition across mode definitions:
- **Repeated Instructions**: Common rules about file size limits (`< 500 lines`), use of `attempt_completion`, and prohibitions on hardcoding secrets were repeated in many modes.
- **Verbose Definitions**: Role definitions and custom instructions were lengthy.
- **Overlapping Roles**: Orchestrator modes like `sparc` and `boomerang` had similar functions.
### The Solution: A Streamlined Approach
The optimization plan is based on the following principles:
1. **Core Principles**: A set of common rules is established and referenced, rather than repeated. These are:
* **Modularity**: Keep files under 500 lines.
* **Security**: Never hardcode secrets or environment variables.
* **Clarity**: Use `attempt_completion` to signal completion with a clear summary.
* **Delegation**: Use `new_task` to delegate subtasks to other modes.
2. **Consolidated Orchestration**: The `sparc` and `boomerang` modes are merged into a single, primary orchestrator to simplify the workflow.
3. **Concise Instructions**: Each mode's instructions are rewritten to be direct and focused on its unique responsibilities.
### Visualizing the New Workflow
This diagram illustrates the simplified mode hierarchy:
```mermaid
graph TD
subgraph "Original Structure"
direction LR
U1[User] --> A[ask];
U1 --> S[sparc];
U1 --> B[boomerang];
end
subgraph "Optimized Structure"
direction LR
U2[User] --> Ask_New[ask];
Ask_New --> Orchestrator_New[Orchestrator];
Orchestrator_New --> Specialist_Modes[Specialist Modes];
end
```
This streamlined approach reduces complexity and makes the development workflow more intuitive.
--- ---
@ -159,12 +213,5 @@ roocode-workflow automatically manages these files. You generally don't need to
--- ---
## Credits
- **RooFlow (0.3.6)**: https://github.com/GreatScottyMac/RooFlow
- **roocode-modes**: https://github.com/enescingoz/roocode-modes
- https://www.linkedin.com/pulse/boomerang-tasks-automating-code-development-roo-sparc-reuven-cohen-nr3zc
---
## License ## License
[Apache 2.0](https://github.com/enescingoz/roocode-workspace/blob/main/LICENSE) [Apache 2.0](https://github.com/benzntech/roocode-workspace/blob/main/LICENSE)