▲ | rs186 3 days ago | |||||||||||||||||||||||||||||||||||||||||||||||||||||||
3X if not 10X if you are starting a new project with Next.js, React, Tailwind CSS for a fullstack website development, that solves an everyday problem. Yeah I just witnessed that yesterday when creating a toy project. For my company's codebase, where we use internal tools and proprietary technology, solving a problem that does not exist outside the specific domain, on a codebase of over 1000 files? No way. Even locating the correct file to edit is non trivial for a new (human) developer. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
▲ | mike_hearn 3 days ago | parent | next [-] | |||||||||||||||||||||||||||||||||||||||||||||||||||||||
My codebase has about 1500 files and is highly domain specific: it's a tool for shipping desktop apps[1] that handles all the building, packaging, signing, uploading etc for every platform on every OS simultaneously. It's written mostly in Kotlin, and to some extent uses a custom in-house build system. The rest of the build is Gradle, which is a notoriously confusing tool. The source tree also contains servers, command line tools and a custom scripting language which is used for all the scripting needs of the project [2]. The code itself is quite complex and there's lots of unusual code for munging undocumented formats, speaking undocumented protocols, doing cryptography, Mac/Windows specific APIs, and it's all built on a foundation of a custom parallel incremental build system. In other words: nightmare codebase for an LLM. Nothing like other codebases. Yet, Claude Code demolishes problems in it without a sweat. I don't know why people have different experiences but speculating a bit: 1. I wrote most of it myself and this codebase is unusually well documented and structured compared to most. All the internal APIs have full JavaDocs/KDocs, there are extensive design notes in Markdown in the source tree, the user guide is also part of the source tree. Files, classes and modules are logically named. Files are relatively small. All this means Claude can often find the right parts of the source within just a few tool uses. 2. I invested in making a good CLAUDE.md and also wrote a script to generate "map.md" files that are at the top of every module. These map files contain one-liners of what every source file contains. I used Gemini to make these due to its cheap 1M context window. If Claude does struggle to find the right code by just reading the context files or guessing, it can consult the maps to locate the right place quickly. 3. I've developed a good intuition for what it can and cannot do well. 4. I don't ask it to do big refactorings that would stress the context window. IntelliJ is for refactorings. AI is for writing code. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
▲ | GenerocUsername 3 days ago | parent | prev | next [-] | |||||||||||||||||||||||||||||||||||||||||||||||||||||||
Your first week of AI usage should be crawling your codebase and generating context.md docs that can then be fed back into future prompts so that AI understands your project space, packages, apis, and code philosophy. I guarantee your internal tools are not revolutionary, they are just unrepresented in the ML model out of the box | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
▲ | MattGaiser 3 days ago | parent | prev | next [-] | |||||||||||||||||||||||||||||||||||||||||||||||||||||||
Yeah, anecdotally it is heavily dependent on: 1. Using a common tech. It is not as good at Vue as it is at React. 2. Using it in a standard way. To get AI to really work well, I have had to change my typical naming conventions (or specify them in detail in the instructions). | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
▲ | tptacek 3 days ago | parent | prev [-] | |||||||||||||||||||||||||||||||||||||||||||||||||||||||
That's an interesting comment, because "locating the correct file to edit" was the very first thing LLMs did that was valuable to me as a developer. |