mirror of
https://github.com/enescingoz/roocode-workspace.git
synced 2025-09-02 18:50:04 +00:00
refactor: update modes and documentation
This commit is contained in:
parent
664a0955e2
commit
a85602fd26
2 changed files with 98 additions and 66 deletions
15
.github/buymeacoffee
vendored
15
.github/buymeacoffee
vendored
|
@ -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
149
README.md
|
@ -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, don’t 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)
|
||||||
|
|
Loading…
Add table
Reference in a new issue