๐ rooroo (ๅฆๅฆ): Minimalist AI Orchestration with Specialist Agents ๐
Version: v0.6.3 | Changelog | v0.6.0 Details | v0.5.0 Details
rooroo is a minimalist AI orchestration framework for VS Code, designed to streamline software development using a team of specialized Rooroo agents. It emphasizes a clear, Navigator-led workflow, efficient task management, and robust communication, all while incorporating advanced prompting techniques for enhanced reliability.
๐ค The Philosophy: "rooroo (ๅฆๅฆ)" - Thusness
Inspired by Buddhist philosophy, "ๅฆๅฆ" (rรบ rรบ) or "Thusness" reflects the idea of an underlying, consistent nature. This informs rooroo's minimalist approach, focusing on the essential, specialized role of each agent.
โ๏ธ Core Principles
-
Navigator-Led Orchestration: The ๐งญ Rooroo Navigator is your central guide, managing task flows, user interactions, and expert agent coordination with concise communication.
-
Specialized Agent Team: A lean team of focused AI agents:
-
๐๏ธ Rooroo Planner: Decomposes complex goals.
-
๐งโ๐ป Rooroo Developer: Crafts code and UIs.
-
๐ Rooroo Analyzer: Investigates and delivers insights.
-
โ๏ธ Rooroo Documenter: Creates clear documentation.
-
๐ก Rooroo Idea Sparker: Acts as a Strategic Foresight Facilitator, guiding users through a structured process to explore problems, evaluate solutions, and produce a detailed Handoff Document. This document serves as a comprehensive blueprint, ready for delegation to execution agents. Its outputs are stored in
.rooroo/brainstorming/. -
Structured Workflow & Communication:
-
Task Management: Uses
.rooroo/queue.jsonlfor pending tasks. -
Detailed Briefings: Tasks are detailed in
.rooroo/tasks/TASK_ID/context.md, prioritizing links over embedded content. -
Organized Artifacts: Outputs are stored in
.rooroo/tasks/TASK_ID/. -
Clear Reporting: Agents use a structured JSON "Output Envelope" to report to the Navigator.
-
Event Logging: Key events are logged with severity in
.rooroo/logs/activity.jsonl. -
Key Operational Guidelines:
-
Minimalism & Specialization: Focused roles for clarity.
-
Concise Context (Link, Don't Embed): Efficient briefings.
-
Principle of Least Assumption: Agents clarify ambiguities, don't guess.
-
Consistent Task IDs:
ROO#prefixes for easy tracking. -
Cost-Effectiveness: Uses appropriate LLM tiers per agent.
-
Workspace-Relative Paths: Simplifies file referencing.
-
Customizable Agent Behavior (Optional): Utilize the
.roo/rules/directory for workspace-wide custom instructions to tailor agent behavior, aligning with Roo Code best practices for organization and potential performance improvements.
๐ Quick Start & Core Workflow
Using rooroo involves these main steps:
-
Setup: Install Roo Code VS Code extension.
-
Load your
.roomodesfile. -
For Roo Code v3.18.0 and later: You can use the YAML format for
.roomodes. -
For Roo Code versions earlier than v3.18.0: You must use the JSON format for
.roomodes(e.g.,.roomodes.json). -
Reload VS Code.
-
(Optional: For advanced customization, create a
.roo/rules/directory and add custom instruction files to tailor agent behavior across your workspace.) -
Initiate: Select ๐งญ Rooroo Navigator and state your goal.
-
Navigator Triage: The Navigator assesses your request:
-
For complex/uncertain tasks, it engages the ๐๏ธ Rooroo Planner to break it down into sub-tasks with
context.mdbriefings. These go into the.rooroo/queue.jsonl. -
For simple, clear single-expert tasks (Developer, Analyzer, Documenter only), it prepares
context.mdand may execute directly or queue the task. -
If ambiguous, it asks you for clarification.
-
Execution: The Navigator dispatches tasks from the queue to the assigned Rooroo expert. The expert uses its
context.mdand stores outputs in.rooroo/tasks/TASK_ID/. -
Reporting: The expert returns a JSON Output Envelope (status, message, artifacts) to the Navigator.
-
Processing & Iteration: The Navigator parses the envelope:
-
NeedsClarification: Relays question to you. -
Done/Failed: Logs event, updates queue, informs you. Auto-proceeds with plans if applicable. -
Monitor: Track progress via
.rooroo/queue.jsonland.rooroo/logs/activity.jsonl.
(Refer to the Workflow Diagram below for a visual representation.)
๐ค The Agent Team at a Glance
Each Rooroo agent adheres to core principles like the Principle of Least Assumption and Concise Context File Preparation (linking over embedding).
-
๐งญ Rooroo Navigator (โก Cheap/Fast Recommended): Your primary interface. Manages interactions, triages tasks, dispatches from the queue, processes expert reports, and logs events. Prioritizes concise communication.
-
๐๏ธ Rooroo Planner (๐ง Smart/Expensive Recommended): Decomposes complex goals into sub-tasks for the Developer, Analyzer, or Documenter. Creates their
context.mdbriefings and can flag ambiguous expert choices for the Navigator to resolve. -
๐งโ๐ป Rooroo Developer (Custom / Varies): Executes coding tasks based on
context.md. Stores outputs in its task folder or modifies project files. -
๐ Rooroo Analyzer (โก Cheap/Fast Recommended): Performs analysis based on
context.md. Generates reports in its task folder. -
โ๏ธ Rooroo Documenter (โก Cheap/Fast Recommended): Creates/updates documentation based on
context.md. Stores outputs in its task folder. -
๐ก Rooroo Idea Sparker (๐ง Smart/Expensive Recommended): Acts as a Strategic Foresight Facilitator, guiding users through a structured process to explore problems, evaluate solutions, and produce a detailed Handoff Document. This document serves as a comprehensive blueprint, ready for delegation to execution agents. Its outputs are stored in
.rooroo/brainstorming/.
Balance LLM tiers per agent for optimal cost and capability.
๐ Directory Structure at a Glance
rooroo uses a clear, workspace-relative structure under the .rooroo/ directory for all its operations and artifacts.
<Project Root>/
โโโ .rooroo/ # Core rooroo operational directory
โ โโโ queue.jsonl # Pending Tasks (JSON objects, one per line, ROO# IDs, strictly parsable)
โ โโโ logs/
โ โ โโโ activity.jsonl # Activity Log (JSON objects, one per line, written by Navigator with escaped JSON)
โ โโโ rules/ # Optional: Workspace-wide custom instruction files (e.g., 01-general.md)
โ โโโ tasks/ # Directory for all task-specific data
โ โ โโโ ROO#PLAN_20240101120000_initial_project/ # Example Planner Task Directory
โ โ โ โโโ context.md # Briefing FOR the Planner (concise, uses links)
โ โ โโโ ROO#SUB_initial_project_S001/ # Example Sub-Task Directory (ROO#SUB_... ID from Planner)
โ โ โ โโโ context.md # Task briefing FOR the expert (Created by Planner, concise, uses links)
โ โ โ โโโ feature_component.py # Example artifact directly in task folder
โ โ โ โโโ data_analysis_report.md # Another example artifact
โ โ โโโ ROO#TASK_20240101130000_fix_login/ # Example Direct Task Directory (ROO#TASK_... ID from Navigator)
โ โ โ โโโ context.md # Task briefing FOR the expert (Created by Navigator, concise, uses links)
โ โ โ โโโ login_fix.diff # Example artifact directly in task folder
โ โ โโโ ...
โ โโโ plans/ # Optional: High-level plan overview documents from Rooroo Planner
โ โ โโโ ROO#PLAN_20240101120000_initial_project_plan_overview.md
โ โโโ brainstorming/ # Optional: Summaries from Rooroo Idea Sparker sessions
โ โโโ brainstorm_summary_ROO#IDEA_20240101140000.md
โ
โโโ src/ # Example source code directory (Potentially modified by Rooroo Developer)
โโโ ...
๐ Core Data Files Explained
Key files driving rooroo operations:
-
.rooroo/queue.jsonl: Ordered list of tasks (JSON objects per line). -
Defines: What needs to be done, by which expert, with what goal and context.
-
Example Task:
{"taskId": "ROO#SUB_...", "suggested_mode": "rooroo-developer", "context_file_path": ".rooroo/tasks/ROO#SUB_.../context.md", "goal_for_expert": "Build feature X..."} -
.rooroo/logs/activity.jsonl: Append-only log of key events with severity (INFO, ERROR, etc.). -
Tracks: What actions agents take and their outcomes.
-
Example Log:
{"timestamp": "...", "agent_slug": "rooroo-navigator", "severity": "INFO", "task_id": "ROO#...", "event_type": "EXPERT_REPORT", "details": {"status": "Done"}} -
.rooroo/tasks/TASK_ID/context.md: The comprehensive Markdown briefing for an assigned agent. -
Provides: Detailed goals, requirements, and links to relevant files/artifacts (prioritizing links over embedding content).
-
Output Artifacts: Generated by experts (code, reports, docs) are stored directly in their respective task folders:
.rooroo/tasks/TASK_ID/(e.g.,output.py,analysis_report.md).
Workflow Diagram (Visual)
+----------------------------------------------------------------------+ Phase 0: Optional Brainstorming +----------------------------------------------------------------------+
[User Initiates Brainstorming with ๐ก Rooroo Idea Sparker]
+----------------------------------------------------------------------+ Phase 1: User Interaction & Task Triage (Navigator) +------------------------------------------------