[HN Gopher] Aider: AI pair programming in your terminal
       ___________________________________________________________________
        
       Aider: AI pair programming in your terminal
        
       Author : tosh
       Score  : 62 points
       Date   : 2024-04-10 21:06 UTC (1 hours ago)
        
 (HTM) web link (github.com)
 (TXT) w3m dump (github.com)
        
       | tyoma wrote:
       | I've used aider to understand new codebases using technologies I
       | don't know and it did a fantastic job; much faster than grep/find
       | + google.
        
         | fyrn_ wrote:
         | To be fair in a world of good LSP impls, grep/find are really
         | primative tools to be using. Not saying this isn't better then
         | a more sophisicated editor setup, just that grep and find are a
         | _really_ low bar
        
           | shadowgovt wrote:
           | When we reach that world, let me know. I'm still tripping
           | over a "python-lsp-server was simply not implemented async so
           | sometimes when you combine it with emacs lsp-mode it eats
           | 100% CPU and locks your console" issue.
        
       | danenania wrote:
       | People interested in Aider (which is an awesome tool) might also
       | be interested in checking out my project Plandex[1]. It's
       | terminal-based like Aider and has a somewhat comparable set of
       | features, but is more focused on using LLMs to work on larger and
       | more complex tasks that span many files and model responses. It
       | also uses a git-style CLI approach with independent commands for
       | each action vs. Aider's interactive shell.
       | 
       | I studied Aider's code and prompts quite a bit in the early
       | stages of building Plandex. I'm grateful to Paul for building it
       | and making it open source.
       | 
       | 1 - https://github.com/plandex-ai/plandex
        
         | joshstrange wrote:
         | Do you have any plans to build IDE plugins for this? I
         | understand it's open source and anyone could add that, I was
         | just wondering if that was even on the roadmap? Having this run
         | in my IDE would just so awesome with diff tool I'm used to,
         | with all the other plugins/hotkeys/etc I use.
        
           | danenania wrote:
           | Yes, VSCode and JetBrains plugins are on the roadmap. Here's
           | the current roadmap by the way: https://github.com/plandex-
           | ai/plandex#roadmap-%EF%B8%8F (it's not exhaustive, but can
           | give you a sense of where I'd like to take Plandex in the
           | future).
        
             | joshstrange wrote:
             | And I completely missed that somehow... My apologies. Thank
             | you for pointing that out.
        
               | danenania wrote:
               | No worries, it's pretty far down in the readme :)
        
         | carom wrote:
         | How do you situate changes in a file? That seems like the hard
         | part to me since the LLM can't necessary count to output a
         | patch with line numbers.
        
           | danenania wrote:
           | It does use line numbers, which definitely aren't infallible.
           | That's why a `plandex changes` TUI is included to review
           | changes before applying. Unfortunately no one has figured out
           | a file update strategy yet that doesn't make occasional
           | mistakes--probably we'll need either next-gen models or fine-
           | tuning to get there.
           | 
           | That said, counting isn't necessarily required to use line
           | numbers. If line numbers are included in the file when it's
           | sent to the model, it becomes more a text analysis task
           | rather than a counting task. Here are the relevant prompts:
           | https://github.com/plandex-
           | ai/plandex/blob/main/app/server/m...
        
       | beastman82 wrote:
       | This tool is amazing
        
       | rbren wrote:
       | We have an issue in OpenDevin to add Aider as an agent, if anyone
       | wants to take a crack at it:
       | 
       | https://github.com/OpenDevin/OpenDevin/issues/120
        
       | pax wrote:
       | I revisited Aider a couple of days ago, after going in circles
       | with AutoGPT - which seemed to either forget or go lazy after a
       | few prompts - to the point it refused to do something that it did
       | a few prompts before. Then Aider delivered from the first prompt.
       | 
       | PS. I've gathered a list of LLM agents (for coding and general
       | purpose)
       | https://docs.google.com/spreadsheets/d/1M3cQmuwhpJ4X0jOw5XWT...
        
       | joshstrange wrote:
       | I'm interested in this and will probably set it up but I wish
       | more AI tools were better integrated to my IDE. I know GH Copilot
       | is and other big AI tools have plugins with chat/edit features
       | but most of the cool open source doesn't seem to support
       | IDEA/JetBrains.
       | 
       | I see the power of LLMs. I use GH Copilot, I use ChatGPT, but I
       | crave deeper integration in my existing toolset. I need to force
       | myself to try in-IDE Copilot Chat. My habit is to go to ChatGPT
       | for anything of that nature and I'm not sure why that is.
       | Sometimes it's the same way I break down my search to for things
       | "I know I can find" then put together the results. In the same
       | way I break down the problem into small pieces and have ChatGPT
       | write them individually or somethings additively.
        
         | Onawa wrote:
         | I didn't get time to test it beyond installing it on VSCode
         | today, but take a look at
         | https://GitHub.com/continuedev/continue, Apache 2.0 license,
         | and they have an IDEA/Jetbrains plugin. Plus codebase context,
         | full configurability to use local or remote LLMs.
        
           | joshstrange wrote:
           | I probably need to give it another try but I tried that
           | before with my own GPT-4 key, a local model, and their models
           | and just got errors last time I tried it. I hope that was
           | just a temp issue but because of that I moved on. Also I've
           | tried Cody Pro (again, weird errors and when it did work I
           | felt like Copilot would have done better).
        
         | anotherpaulg wrote:
         | Folks have developed VSCode and NeoVim integrations for aider.
         | They're based on forks of aider, so I'm not sure how carefully
         | their authors are keeping them up to date with aider releases.
         | 
         | The aider install instructions has more info:
         | 
         | https://aider.chat/docs/install.html#add-aider-to-your-edito...
        
         | j45 wrote:
         | Aider works a little different where it doesn't just code
         | complete or focus on a function level. It can solve much bigger
         | problems.
        
       | wanderingmind wrote:
       | Aider has a big problem when working with python codebase.
       | 
       | 1. Its dependencies will conflict with your code requirements.
       | 
       | 2. If you don't install it within the code environment, you can
       | use `aider run` where you can run local commands and pipe their
       | outputs.
       | 
       | 3. You will need to use all it's dependencies even in prod
       | environment that can increase the attack surface.
       | 
       | So until they introduce a global binary install, I suggest using
       | Plandex which is based on Go and can work across any environment
       | within the system
        
         | anotherpaulg wrote:
         | Thanks for trying aider, and sorry to hear you had dependency
         | conflicts.
         | 
         | You can install aider with pipx to avoid this. There's a FAQ
         | entry that explains how:
         | 
         | https://aider.chat/docs/faq.html#how-to-use-pipx-to-avoid-py...
         | 
         | Also, why would you want to install aider in a production
         | environment? It's a development tool, I wouldn't expect anyone
         | to use it in prod. But maybe there's a use case I'm not
         | thinking of?
        
           | wanderingmind wrote:
           | Thank you, didn't know about pipx possibility. Will give it a
           | shot.
           | 
           | I don't want aider in prod environment. Im saying its hard to
           | remove it from prod if we can't isolate it from code
           | dependencies as its hard to maintain multiple
           | requirements.txt for different envs.
        
       | DonHopkins wrote:
       | When working alone remotely from home, I simulate pair
       | programming with a methodology I call "The Stranger". I sit on
       | one of my hands until it becomes numb and tingly, and then it
       | feels like somebody else is typing and moving the mouse!
        
       | renewiltord wrote:
       | I have used this technique for months and it's great
       | https://x.com/arjie/status/1575201117595926530
       | 
       | I just have copilot in my editor and switch into my editor with
       | C-x C-e for AI completion. I use neovim like example but you can
       | use whatever you like.
       | 
       | EDIT: Oh never mind. I see what it is now. It's a terminal based
       | flow for editing code. Mine is for command line writing live.
        
       | devstein wrote:
       | Big fan of Aider.
       | 
       | We are interesting in integrating Aider as a tool for Dosu
       | https://dosu.dev/ to help it navigate and modify a codebase on
       | issues like this https://github.com/langchain-
       | ai/langchain/issues/8263#issuec...
        
       | fvdessen wrote:
       | I just tried it and it's amazingly cool, but the quality of the
       | output just isn't there for me yet. It makes too much subtle
       | errors to be as useful as the screenshots and the gifs makes it
       | look
        
       ___________________________________________________________________
       (page generated 2024-04-10 23:00 UTC)