[HN Gopher] Codemaps: Understand Code, Before You Vibe It
       ___________________________________________________________________
        
       Codemaps: Understand Code, Before You Vibe It
        
       Author : janpio
       Score  : 151 points
       Date   : 2025-11-04 17:47 UTC (5 hours ago)
        
 (HTM) web link (cognition.ai)
 (TXT) w3m dump (cognition.ai)
        
       | bluelightning2k wrote:
       | 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.
        
         | sama004 wrote:
         | 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
        
           | lord_sudo wrote:
           | I'm sorry to hear about that. What version are you on?
           | Looking to fix / repro this asap
        
             | swyx wrote:
             | (also you can hit "share conversation" or "view response
             | statistics" and then "copy request id" and send to
             | support!)
        
         | all2 wrote:
         | 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.
        
           | swyx wrote:
           | 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)
        
             | all2 wrote:
             | > 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.
        
         | dingnuts wrote:
         | 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
        
           | ghurtado wrote:
           | Sir, this is a Wendy's.
        
             | gnarlouse wrote:
             | Stop, I bruised a rib laughing at this
        
             | chrisweekly wrote:
             | https://knowyourmeme.com/memes/sir-this-is-a-wendys
        
         | gslepak wrote:
         | I prefer IDEs like Zed that don't lock me in to their ecosystem
         | and force me to "log in" to use them.
        
           | gnarlouse wrote:
           | `codeium` which is now `windsurf` started out as a vscode
           | fork IIRC
        
             | froober wrote:
             | Not to be confused with `vscodium` which is an open source
             | build of vscode
        
         | gnarlouse wrote:
         | 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.
        
       | swyx wrote:
       | (coauthor) happy to take any questions! see 1 min demo video here
       | https://x.com/cognition/status/1985755284527010167
       | 
       | this is brainchild of cognition cto steven who doesn't like the
       | spotlight but he deserves it for this one
       | https://x.com/stevenkplus1/status/1985767277376241827
       | 
       | if you leave qtns here he'll see it
        
         | bluelightning2k wrote:
         | 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.
        
           | swyx wrote:
           | acked. you can also open it in a browser window for now https
           | ://windsurf.com/codemaps/9e2791c4-0b14-4757-b4be-a71488...
        
       | ChrisbyMe wrote:
       | 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
        
         | esafak wrote:
         | 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.
        
       | dennisy wrote:
       | Looks an interesting enough feature to give Windsurf a try!
        
       | yunyu wrote:
       | 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.
        
       | rmonvfer wrote:
       | 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!
        
       | asdev wrote:
       | 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.
        
         | CharlesW wrote:
         | > _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.
        
           | dingnuts wrote:
           | 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
        
             | Jaxan wrote:
             | But wouldn't the context also be useful, in written form,
             | to colleagues?
        
             | fizx wrote:
             | 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
        
           | asdev wrote:
           | if you know that context, you don't need a codemap
        
             | baq wrote:
             | this is possible if you have a couple two-pizza teams.
             | beyond that, good luck.
        
         | swyx wrote:
         | you might be surprised how much business context leaks into a
         | codebase and that's plenty to work on :)
         | 
         | https://deepwiki.com/search/vimfnfnname-lets-you-call-neov_e...
         | 
         | but also how much you kinda dont need it when you're just
         | debugging code
         | 
         | https://windsurf.com/codemaps/87532afd-092d-401d-aa3f-0121c7...
        
           | asdev wrote:
           | 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.
        
         | philippta wrote:
         | 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.
        
       | alansaber wrote:
       | I really like this kind of applied statistical data
       | infrastructure approach, feels much more natural than just raw
       | text + immediate HIL
        
         | swyx wrote:
         | 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
        
       | gnarlouse wrote:
       | 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.
        
         | _jayhack_ wrote:
         | > 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.
        
           | gnarlouse wrote:
           | 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.
        
       | jrochkind1 wrote:
       | Figuring out new codebases is definitely one of the most
       | challenging and time-intensive things I have had to do in my
       | jobs.
        
       | stevenkplus wrote:
       | for people too lazy to download windsurf to try it, codemaps is
       | also in deepwiki
       | 
       | example: https://deepwiki.com/search/how-do-react-hooks-work-
       | under_7a...
       | 
       | this does a pretty good job of going in the weeds of how the
       | useState hook works in react
        
       | apstls wrote:
       | 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!
        
         | kps wrote:
         | 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.
        
       ___________________________________________________________________
       (page generated 2025-11-04 23:00 UTC)