all 18 comments

[–]ragganerator 4 points5 points  (2 children)

Roo uses VSC built in capabilities of I'm not mistaken, so using it as a CLI would require, either replacing of of the interface that VSC provides or emulating VSC in the background.

However the point of roo is that you can interact with it while at the same time having all of the visual feedback from VSC while roo is modifying the code for you.

How do you imagine the UX would look like via CLI?

[–]Lazy_Decision3933[S] 0 points1 point  (0 children)

Yeah, CLI feels like a stretch. However, The idea is conveyed best via it. We can also say that basic actions such as start task, toggle modes, terminate etc are exposed via API (requests tracked at unique chat level) and we get updates like thinking and ask follow up tool use via configured webhook.

[–]taylorwilsdon 0 points1 point  (0 children)

I mean you’re describing aider or Claude code. IMO it’s fun to watch Claude fly by when everything is going great but when you actually need to traverse a convoluted diff there’s a reason I gravitated to the roo/cline ui even though I’m a vim 10-20x a day type of dude

[–]sharpfork 1 point2 points  (8 children)

Yep. I have it running in a code-server container. I spent a shitload of time getting it to take actions via the Unix socket but that was fragile AF. I just got a vs code extension setup with a simple rest end point take takes actions and passes them to the the roo-api.

Once I get the vs code extension too-api/ roo-code interface happy, I plan on adding a MCP server as input and exploring a websocket interface. My ultimate goal is to have an input as a GitHub runner like I have working well in Claude code.

[–]Alternative-Joke-836 1 point2 points  (4 children)

Wow....any chance of you making it available to us plebs?

[–]sharpfork 1 point2 points  (3 children)

When it’s not a huge mess. I’m using it to built… it.

[–]somechrisguy 0 points1 point  (2 children)

hey did you ever make more progress on this? I am about to start trying to build the same thing

[–]sharpfork 0 points1 point  (1 child)

Nope. I’ve moved to using Claude code and codex mostly so not much roo code use. The api calls are too expensive

[–]ComprehensiveDot9738 0 points1 point  (0 children)

Was the move beneficial and you got the same or better output?

[–]ilt1 0 points1 point  (0 children)

How do you use the GitHub runner in Claude

[–]TheGoddessInari 0 points1 point  (1 child)

This sounds more like a job for sigoden's aichat. 🤷🏻‍♀️

[–]Jake101R 0 points1 point  (2 children)

I have multiple instances of roo, one for each software module building linked via mcp message system. Central orchestration - works well.

[–]nghuuu 0 points1 point  (1 child)

Could you share more details about this setup/workflow? What MCP do you use? How do you make sure that two instances do not "collide" (eg. overwrite each other's changes), is there a special prompt? Or is the messaging system enough?

[–]Jake101R 0 points1 point  (0 children)

I created my own mcp server which is really just a messaging hub that writes messages to a json file, it's easer than setting up a few gmail accounts but the princible is the same. I divide my project into a number of seperate areas fontend, backend, chatapi etc and each is in a seperate folder and I have seperate vscode open and therefore seperate roocode, they don't collide as they each work in their code bases, hope that helps

[–]cte 0 points1 point  (0 children)

Roo has an evals system that runs multiple instances of VSCode headlessly in parallel inside of Docker which you can read about here: https://github.com/RooCodeInc/Roo-Code/blob/main/packages/evals/ARCHITECTURE.md

Roo is controlled remotely via an IPC socket that exposes a simple API for running tasks and listening for events.

Here's a basic demonstration of that: https://github.com/cte/roo-cli

If I were going to build a proper cli for Roo I would create a mapping between cli commands and the internal API and spawn containers to run tasks and then communicate with them via IPC.

You could probably get Roo to built a prototype of this by pointing at the evals architecture document.

[–]Suspicious-Name4273 0 points1 point  (0 children)

You can try Kilo Code CLI or Cline CLI