Sounds very cool.
I wanted to try this out, so I opened Windsurf for the first time in ages and clicked the "Upgrade Available" button, which sent me to: https://windsurf.com/editor/update-linux
Did you install using apt or apt-get? If so...
1. Update package lists
sudo apt-get update
2. Upgrade Windsurf
sudo apt-get upgrade windsurf
Whle `apt-get upgrade windsurf` will technically upgrade Windsurf, instructing users to run a command that will attempt to upgrade all packages on their system is nuts when the command is provided in a context that strongly implies it will only upgrade Windsurf and has no warnings or footnotes to the contrary. Good thing I didn't ask Windsurf's agent to ugprade itself for me, I guess.
EDIT - I don't want to detract from the topic at hand, however - after upgrading (with `sudo apt-get install --only-upgrade windsurf` :)) and playing around a bit, the Codemaps feature indeed seems very nifty and worth checking out. Good job!
So `apt-get upgrade $PACKAGE` has ridiculous semantics that no one would expect, and the actual syntax for upgrading a package is in neither the man page nor the command help.
> So `apt-get upgrade $PACKAGE` has ridiculous semantics that no one would expect
Especially not an LLM!
hiya! team noticed your comment and agreed - and it is fixed.
- const CodeSnippetTwo = `sudo apt-get upgrade windsurf`;
+ const CodeSnippetTwo = `sudo apt-get install windsurf`;
Did you also generate this with “AI”?
A few things to point out after reading and thinking about this:
- Another AI firm building products focused on Fortune 500 scale problems. If you're not at a F500, this tool isn't necessarily a good fit for you, so YMMV.
- static analysis tools that produce flowcharts and diagrams like this have existed since antiquity, and I'm not seeing any new real innovation other than "letting the LLM produce it".
They say it's ZDR, so maybe I don't fully understand what problem they're trying to solve, but in general I don't see the value add for a system like this. Also onboarding isn't necessarily just presenting flow charts and diagrams: one of the biggest things you can do to onboard somebody is level-set and provide them with problem context. You COULD go into a 30 minute diatribe about how "this is the X service, which talks to the Y service, and ..." and cover a whiteboard in a sprawling design diagram, or you could just explain to them "this is the problem we're working on", using simple, compact analogies where/when applicable. If the codebase is primarily boilerplate patterns, like CRUD, MVC, or Router/Controller/Service/DB, why talk about them? Focus on the deviant patterns your team uses. Focus on the constraints your team faces, and how you take the unbeaten path to navigate those constraints.
> static analysis tools that produce flowcharts and diagrams like this have existed since antiquity, and I'm not seeing any new real innovation other than "letting the LLM produce it".
Inherent limitation of static analysis-only visualization tools is lack of flexibility/judgement on what should and should not be surfaced in the final visualization.
The produced visualizations look like machine code themselves. Advantage of having LLMs produce code visualizations is the judgement/common sense on the resolution things should be presented at, so they are intuitive and useful.
Although I haven't personally experienced the feeling of "produced visualizations looking like machine code", I can appreciate the argument you're making wrt judgment-based resolution scaling.
I really think more people should give Windsurf a go. It's really good. I'm a senior engineer and do a mix of agentic and regular coding and I really think people are looking past Windsurf.
As the conversation shifted towards Cursor vs Claude code vs Codex people seem to have stopped mentioning it which is a shame.
Source: user for 12 months - not a shill.
Codemaps was a very pleasant surprise when it showed up.
I as a big Windsurf advocate, miles ahead of Cursor IMO but I've fully switched to Codex these days. The cloud environments are just such a nice feature.
Still like Windsurf though their pricing is what drove me to not roll it out across my company.
I co-sign this as a similarly-credentialed person. I use windsurf at work and recently started enjoying Claude Code, but the UX of Windsurf is actually a legit value add. Codemaps especially - been using them for weeks and they're excellent. Ask me again in a year maybe; churn in code could make maintaining codemaps annoying, but even that seems solvable.
appreciate the feedback! just a reminder codemaps are based on snapshots of your code when you run them; technically there's nothing to maintain, because you just rerun them if you need to.
I'm surprised that people still aren't discussing Github Copilot baked into VSCode. I pair agent mode + Sonnet 4 + Sequential Thinking + Tavily MCP servers and it works wonders. I recently prototyped the first version of our SaaS with this setup in a minimal amount of time. Also worth nothing, the pricing is extremely reasonable. Free credits + pay per use. I frequently max out the free tier and have never spent more than $40 per month.
I prefer IDEs like Zed that don't lock me in to their ecosystem and force me to "log in" to use them.
`codeium` which is now `windsurf` started out as a vscode fork IIRC
you missed the point. Zed develops and pioneers ACP (Agent Client Protocol), which I can also use in other editors and with other agents. at the moment, only Neovim is available as an alternative editor, but nothing stops, say, JetBrains from implementing it. I can plug Codex, Gemini, Claude Code, and Goose directly into my editor of choice.
Not to be confused with `vscodium` which is an open source build of vscode
Yeah definitely confused it with vscodium, thx
Agreed. I'm back and forth about whether I want to spend the time with an agentic coding editor yet, because it's sitting right on the cusp of distraction/enhancement.
I've also tried the 3 C's, and it still feels like Windsurf has the net best user experience.
This is enough for me to give this a go. I've tried a few different tools; abacus.ai (and their IDE), claude CLI, crush-cli. My workflows are still mostly on the command line, and a little in VS Code. I haven't found a flow that works "right", yet.
first mention i've heard of abacus.ai and IDE. what do you think stands out about them?
you might struggle with Windsurf since you're so command line heavy. but pro tip - ask for command line work to be done inside of Windsurf's Cascade agent. they were first to the terminal-inside-aichat pattern and i really like how it's much better at command line stuff than i am (or can do the legwork to specify command line commands based on a few english descriptions)
> first mention i've heard of abacus.ai and IDE. what do you think stands out about them?
Their reasoning agent is better than anything else I've used, tbh. The inability to use it in a CLI environment is why I stopped using it. They have a router that they hook into that "intelligently" chooses models for you in a normal "chat" setting. The power comes with their DeepThink (or whatever) mode that has a VM hooked up to it, as well as many, many well designed agents and internal prompts that handle all sorts of interesting things, from planning to front-end dev, to reasoning about requirements and requirements fulfillment.
I just tried out windsurf yesterday, The only thing I hate for now is that when there are changes and I accept one of them, then trying to accept the others gives an error saying the file was changed
I’m sorry to hear about that. What version are you on? Looking to fix / repro this asap
(also you can hit "share conversation" or "view response statistics" and then "copy request id" and send to support!)
I've used it, and I thought it was absolute trash. Goes crazy doing shit I don't want. I spend more time deleting crap I didn't want and reviewing and changing its code than I do just writing it myself.
I know what you're going to say: I need to learn to use this groundbreaking technology that is so easy to use that my product manager will soon be doing my job but also is too hard for me a senior engineer, to find value in.
Kindly: no, I trust my judgement, and the data backs me up.
Have you taken measurements of how many features and bugs you've shipped over the last twelve months or are you just like the engineers in the METR study who self reported an improvement but when measured, had been impaired? What evidence do you have that your attitude is not simply informed by the sunk cost of your subscription?
Please share your data below
Stop, I bruised a rib laughing at this
A feature like this isn't useful because knowing what connects to what, dependencies, etc. means nothing without business context. AI will never know the why behind the architecture, it will only take it at face value. I think technical design docs which have some context and reading the code is more than enough. This sits in the middle ground where it lacks the context of a doc and is less detailed than the code.
To add to that, a lot of business context is stuck in people‘s heads. To reach the level of a human engineer, the coding agent would have to autonomously reach out and ask them directed questions.
> AI will never know the why behind the architecture…
That's true only if you don't provide that context. The answer is: Do provide that context. My experience is that LLM output will be influenced and improved by the why's you provide.
if you know that context, you don't need a codemap
this is possible if you have a couple two-pizza teams. beyond that, good luck.
it takes longer to explain the context to the model than it does to just write the code based on the context I already understand, especially since code is more terse than natural language
Definitely, iff you have to provide the context with every task. If agent memory worked better and across your whole team, then providing context might be much easier
But wouldn’t the context also be useful, in written form, to colleagues?
agree that AI can kinda infer business context sometimes. in my experience, it doesn't work that well.
a lot of the time, debugging isn't a logic issue, but more of a state exploration issue. hence you need to add logging to see the inputs of what's going on, just seeing a control flow isn't super useful. maybe codemaps could simulate some inputs in a flow which would be super cool, but probably quite hard to do.
So it is the same thing when I ask Claude to build me mermaid charts of code flows? So no point in this tool?
Btw, claude code is a lot better at graphviz than mermaid! I have been using it a lot for architecture designs.
This was my conclusion, too! Over time as agentic coders get better at handling higher-complexity tasks, this kind of bracing will become less and less necessary.
Out of nowhere Cognition with a banging product. Probably not 100% yet but the idea is so good I'll be surprised if within 6 months all the other IDEs aren't copying.
this is the right way to try and tackle this problem imo. too much focus in AI dev tooling has been on building "products" that only half work.
making codebases understandable to humans, and LLMs etc, is a better approach
self documenting, interpretable systems would actually solve a lot of dev churn in big companies
plus it's not like artifacts have to be limited to code once that's figured out
I don't think it's a choice; I use both. Code understanding is especially useful in new code bases, but once that's over you need to get work done.
Less a question and more a strong suggestion: codemaps should be viewable in the main pain. The sidebar is FAR too small. Either default or a button or something to open it like an editor tab.
Looks an interesting enough feature to give Windsurf a try!
Figuring out new codebases is definitely one of the most challenging and time-intensive things I have had to do in my jobs.
I really like this kind of applied statistical data infrastructure approach, feels much more natural than just raw text + immediate HIL
huh? whats statistical about it? i hope i didnt give the wrong impression in the post.
but yes, keeping the human in the loop, in charge, on top of the code, is the way to prevent ai slop code
Great idea. I always end up having to tag the relevant files/abstractions anyways to avoid having the LLM produce duplicated slop, and something like this makes collecting this info much easier.
This looks awesome. I’m a very heavy Claude Code user (and Codex) in both the CLI and VS Code (and now in the web too!) and it’s quite infuriating when the agent just gets lost after context compaction and I have to point it to read CLAUDE/AGENTS.md (and update it if a lot of changes have been made)
I tried Windsurf a while back but I’ll definitely come back ASAP just to play with this and see how it does in a somewhat complex project I’m working on.
Kudos to the team!