Not sure why it matters? I can't tell the difference, personally, but even if I could the AI is much more likely to have given complete and accurate information than any human..
Do we have to
explain in every bloody thread why human-generated Readmes, with their faults and omissions, are preferable to overly verbose and flowery AI slop prose?
Conciseness and highlighting relevant points is much more important than word count. Machine generated readmes are anything but. Sorry you can’t tell the difference between that and human prose, you should try reading more human content.
Why does AI-generated imply "not bothered" to you? If I take all of my design docs/specs, all of the existing repo, and I tell an agent that I'd like to make a readme that contains things X, Y, and Z, what's the problem?
Rejecting slop doesn't imply rejecting all AI-generated text wholesale.
> Why does AI-generated imply "not bothered" to you?
1. AI generated text is just hard to read and verbose, if you worked so hard on your docs/specs, why would you want your README to be unreadable?
2. There's so much garbage written with AI that I'm just going to assume yours also is. Would you sign up to a gym with broken windows? It could be the best gym ever, but I wouldn't count on it.
What JetBrains needs is nothing short of a revolutionary product, which they would need to sell with an excellent introduction.
Instead they phoned it in and pasted that slop:
> Once a GitHub PR is open it shows the CI checks and review decision, and lets you mark it ready, hand failing checks or a diverged branch to the agent, merge it with the repository's last-used method, reopen it, or delete the remote branch.
The problem is that it’s market or care and respect. If you can’t even be bothered to while a simple readme communication your intentions, what else can’t you be bothered doing properly?
It’s a marker that the project is likely to be low-effort slop, which may or may not just be abandoned at the deep of a hat.
Because AI-generated README means that the person doesn't care about the audience. It means that the author never read the README themselves to see that the "load-bearing ground truths" actually reflect what the project is about, and not some hallucinated bullshit.
There's a famous Jobs story in which he insisted that even the insides of the computers be made beautiful. Because that shows care. Now people are arguing that even the outsides can be as ugly as they want, who cares.
> I refuse to take a repo with an AI-generated readme seriously. If you haven't bothered to write a readme, what else have you not bothered to do?
I care whether the readme is any good, not who wrote it. If you haven't bothered to critique the readme and instead critique its suspected creator — something entirely in your head — what else have you not bothered to do?
> (100% AI according to Pangram btw)
So what? Who cares about Pangram? I certainly don't! You cannot detect AI — it's impossible. Perhaps it's just Kenyans?[0]
I’ve been using JetBrains IDEs for over a decade but rarely open them anymore because working on several worktrees concurrently is extremely frustrating and wasteful. Their AI strategy is all over the place and they always wanted to sell their opaque and overpriced tokens, which made no sense. I hope they get their act together.
I canceled my subscription after like 12 years because I realized all the things that made it great aren’t really needed anymore. The “it just works” tooling, refactoring, jumping around code, etc.
Now my agents mainly write code under my direction and I review it either in the harness or on GitHub.
I hadn’t opened it in ages and when I did need an IDE something like Zed was more than sufficient.
Part of what I've loved about JetBrians tools has been the navigation and deep semantics for large code bases. Zed is pretty basic in that regard. My agents usually get what I need, but when they go off the rails, cleanup gets interesting.
But I'll admit to keep my skills from atrophying, there are some projects of mine I don't touch with AI.
Code review is the problem I'm currently trying to figure out for myself. I've never liked GitHub PRs but I'm not 100% sure what I want instead (which is possibly just: it feels like it should be a VS Code plugin... But maybe I don't like VS Codes interface that much either?)
Yeah, their worktree implementation was very recently hacked in, and it really doesn't work well. The IDE project list duplicate entries for every worktree, IDE project settings don't transfer across worktrees, and every time I switch to another worktree it asks me again what project I want to open, instead of just opening the same solution I have opened.
It's wild that a set of IDEs that are generally fairly good just completely fail in this basic workflow. I really wonder what went through the minds of the product owners and developers that implemented this.
I also have to work in multiple workspaces simultaneously, and it drives me up the wall every time one of my IDE windows freezes (sometimes even just from inserting a Tab), because now ALL of them are frozen.
I thought so too until I learned that there is a dedicated worktree switcher hidden away as a tab in the GitHub pain. Now I can open each worktree in a separate window as if it were its own project. Maybe that's not everyone's ideal work though, but it's exactly what I want 99% of the time.
But I don't use it for AI assistant development, it's definitely meant for humans and not AI agents.
Same. I like their products but they have a problem with feature creep and design debt, and their AI tools are extremely in your face while also being underwhelming. I don't know if I'm going to renew my subscriptions.
Didn't JetBrains release JetBrains Air recently? This looks like it's basically the same basic premise, except implemented differently. What's their strategy here, are they just launching competing products?
They also started developing Fleet several years back and made a few alpha releases, only to shutter it before it ever was ever fully released for reasons that essentially seemed to boil down to "we want to focus on our core IDEs instead, which didn't really explain what changed. I was interested in Fleet, so at this point I can't help but be skeptical of anything new they've done since then because it's not clear to me why the same logic for discontinuing Fleet couldn't apply to pretty much anything else.
At a guess, they are uncertain about the long term financial viability of selling their full IDEs, and development is cheap, so they are throwing up what they can to see what sticks, and will kill what doesn’t.
The trouble is that's doomsday anyway. When I don't use most of the features of your product, you're competing with the monthly cost of my Claude subscription for value - and that's very good at building me exactly what I want.
It seems that Air is a strategic product, and Thinkrail is more of an experiment.
While they are both "agentic development tools", it seems that Air is mostly concerned with managing multiple agents, whereas Thinkrail is about spec-first development.
My take: I don't see the point of those new-IDEs. They are mostly just worktrees+sandbox+tabs+prompts, which is just git+docker+tmux+thinking, but if you actually learn to use those tools instead of handcuffing your agents to whatever take the IDE has, you're going to be much happier and effective.
(That's also why there are so many of them: It just isn't that hard, everyone feels like a genius when they figure it out, and it's a great way to resume-build in the AI era).
To me the main difference is that there is no staging (so no stashing needed), and conflicts are first class citizens. In practice this means that you can usually halt your work halfway, switch a commit, rebase everything onto head and continue working even if one of the branches off your commit has conflicts. In git you would have to resolve those before the rebase can finish.
Since conflict resolution these days mostly boils down to “hey LLM, resolve conflicts” this is much nicer.
Also jj tracks every change to the repo so undo works much better and is more readable than reflog
My favorite feature is the built-in distinction between what's mutable and what's immutable in my history. I can freely modify any commits I make locally without issue, since no one else would be able to depend on them, but if I push something or fetch it from a coworker, I have the safety of not needing to be careful when doing the equivalent of an amend or rebase because it will fail with an error telling me to use a flag to bypass the immutability protection if that's what I actually want.
Not having to stage changes in lieu of them automatically getting picked up was a bit of a learning curve for me, but now that I've gotten used to it I like it a lot better and I don't think I could go back. The equivalent of the reflog pretty much always has my changes in it if I accidentally lose them without manually saving due to the snapshotting, and I have no need for a stash because commits and branches are essentially just recording a checkpoint rather than being things that feel "heavyweight".
As an added bonus, dealing with conflicts is a lot less annoying because each commit records its conflicts separately, so fixing them doesn't require doing a stateful pipeline of changes in a big rebase; I can just do them piecemeal, in any order I want, and even just check out other stuff and work on them before coming back later if I feel like it.
I was "that guy" who would sometimes have coworkers come for help with git problems (https://xkcd.com/1597/ alt text). I've forgotten most of that knowledge (and all of that muscle memory) and didn't have to learn nearly as much to replace it with the ability to do a lot more with a lot fewer mistakes.
No, jj is not a wrapper around git. It is a source control system of its own that has git as one of at least two production backends. This distinction matters because git wrappers don't tend to have fundamental concepts of their own like the operation and evolution logs.
The problem with all the AI IDE's is you can't use them with most enterprise/teams accounts, you have to use API which can cost upto to 10x more over an enterprise plan. I really like JetBrains, used them for a LONG time, but just find myself doing 99% of my day to day with iterm and sublime now.
It's nice to see JetBrains finally wake up and realize they can't sell a Cursor competitor from 2024 anymore. Something about JetBrains writing a new IDE seems bold... not sure if it feels correct.
I've been subscribed to Jetbrains full product pack for years now, but nowadays the thing I want more than anything is either a convergence of all their IDEs via plugins or a lighter universal editor like Fleet was getting close to. Agents let me work with languages I had no business with before, but now it isn't unusual to have RustRover, Rider, Webstorm, and Intellij open at the same time. Alternatively, I'm curious as to whether their code intelligence over MCP helps coding agents. If they did, I'd still pay for good code intelligence even if it was a headless MCP server. Thought they were going that way with Air, until they killed it yet again. Air is a plugin now, but that's back to the specific IDE thing.
Intelligence is a paid product so I cannot test it. I would say that code intelligence and proper refactoring support instead of scratching around what agents do now is the direct next step for IntelliJ.
And probably something to understand what your agents are doing and why. With which reasoning.
Otherwise also stay a damn good IDE. We still need that. My agents are floundering on our bigger codebases and only produce warts.
Hmm, most of this seems like it would be cutting edge in 2025. And why do I want to use Monaco? If I’m in the JetBrains ecosystem isn’t it because I prefer their IDEs over VSCode?
The versioned and linked spec feature sounds somewhat interesting though.
NGL Jetbrains has massively helped my developer journey and be a great tool for many many years. I don’t open it that often anymore, but I see that they’re trying hard to stay relevant, which is probably not easy as probably the whole market moved against you.
Yeah, now that agents are doing most of the work, and we want to give them as much freedom as possible to run code, take screenshots, click on things, etc, it really doesn't make much sense to have a setup where all of this happens on your local computer. IMO it makes more sense to have this hosted somewhere, and then have UIs that make this visible to you on your devices.
This sounds like a short-term strategy at best
You only need an agent to click things long enough to build an API on top of the thing it's clicking on. And running a full windowed virtual machine is expensive!
I'd also caution against saying things like llms are doing most of the work I don't think that's true. And where it is true it shouldn't be. These things are still new tech and they need a lot of hand holding and oversight still.
Exactly. They sit in their little world in my homelab and I control everything through networking and virtualization restrictions. They run on a beefy VM, can spawn their own VMs (Ubuntu, Debian, Fedora, Arch, Windows, even macOS on an old mac mini), run their own browsers, access their own secrets, etc. There's no way I would go back to agentic development on my local machine anymore.
Any good writeup on how to set this up? Not that it's a rocket science, but would be good to have a bootstrap how to with good practices and a general showcase.
Not that I can find. I'm a Senior SRE so it's more or less an extension of my domain. The hardest part is really just knowing the "best" way to do something which generally just comes from experience. But most frontier agents can probably get you close enough without too much experience.
I am curious about Pi, but my experience with a seemingly more fully-featured Hermes has been endless tinkering and fixing minor issues. Have your experience been at all similar?
I've been using it without thinking much about it for 3 months now. Have yet to run into any bugs or strange behaviors. But bear in mind I'm using oh-my-pi, not Pi. I found the latter to be mostly useless in terms of what I needed for my day to day work. I'm sure I could tinker with it to get it right, but that's literally what oh-my-pi is doing for you. And like I said, zero problems thus far.
It’s an absolute shame that they’re using Monaco as their editor for this. Shocking, even. I wish they would have used the editor they built for Fleet. Monaco just feels like the lowest common denominator editor UI and isn’t nearly as polished as what you get from say Zed or a full fat Jetbrains IDE.
I’ve been using Orca as my agent orchestrator du jour - but its editor experience is just pathetic. Really what I want is Zed integrated into a similar all-in-one platform like Orca (but more minimal - Orca is a total slopshow with way too many features)
Have you tried T3? It seems more session-oriented than IDE-oriented, but I keep seeing folks who use/like it. Maybe one of these days I'll give it a try.
Ah this reminds me I need to cancel my jetbrains subscription. I started with CLion and used RustRover, PyCharm, WebStorm, DataGrip over the years but now they all feel outdated and unnecessary.
Edit: oh shit I am on the cancel screen and reminded I also used ReSharper. Best of luck jetbrains I have given you a lot of money figure your shit out and I would happily return.
Looks interesting, but they need to clean up the claudese in those bullet points holy crap. It's like they purposely want the "what you get" section to be as obtuse as possible.
This is moving in the direction towards a final interface, very good.
There aren't enough digital french cleat systems.
The true benefit of a French cleat isn't storage or organizing the way a fiddly pegboard and hanger approach uses, it's the ability to move all tools for a specific project onto a single rail without having to fiddle around, reducing friction for engaging and re-engaging with a project.
That's what it is, it's basically two boards with angled cuts to match. One mounted to the wall, the other to the thing you want to hang from the wall. No fasteners needed other than for those two attachments (or more if you use more boards). Gives you some flexibility in arranging things in a shop (or, that's my reason for using it with our 2-car garage).
It's probably sorted, but for a while there was an escaping issue. Then our company forced us to use Claude via CoPilot in PyCharm and that may have been the other issue. I just stick to a command prompt in a shell now unless there's a pressing advantage to doing it in any IDE.
I do not get the appeal of web-based GUIs now that we have LLMs.
Migrating my screenwriting software[0] from OpenTUI to Roc thought me what were once rough edges that take a lot of time are now just a prompt away from a solution.
It now uses 10x less RAM, bundle is half the size, and my initial implementation is 700-800 fps for scrolling and 200 fps for writing.
Granted, a TUI is less complex than a full-blown GUI, but I built a Roc Iced platform just as easily that abstracted Iced flux away
JetBrains UIs aren't web-based, unless this is an exception.
JetBrains tools are heavier and can take a few seconds to launch, but they also have some of the most responsive typing out there. They did some good work on zero-latency typing modes when that was a big topic and they were very good at typing latency relative to most editors.
They will never be the right tool for the personality type that gets angry when their IDE takes a few seconds to launch at the beginning of the day or when an application takes more than 1GB of RAM, but I am not that type of person so I enjoy them.
I think the TUI people are well served by vim or emacs and should just stay there and be happy.
The rest of your post feels like an injected ad for your project underneath a topic where it's not relevant
This post is about a TypeScript repo, which is what I commented on. It may as well be a necessity since Pi is using a JS runtime as well. It has nothing to do with JetBrains and everything to do with the codebase in the link.
It also has nothing to do with TUI vs. GUI, since my comment addressed both (anecdotally).
If anything, your mentioning of their performance work is exactly my point.
I do code -- the app logic. I also am well aware of what the infrastructure code does, I just don't type any of it myself.
Even if I wanted not to code it I couldn't. LLMs are still incapable of creating code up to any decent standard.
Also, while I do the get the joy of programming, we sometimes forget to focus on the user. You being happy to have typed the whole thing once, and have it run everywhere via the magic of browsers may not be the best strategy if this means your user's lap will be overheating.
In the end as much as I like coding I would prefer my users' experience to be the best it can be. LLM assisted code delivers this better and faster than hand-typing it all (which in turn is better than completely vibecoding it)
(100% AI according to Pangram btw)
Conciseness and highlighting relevant points is much more important than word count. Machine generated readmes are anything but. Sorry you can’t tell the difference between that and human prose, you should try reading more human content.
Rejecting slop doesn't imply rejecting all AI-generated text wholesale.
1. AI generated text is just hard to read and verbose, if you worked so hard on your docs/specs, why would you want your README to be unreadable?
2. There's so much garbage written with AI that I'm just going to assume yours also is. Would you sign up to a gym with broken windows? It could be the best gym ever, but I wouldn't count on it.
I can do it. Anyone can do it. Probably better for my/their own needs than someone else’s agent can.
The README is meant to communicate substance and intent. Without the latter it’s an overly-verbose landing page.
What JetBrains needs is nothing short of a revolutionary product, which they would need to sell with an excellent introduction.
Instead they phoned it in and pasted that slop:
> Once a GitHub PR is open it shows the CI checks and review decision, and lets you mark it ready, hand failing checks or a diverged branch to the agent, merge it with the repository's last-used method, reopen it, or delete the remote branch.
It’s a marker that the project is likely to be low-effort slop, which may or may not just be abandoned at the deep of a hat.
There's a famous Jobs story in which he insisted that even the insides of the computers be made beautiful. Because that shows care. Now people are arguing that even the outsides can be as ugly as they want, who cares.
Then I’ll probably hear about it again from someone I trust. I don’t need to be the first in my circle to test if this one is different.
If it is blatant unfixed llmese, then it means that no effort whatsoever was put into making this text.
I care whether the readme is any good, not who wrote it. If you haven't bothered to critique the readme and instead critique its suspected creator — something entirely in your head — what else have you not bothered to do?
> (100% AI according to Pangram btw)
So what? Who cares about Pangram? I certainly don't! You cannot detect AI — it's impossible. Perhaps it's just Kenyans?[0]
[0]: https://marcusolang.substack.com/p/im-kenyan-i-dont-write-li...
Well, good luck in professional development then. Love it or hate it, this is the way everything is moving.
Now my agents mainly write code under my direction and I review it either in the harness or on GitHub.
I hadn’t opened it in ages and when I did need an IDE something like Zed was more than sufficient.
But I'll admit to keep my skills from atrophying, there are some projects of mine I don't touch with AI.
I use it when I need to deeply understand a PR.
It's wild that a set of IDEs that are generally fairly good just completely fail in this basic workflow. I really wonder what went through the minds of the product owners and developers that implemented this.
But I don't use it for AI assistant development, it's definitely meant for humans and not AI agents.
An IDE still has it's uses, and it's perfectly fine without AI. Agents and IDEs have never felt like something that should be combined in my opinion.
I just could not understand their AI strategy.
https://www.jetbrains.com/air/
I suppose they were in a tough spot regardless though. They started developing it before the AI age, so they would have to pivot either way.
And fleet was made to attract the VSCode generation, who they were starting to lose new user momentum to. But VSCode is no longer the biggest threat.
While they are both "agentic development tools", it seems that Air is mostly concerned with managing multiple agents, whereas Thinkrail is about spec-first development.
BTW, what's "InnovationHub" it's mentioned but I can't find a good link or explanation.
Overall it just looks like an experimental direction for IDE dev. I'd prefer they leaned into native dev like Zed though.
(That's also why there are so many of them: It just isn't that hard, everyone feels like a genius when they figure it out, and it's a great way to resume-build in the AI era).
We are due for another innovator that adds a net new, valuable facet to the development experience soon.
I liked their products. Also, personally I am not seeing next level devexp yet, other than just using my agents for everything
Since conflict resolution these days mostly boils down to “hey LLM, resolve conflicts” this is much nicer.
Also jj tracks every change to the repo so undo works much better and is more readable than reflog
Not having to stage changes in lieu of them automatically getting picked up was a bit of a learning curve for me, but now that I've gotten used to it I like it a lot better and I don't think I could go back. The equivalent of the reflog pretty much always has my changes in it if I accidentally lose them without manually saving due to the snapshotting, and I have no need for a stash because commits and branches are essentially just recording a checkpoint rather than being things that feel "heavyweight".
As an added bonus, dealing with conflicts is a lot less annoying because each commit records its conflicts separately, so fixing them doesn't require doing a stateful pipeline of changes in a big rebase; I can just do them piecemeal, in any order I want, and even just check out other stuff and work on them before coming back later if I feel like it.
I was "that guy" who would sometimes have coworkers come for help with git problems (https://xkcd.com/1597/ alt text). I've forgotten most of that knowledge (and all of that muscle memory) and didn't have to learn nearly as much to replace it with the ability to do a lot more with a lot fewer mistakes.
I guess they'll just copy submodules too. Kind of feels like there's little point using it if it's just going to copy Git's mistakes.
And probably something to understand what your agents are doing and why. With which reasoning.
Otherwise also stay a damn good IDE. We still need that. My agents are floundering on our bigger codebases and only produce warts.
The versioned and linked spec feature sounds somewhat interesting though.
EDIT: found it at https://thinkrail.ai/blog/thinkrail-sdd/
---
Also... why bun?! I just finished purging it from all my systems, ha! It'd be cool to have plain pnpm support.
So I’m willing to give it a try.
I'd also caution against saying things like llms are doing most of the work I don't think that's true. And where it is true it shouldn't be. These things are still new tech and they need a lot of hand holding and oversight still.
I’ve been using Orca as my agent orchestrator du jour - but its editor experience is just pathetic. Really what I want is Zed integrated into a similar all-in-one platform like Orca (but more minimal - Orca is a total slopshow with way too many features)
Also, reading through their "SPECS".... https://github.com/JetBrains/thinkrail/blob/d299f20d2ba014f3... or https://github.com/JetBrains/thinkrail/blob/d299f20d2ba014f3...
How is this llm-vomit "specs that are ground truth" etc.?
Edit: oh shit I am on the cancel screen and reminded I also used ReSharper. Best of luck jetbrains I have given you a lot of money figure your shit out and I would happily return.
This is exactly what I was missing
I tried Air before and found it underwhelming. I tried using it around Pi through ADB, but it didn't any benefit around using Pi purely.
There aren't enough digital french cleat systems.
The true benefit of a French cleat isn't storage or organizing the way a fiddly pegboard and hanger approach uses, it's the ability to move all tools for a specific project onto a single rail without having to fiddle around, reducing friction for engaging and re-engaging with a project.
JetBrains, explain concisely why this isn't written in C/C++/Rust?
Migrating my screenwriting software[0] from OpenTUI to Roc thought me what were once rough edges that take a lot of time are now just a prompt away from a solution.
It now uses 10x less RAM, bundle is half the size, and my initial implementation is 700-800 fps for scrolling and 200 fps for writing.
Granted, a TUI is less complex than a full-blown GUI, but I built a Roc Iced platform just as easily that abstracted Iced flux away
[0]: https://blisswriter.app/
JetBrains tools are heavier and can take a few seconds to launch, but they also have some of the most responsive typing out there. They did some good work on zero-latency typing modes when that was a big topic and they were very good at typing latency relative to most editors.
They will never be the right tool for the personality type that gets angry when their IDE takes a few seconds to launch at the beginning of the day or when an application takes more than 1GB of RAM, but I am not that type of person so I enjoy them.
I think the TUI people are well served by vim or emacs and should just stay there and be happy.
The rest of your post feels like an injected ad for your project underneath a topic where it's not relevant
It also has nothing to do with TUI vs. GUI, since my comment addressed both (anecdotally).
If anything, your mentioning of their performance work is exactly my point.
Even if I wanted not to code it I couldn't. LLMs are still incapable of creating code up to any decent standard.
Also, while I do the get the joy of programming, we sometimes forget to focus on the user. You being happy to have typed the whole thing once, and have it run everywhere via the magic of browsers may not be the best strategy if this means your user's lap will be overheating.
In the end as much as I like coding I would prefer my users' experience to be the best it can be. LLM assisted code delivers this better and faster than hand-typing it all (which in turn is better than completely vibecoding it)