6 ms·
I think integration into existing IDEs is the wrong form for agentic coding. The best way to work is managing several Git worktrees with agents running so you a
by jbentley1 1y ago
I think integration into existing IDEs is the wrong form for agentic coding. The best way to work is managing several Git worktrees with agents running so you aren't stuck waiting 20+ minutes for Claude Code to finish.
I built a UI to manage this, and it is starting to turn into a new type of IDE, based around agent management and review rather than working on one thing at a time.
https://github.com/stravu/crystal https://github.com/stravu/crystal
- artursapek 1y agoWhen I try to run two CCs at once I quickly get 429 rate limited, even on the $200 plan
- Etheryte 1y agoThere's no reason you couldn't do the same thing as an IDE plugin.
- jbentley1 1y agoYes there is. IDEs just aren't designed for it. The main screen in an IDE is a single branch at a time, I want to be managing a swarm of agents on multiple branches/worktrees
- radicalbyte 1y agoThat needs isolation, which in practise means multiple machines..
- derwiki 1y agoWhy machines? Multiple clones of the same repo is one low tech way to achieve that.
- brulard 1y agoIf we're talking for example full stack JS/TS app, wouldn't you need a separate build/dev server running, database and likely more?
- naasking 1y agoI don't see why you necessarily need multiple machines, just multiple checkouts, one for each agent. Depends on what shared resources are involved, eg. databases, etc.
- int_19h 1y agoWhy not multiple IDE windows then?
- Etheryte 1y agoYou don't need IDE support for this, it's all Git under the hood. Your extension can hold virtual branches in memory in the background, feed the file contents to the LLM through that layer and back, and the only problem you need to deal with after the fact is how to resolve conflicts, but the LLM would also be a good candidate to handle that. The more I think about it, the more Git makes this a straightforward implementation compared to say SVN, since branches cost nearly nothing. All of this is not to say that it's a trivial piece of work, but it is very much doable without building a new IDE from scratch.
- brulard 1y agoThis is nice, I was thinking about needing multiple working trees for different sessions of claude code. Regarding your webpage - I wish you would vibe away the annoying header coming down every time I scroll just tiny little bit up.
- jbentley1 1y agoNoted! Thanks
- skydhash 1y agoWhen I see proposals for this kind of workflow, the one question I have is how will you manage your personal context. When I’m reviewing code by coworker, I’m not seeking to fully understand the code or checking that it’s correct. I’m mostly trying to get a high level understanding and checking for glaring mistakes (code styles, best practices,…). I can get through a lot of PR in a day that way. For more important stuff, like if it falls under my supervision, I will test the branch and carefully check the implementation. And this for each PR updates. That takes a lot longer. So I’m wondering, how do you context switch between many agent running and proposing diffs. Especially if you need to vet the changes. And how do you manage module dependencies where an update by one task can subtly influence the implementation by another?
- LeafItAlone 1y ago>So I’m wondering, how do you context switch between many agent running and proposing diffs. Especially if you need to vet the changes. I’m wondering this too. But from what I have seen, I think most people doing this are not really reading and vetting the output. Just faster, parallelized, vibe coding. Not saying that’s what parent is doing, but it’s common.
- stingraycharles 1y agoYeah. I would like multiple agents because each can be primed with a different system prompt and “clean” context. This has been proven to work, eg with Aider’s “architect” vs “editor” models / agents working together. For parallel work who want stuff to “happen faster”, I am convinced most of these people don’t really read (nor probably understand) the code it produces.
- scuol 1y agoIt's basically like having N of the most prolific LoC producing colleagues who don't have a great mental model of how the language works that you have to carefully parse all of their PRs. Honestly, I've seen too many fairly glaring mistakes in all models I've tried that signal that they can't even get the easy stuff right consistently. In the language I use most (C++), if they can't do that, how can I trust them to get all the very subtle things right? (e.g. very often they produce code that holds some form of dangling references, and when I say "hey don't do that", they go back to something very inefficient like copying things all over the place). I am very grateful they can churn out a comprehensive test suite in gtest though and write other scripts to test / do a release and such. The relief in tedium there is welcome for sure!
- OtherShrezzing 1y agoFor Anthropic, they’ve got to put their product where their customers are. If they’re all in a cli or IDE, then the correct place to put agenetic coding features is into the cli or IDE.
- SkyPuncher 1y agoYour tool is cool, but is solves a different issue. Right now, background agents have two major problems: 1. There is some friction to getting the isolated environment working correctly. Difficulty depends on specifics of each project. Ranging from "select this universal container" to "it's going to be hell getting all of your dependencies working". Working in your IDE pretty much solves that - it's likely a place where everything is already setup. 2. People need to learn how agents build code. Watching an agent work in your IDE while being able to interject/correct them is extremely helpful to long term success with background agents.
- data-ottawa 1y agoI was just reading the Claude Code recommending that approach this morning. Having a nice way to manage the work trees sounds great, but the rate limiting still sounds like an issue to this approach. https://docs.anthropic.com/en/docs/claude-code/common-workflows#:~:text=Run%20parallel%20Claude%20Code%20sessions%20with%20Git%20worktrees https://docs.anthropic.com/en/docs/claude-code/common-workfl...
- mikojan 1y agoRate limiting has not been a problem for me. I need time to review the proposals, the actual source code and to meddle with it in between One must also always be aware that an LLM WILL ALWAYS DO what you ask it for. Often you ask for the wrong thing. And you need to rethink. Maybe I am inefficient though I really only use at the most two additional work trees at the same time.
- brulard 1y ago> ... LLM WILL ALWAYS DO what you ask it for. What? That's not my experience at all. Especially not "always"
- mikojan 1y agoYes, yes they do. If you ask it to refactor something and integrate it somewhere else; it will do exactly that even if in the course of it you would find that that would dramatically increase complexity not reduce it. I cannot count how many times that or something like that has happened to me.
- Paradigma11 1y agoOr reduce complexity: https://xkcd.com/221/ https://xkcd.com/221/
- brulard 1y agoMost of the time, maybe. Absolutely not always. I'll tell it to "implement feature a, ignore typescript errors". And it happened multiple times for me that it did the exact opposite, fix TS errors, and feature is barely mentioned in the response. Or more recently (with deep research) "Give me list of {some_product_name}, make absolutely sure to make a CSV and output a CSV. Columns are a,b,c,..". Does it give me the data? No, I get a wall of text with absolutely no data. Ok, you may argue this is some agent, etc. but user may not see a difference. Don't take me wrong, I'm a big fan and constant user of all these things, but I would say it frequently have problem following prompts.
- 4b11b4 1y agoSeems like Amp would plug into this better? At least regarding the ability for sharing prompts, etc.
- Jonovono 1y agoLooks cool! What was your reason for not using the Claude Code TS SDK? Looks like you install the package, but are manually spawning claude commands instead? Side note: You should look into electron-trpc. it greatly simplifies IPC handling
- lbeurerkellner 1y agoThis looks really cool, thanks for sharing.
- throwaway314155 1y ago> The best way to work is managing several Git worktrees with agents running so you aren't stuck waiting 20+ minutes for Claude Code to finish. Sounds like you're limiting yourself to users who are comfortable paying 100-200$ monthly subscription or even thousands per month for API prices. C.C. is expensive but i was hoping we weren't going to build tooling that exacerbated this issue simply because for some of us money is less of an issue than for most of us.
- jbentley1 1y agoIf you are paying a senior engineer 200k, getting them a CC max plan is equivalent to 1.2% of their salary. I would say that it increases productivity by a lot more than that. So yes it might feel expensive in terms of a personal monthly budget, but the value for money is insane.
- throwaway314155 1y agoI guess I'd just ask that you re-read my comment. I get it. Drop in the bucket for companies. Not the same situation for students and plethora of other common financial situations. I agree with your take, just with the caveat that more affordable still makes the situation better (for companies too).
- smrtinsert 1y agoWhat tasks require parallel workflows like this? Running one claude prompt gives me more than enough to chew on for several hours if done correctly.
- jbentley1 1y agoWhile I seem to have a little attention from this comment, if anyone can test this Linux installer for Crystal and tell me if it works on their machine I would appreciate it: https://github.com/stravu/crystal/actions/runs/15791009893/artifacts/3374098728 https://github.com/stravu/crystal/actions/runs/15791009893/a...
- ninthaccountshn 1y agoBasics are working on arch with the AppImage, anything specific?
- jbentley1 1y agoIf you can call Claude Code that means everything else should be working, as most functionality is built around the terminal and that is how it is calling Claude Code. Thanks for your help, now I'll be able to include Linux support in my next release
- mindwok 1y agoI personally disagree. I use Cursor every day on commercial projects, and while I find background agents cool and useful in some contexts they are more often than not simply a distraction. My preferred way to vibe code is to lock in on a single goal and iterate towards it. When I'm waiting for stuff to finish, I'm exploring docs or info to figure out how to get closer. Reviewing the existing codebase or changes is also super useful for me to grasp where I'm up to and what to do next. This idea of managing swarms of agents for different tasks does not gel with me, too much context switching and multitasking.