Live data from Hacker News

DeepWiki: Understand Any Codebase

aitidbits.ai

1–10 of 55 posts

Re: DeepWiki: Understand Any Codebase

#3
neat system

tried it out on Mixxx; https://deepwiki.com/mixxxdj/mixxx

don't know how to zoom the diagrams on mobile tho, n they can easily almost disappear from view when panning around

the prompt box could do with a way to move it out of the way of the bottom couple of cm in portrait, or from covering more than a quarter of the screen in landscape orientation

Re: DeepWiki: Understand Any Codebase

#4
The DeepWiki tool itself seems pretty neat. It has a pretty good go at collecting documentation from across the codebase and organising it in one place. It has a pretty good guess at coming up with documentation which isn't there.

It strikes me as an example of automated code assistance that's e.g. more useful than "the item under the cursor has type , here's its documentation".

There are things which benefit from being automatically described, and there are things where "the map is not the territory", and you do want someone to have come up with a map.

> "Treat it like a patient senior engineer."

I trust that LLMs are patient (you can ask them stupid questions without consequence).

I do not trust LLMs to act as 'senior'. (i.e. Unless you ask it to, it won't push back against dumb ideas, or suggest better ideas that would achieve what you're trying to do. -- And if you just ask it to 'push back', it's going to push back more than necessary).

Re: DeepWiki: Understand Any Codebase

#5
The Elkjs project uses this and im not really sure i like it. [1]

Its a bit hard to find stuff. I was looking to find the structure of the main configuration json object and couldnt find it in the deepwiki.

I found it on the “non ai created” doc page of the main Elk project[2] (Elkjs is a JS implementation of Elk)

But yes this is of course just one data point.

[1]https://deepwiki.com/kieler/elkjs/5-usage-guide

[2]https://eclipse.dev/elk/documentation/tooldevelopers/graphda...

Re: DeepWiki: Understand Any Codebase

#6
Ok, yeah, this feels like a reasonable use case for AI. I generated a DeepWiki from one of my repos, and it's pretty informative. It goes into way too much depth on some trivial details, and glosses over more important stuff in places, but overall it seems to have produced a pretty detailed summary of what the package does, and why it does many things the way that it does.

Re: DeepWiki: Understand Any Codebase

#7
I really want to like deepwiki, but just looking at the diagrams of repos, they are too handwavy to be useful.

They are a conceptual overview and don’t seem tied down enough to the actual implementation details of a particular project.

Perhaps this could be the improved.

Re: DeepWiki: Understand Any Codebase

#9
So I decided to look at some open source repos I know decently well. The only one that seems to have a wiki is LLVM (https://deepwiki.com/llvm/llvm-project).

Thoughts on the overview page: Okay, weird subset of the top-level directories. The high-level compilation pipeline diagram is... wrong? Like, Clang-AST is definitely part of clang frontend, and you get to the optimization pipeline, which clearly fucks up the flow through vectorization and instruction selection (completely omitting GlobalISel as well too, for that matter). The choice of backends to highlight is weird, and at the end of the day, it manages to completely omit some of the most important passes in LLVM (like InstCombine).

Drilling down into the other pages... I mean at no point does it even discuss or give an idea of what LLVM IR. There's nothing about the pass manager, nothing about expected canonicalization of passes. It's got a weird fixation about some things (like the role of TargetLowering), but manages to elide pretty much any detail that is actually useful. The role of TableGen in several components is completely missing--and FWIW, understanding TableGen and its error messages is probably the single hardest part of putting together an LLVM backend, precisely the thing you'd want it to focus on.

If I had to guess, it's overly fixated on things that happen to be very large files--I think everything it decided to focus on in a single page happens to be a 30kloc file or something. But that means it also misses the things that are so gargantuan they're split into multiple files--Clang codegen is ~100kloc and InstCombine is ~40kloc but since they're in several 4-5kloc files instead of a large 26kloc file (SLPVectorizer) or 62kloc file (X86ISelLowering), they're simply not considered important and ignored.

Re: DeepWiki: Understand Any Codebase

#10
It would be nice if it could also read github issues etc if they were available, so it could have more context about the decisions that were made. For large projects/those with a lot of issues this might be a bit impossible though
Post reply on HN