aider icon indicating copy to clipboard operation
aider copied to clipboard

Some pet peeves with aider.chat

Open takeoffnetworks opened this issue 1 year ago • 4 comments

Huge fan of aider and have been upgrading and using every version since 0.4x - I use aider extensively in my day to day. Couple of pet peeves and issues with the software. Fixing these would make a huge difference. I use aider v0.57.1 with sonnet 3.5

If I should add each of these as a separate issue I can do that. Apologies in advance if I have not followed the issue filing protocol.

  1. A way to add files with wildcard or with some auto complete help
  2. A way to talk to the @codebase (ala cursor) without having to add each and every file
  3. If there is a suggestion to run a command - eg. "python example.py" and I say No then it should have memory to not ask me again - ideally ever but at least for that session
  4. If a file is moved or removed then the repo map does not get updated even after a /map-refresh
  5. This was one problem for one project where the directory structure was convoluted ... eg. /src/websocket_calling/static/websocket_calling/js/ ... and aider kept wanting to ingore the websocket_calling/js/ and adding files at 2-3 levels above ... inspite of the same file being there in the repo. It would make all the changes in the correct file but then at the end ask if we wanted to add this new file in as well.
  6. It sometimes gives a bunch of commands (bash, flake, git) to run on the command line ... not sure why - as an example
Tokens: 6.7k sent, 701 received. Cost: $0.03 message, $0.36 session.
Applied edit to holodeck_sim/components/carousel.py
Commit ac565b0 feat: Add add_child_item method to Carousel class and fix render method

# After making the changes                                                             
git add holodeck_sim/components/carousel.py                                            
git commit -m "feat: Add add_child_item method to Carousel class and fix render method"
                                                                                       
# Run the application                                                                  
python example.py

takeoffnetworks avatar Sep 28 '24 08:09 takeoffnetworks

Thank you for filing this issue.

  1. You can use wildcards when adding files, e.g. /add src/*.py will add all Python files in the src folder
  2. You can talk to you code base using /ask, thanks aider's repository map the LLM will ask you for files it needs to answer your question. Or you can add those files directly. It may not be as comfortable or polished as Cursor, but then again, aider is also not a closed source VC funded project that already asks for monthly subscription money.
  3. This is fixed in recent versions of aider.
  4. For aider the git repository is the source of truth, if a file is not part of the repository aider will not know it. Do a /commit after changing files from outside and aider will update everything for you. See also -> https://aider.chat/docs/usage/tips.html#creating-new-files
  5. This seems to be a problem with a huge repository or too many files and the LLM got confused. aider itself only executes what the LLM tells it to do at the end. See also -> https://aider.chat/docs/faq.html#how-can-i-add-all-the-files-to-the-chat
  6. Again, this is the LLM getting confused, this can happen sometimes. You can tell aider to ignore those commands from the LLM and not ask you to execute them with adding --no-suggest-shell-commands on the command line.

fry69 avatar Sep 28 '24 09:09 fry69

Hi thanks for the prompt response. Did not mean to diss the tool - I love it and am a big fan. I understand it may have limited functionalities vis a vis Cursor but this was just a suggestion.

  1. For the add with wildcard at least for 0.57.1 it only adds three files when using add *.py etc.
  2. The ask is a useful feature but @Codebase is to also pick the relevant files for making changes ... maybe for the future versions

Will try your other suggestions. Thanks

One last thing I noticed after I posted this comment was that the aider via python or aider via scripting does not work very well. The aider via python bombed out due to some script mode error and the aider via command line (triggered from python) created multiple versions of files, in the wrong directories and some symbols in the suffix after the extension. I was trying to build a iterative loop with aider and console output to help resolve errors which typically abound when you start with llm code for a complex problem.

takeoffnetworks avatar Sep 29 '24 11:09 takeoffnetworks

This document may be helpful -> https://aider.chat/docs/troubleshooting/imports.html

fry69 avatar Sep 29 '24 11:09 fry69

please see https://github.com/paul-gauthier/aider/pull/1620

this resolves many, many problems with "adding file by wildcard"

jerzydziewierz avatar Sep 30 '24 08:09 jerzydziewierz

I'm going to close this issue for now, but feel free to add a comment here and I will re-open. Or feel free to file a new issue any time.

paul-gauthier avatar Oct 07 '24 20:10 paul-gauthier