This might not exactly be the place for it but what I struggle with regarding Claude Code is that it doesn't seem to listen to me. I will give it a specific example of code to use as a guide and it just wants to start searching the code base for similar patterns instead of just using the example that has everything it should need. I know claude.md can help but I am not having much luck with a large .NET project using internal nuget packages. I am able to get results decently well but this is a repeated problem I have and if I am not careful, it will blow through my limits.
This is a bit off-topic, this repo isn't even .NET.
I work with a very large ( 280+ project ) .NET semi-monolithic semi-services code base with internal nuget packages.
I've only a handful of times hit the limits on a team plan and even then only minutes before the window refreshes.
I'll chime in with some of my workflow and tips when I have a more appropriate place to do so as it feels disrespectfully off-topic to elaborate further here about too much .NET specific.
As a general tip for working with large code-bases, if you have:
Then don't just run claude at the root directory (/).
Run it in ./src/projectA and then use /add-dir to bring in only the depenedencies you care about for the problem you're working on.
Or even run it in /docs and then bring in just the places where it needs.
It will prompt to ask to read from / semi-often, but you can just deny it, either explicitly through claude.settings.local, or just through a prompt for that action.
By carefully controlling the scope, you limit what it tries to read. If you catch it trying to read from /sub-project-B and you think it's irrelevant, you can not just deny it, but ask it why it thought it wanted to read from it, and then update your documentation (or your priors) appropriately.
I've found the worst time for just blowing through credits / usage is when I hit a problem that's just not solvable, but more on that another time.
Thank you for the tips, I only mentioned the .NET portion just because it seems to struggle with wanting to find definitions for calls against code provided by nuget packages. We are currently running a large Blazor project that has a Service class for each route in the project. When specify a specific service as an example, it seems to just get really hung up on trying to search for specific unnecessary details rather than using the complete example it has. Specifying in the prompt to only use the given example doesn't seem to matter. It keeps attempting to fire of bash commands.
Anyways, I do appreciate the tips. I am going to attempt to not use Sonnet 4.5 for planning and see if opus does a better job of limiting scope.
Yeah that is the thing that has me confused. I specify the exact files with the @ sign and it still gets caught up on wanting to run batch commands to search for specific patterns. Do you use Sonnet or Opus?
That was so impressive. I was lucky enough to live in Florida and see the rockets go up. Standing on the beach and watching the first Falcon Heavy launch will be something that will always stick with me. Great job SpaceX.