π 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) +------------------------------------------------