Inspiration From Claude Code
I am the author of aidermacs and emigo.
Given Claude has released their proprietary CLI tool Claude Code, I wonder if there are any cool ideas/features aider should implement.
Some that come to my mind:
- Encourage deeper thinking
> rebase on main and resolve any merge conflicts
as much as i've enjoyed aider so far, after trying out claude code i must admit, the way it handles a codebase with glob/grep/ls/git, etc. is vastly superior to the way aider currently does it, i hope there is any way to learn from all of this. aider currently fails for me with bigger projects with nested bundles that are not part of git, claude code handles this easily.
i must admit, the way it handles a codebase with glob/grep/ls/git, etc. is vastly superior to the way aider currently does it
I'm on the waitlist so can't really try out, when you say it's way superior, does it tranform intuitive natural language instructions into some sort of bash scripts and execute it directly?
yes, it's basically "driving" the terminal to get the job done, instead of one prompt -> one response it takes your prompt, breaks it down into steps and uses the terminal tools available to accomplish those steps. Some "random" stuff i've noticed:
- locates and looks at log files automatically with tail
- looks at git logs for reference
- notices when a file has changed externally since the last time it read it and rereads it automatically
- goes far beyond a repo map, seems like it uses a full directory file listing as a "base" and then reads whatever it needs
- /init created a CLAUDE.md which would be the equivalent of CONVENTIONS.md, but somehow it feels way more natural and easy to append. i've tried with aider (o3-mini-high, sonnet 3.5, deep-seek) in the past to "correct" behavior of the agent and also told it at the same time to make a note about that to conventions.md, but it usually did either fix the behavior or update conventions, rarely both. claude happily breaks it down to steps and first updates the claude.md and then corrects his work
- claude does not commit after every change, which i'm not really sure about yet if i like it or not
- after working on a python web server which was not reachable first it used terminal network tools to check if the ports are used and later when i complained about high cpu usage it checked the cpu usage itself with a bash command
- /compress boils down the current session into a short markdown summary and reinitializes a new session with that as base context, clearing all file context
PS: don't get me wrong, i've used aider for a few weeks and so far nothing fit my personal workflow as good as aider, it's an awesome piece or software. sadly for my bigger projects (PHP with composer dependencies) the reliance on the "root" git repository without in depth knowledge about the rest of the code is a big handicap, afaik most other tools like cursor, cline, windsurf, etc. are working in a similar way, claude code imho found a way here to be way more in depth in the project, it really almost feels like you're working with someone together on the project. what i really don't like about claude code is obviously it's closed nature 😆
As much as I like Claude Code, it's easy to burn through dollars with it at the moment compared to Aider. It's lovely how Claude Code does what it does, but efficiency I guess needs improving without the user potentially trying to constantly keep context as small as possible when handling large amoujnts of code. With Aider at least you can explicitly tell it what files you want to modify, while Claude Code might decide it wants to look at some other potentially related files anyway.
Also Aider doesn't complain about how files are saved unlike Claude Code, which from what I've gathered it doesn't like \r in files because I also use Windows and not just solely Linux.
Hopefully Aider can bring useful ideas from Claude Code though to further improve.
i'm 100% with you regarding the cost of claude, claude code but with free choice of model would be awesome, i read somewhere that there is not really any special model behind this, so any other model should be capable to run this claude code toolkit in a similar way
reverse claude code and put deepseek with it
yea token usage is def. bigger than regular aider, etc. but i kinda think the way claude works might be the future, it quickly knows it's way around a codebase way better then the other stuff i've tried
I extracted it during digging/testing, this is 100% real
claude code imho found a way here to be way more in depth in the project, it really almost feels like you're working with someone together on the project.
I'm very interested in this question too and have compared the implementations of Cline and Claude Code. However, I haven't found an answer. The tool design seems quite similar to Cline, but I noticed that Claude Code supports higher concurrency in calling tools, or perhaps its System prompt is written better?
I extracted it during digging/testing, this is 100% real
That's super cool. I just studied it for a while, and it gave me great inspiration. Thanks for sharing!
claude code imho found a way here to be way more in depth in the project, it really almost feels like you're working with someone together on the project.
I'm very interested in this question too and have compared the implementations of Cline and Claude Code. However, I haven't found an answer. The tool design seems quite similar to Cline, but I noticed that Claude Code supports higher concurrency in calling tools, or perhaps its System prompt is written better?
Honestly, I rarely use these two tools, I mainly focus on how to use prompt to construct the desired agent, so these prompt Settings are very enlightening to me, but I have not compared and studied the two. Sorry I can't answer your question. …
@mneuhaus Do you think that the dispatch_agent tool executing other tools for traversing the repo is the main thing that makes the biggest difference between Aider and Claude Code? If so, we should try to mimic the behavior in Aider.
It's been really interesting for me to play with Aider and Claude Code side-by-side. As folks in this thread have already touched on, there are pros and cons to each.
I think the main advantage that Claude Code has at the moment over Aider is its autonomy. It's much better able to navigate on its own and understand the codebase independently. In Aider, you have to specify which files to look at, what commands to run, etc.
However, that increased control in Aider is actually one of its big advantages as well. In really large codebases, it can be nice to be a bit more specific with the areas/files. In my opinion, it's also easier to review Aider-generated code since it does things more one step at a time.
If I had to boil down the things from Claude Code that I would most want in Aider, for me it would be:
- A better ability to understand the codebase without just embedding tons of files into the context (https://github.com/Aider-AI/aider/pull/3056 would help with this, but something more autonomous would be even better).
- An "agentic" mode, where multiple steps could be iterated on, including incorporating new files into the context and running commands. For this, the existing structures like
/addcould be used (maybe prompting the user for permission to/addnew files automatically).
I think what I want to see is def conceptually related. https://github.com/Aider-AI/aider/issues/3470
Effectively I think aider SHOULD be able to operate in a more hands off mode, with warning or guardrails. The very interactive route isn't always a good thing.
I'm actually using q developer, haven't used Claude Code yet, but have seen it do similar things: it can run commands. It seems aider refuses to do that. It can give instructions, but can't execute the plan.
And that would be very handy for editing too. After a change I want it to run a linter or run a test.
@YiguoHe did you really need to quote 2000 lines of text to post what amounts to a thumbs up?
And that would be very handy for editing too. After a change I want it to run a linter or run a test.
Aider does this by default. You define your lint/test commands in the aider config file. You can control whether it runs linting and tests there (linting is on by default, I believe testing needs to be turned on). What I'd like to see is aider having a specific prompt or smarts to edit its own config file so it can pull the lint / test commands from the readme and set that up itself.
Just FYI they're taking down the Claude repos (DMCA). Get 'em while they're hot!
And that would be very handy for editing too. After a change I want it to run a linter or run a test.
Aider does this by default. You define your lint/test commands in the aider config file. You can control whether it runs linting and tests there (linting is on by default, I believe testing needs to be turned on). What I'd like to see is aider having a specific prompt or smarts to edit its own config file so it can pull the lint / test commands from the readme and set that up itself.
Just FYI they're taking down the Claude repos (DMCA). Get 'em while they're hot!
which ones?
And that would be very handy for editing too. After a change I want it to run a linter or run a test.
Aider does this by default. You define your lint/test commands in the aider config file. You can control whether it runs linting and tests there (linting is on by default, I believe testing needs to be turned on). What I'd like to see is aider having a specific prompt or smarts to edit its own config file so it can pull the lint / test commands from the readme and set that up itself. Just FYI they're taking down the Claude repos (DMCA). Get 'em while they're hot!
which ones?
lots of em
which ones?
The ones that have a DMCA takedown notice instead of the code you typically find in a GitHub repo.
@YiguoHe did you really need to quote 2000 lines of text to post what amounts to a thumbs up?
hahha, I do not know what you mean but I am sorry ift i did anything wrong. I do seldom use github so not familiar with its functions.
Hullo folks, I opened #3781, which is a fairly complete (except MCP, given #3672) integration of Claude Code like functionality (but totally from scratch, with no code or content from CC) into Aider.
I'm continuing to maintain and evolve it, as I've been using it to build itself. Feedback would be really welcome!
If anyone wants to be particularly adventurous, I would encourage you to turn on /granular-editing, which uses tool use for editing instead of SEARCH/REPLACE blocks.
There will still be bugs, but as I mentioned, I'm using it all day every day and it... is pretty much complete and works really well. I've been able to use it as a pretty direct substitute for Claude Code, except with all the aider goodness.
And that would be very handy for editing too. After a change I want it to run a linter or run a test.
Aider does this by default. You define your lint/test commands in the aider config file. You can control whether it runs linting and tests there (linting is on by default, I believe testing needs to be turned on). What I'd like to see is aider having a specific prompt or smarts to edit its own config file so it can pull the lint / test commands from the readme and set that up itself.
Just FYI they're taking down the Claude repos (DMCA). Get 'em while they're hot!
Claude Code already pull those from package.json or other language specific metadata.
I think tools should be minimal configuration and as much as possible autonomous. If it is a complete new project, go in architect mode to suggest an implementation plan, be interactive to request the user to provide guidance on what it wants. That should include figuring out all the basic best practices:
- Linting
- Formatting
- Developer Standard
- Repo structure (Including creating the README.md, Contributing.md, Security.md and all the other standard documents, and letting the user decide if they want to remove or add to it)
- The tools should be able to figure this all out by reading the existing repo structure (File exist, source code use which standards CamelCase vs others..., .git/config, package.json, ...)
@YiguoHe did you really need to quote 2000 lines of text to post what amounts to a thumbs up?
hahha, I do not know what you mean but I am sorry ift i did anything wrong. I do seldom use github so not familiar with its functions.
Your reply make reading the thread very painful, you would be welcome to delete your reply and just repost with your comment without the quote. I think whole bunch of people would be grateful!
Guys I need this :)
Please do not discuss the source code to any non-open-source tools or repositories.
I'm labeling this issue as stale because it has been open for 2 weeks with no activity. If there are no additional comments, I will close it in 7 days.
Note: A bot script made these updates to the issue.
not stale
not stale!