Live data from Hacker News

Aider: AI pair programming in your terminal

github.com

161–170 of 170 posts

Re: Aider: AI pair programming in your terminal

#161

Earlier quoted context omitted.

Personally the use for me has been in writing boilerplate. As an example, one of my ongoing goals has been to port all the view code of a project to another framework, following its idioms. Using an LLM, I can process a file in a couple of seconds, and checking that everything is right takes just a few seconds as well. It’d take me hours to go through every file manually, and it’d be prone to human error. It’s not te…

Most of the discussions about AI applied to coding end up having someone who states that it's just not worth it (at least the moment) and someone else who then chimes in to say that they mostly use it for "boilerplate" code. I have trouble understanding the "boilerplate" thing because avoiding writing boilerplate is 1) already a solved "problem" long before AI 2) is it really a "problem"? The first point: * If you fi…

Because we're all working at different companies on different codebases in different languages doing different things, we're all talking abstractly about something we think is the same, when really it isn't. Obvious to every programmer is to make a library if you're copy and pasting code multiple times, but the overhead of that means you don't do that if you only do that once or twice. the problem, in humans, as with LLMs, is the context window. after running create-react-app or whatever, there are a number of steps to do that are repetitive, but because that doesn't happen often enough to fully automate it, you just do it manually. LLMs let you do that level of boilerplate without all the overhead of manually configuring snippets in the IDE.

Re: Aider: AI pair programming in your terminal

#163
post #148

It gets commit messages wrong. Commit messages should signal intent, not what the patch does. "changing an enum" is a horrible commit message.

Adopt a convention like commitizen: https://github.com/commitizen/cz-cli 'typeofchange(scopeofchange): reason for change' It sort helps force devs to type out more meaningful commit messages.

That will not necessarily make aider write better commit messages (unless I possibly tell it explicitly why I am doing something in every instruction).

Re: Aider: AI pair programming in your terminal

#164

Earlier quoted context omitted.

In my experience, Supermaven makes Copilot look like a joke, and they’ve just released a Jetbrains plugin. YMMV. It’s just code suggestions though, no chat box.

I’ll be trying this today, thank you for the suggestion. 300K context window is awesome. I actually like completions more, it feels more natural. I’m fine to go to ChatGPT/Opus to chat if needed.

How did you get on?

Re: Aider: AI pair programming in your terminal

#165
Thanks for open sourcing this project! I've packaged it with nix to make it easier for others to use: https://github.com/nixvital/ml-pkgs/blob/main/pkgs/aider/def...

If you are running nixos, an example of using it can be found here: https://github.com/breakds/nixos-machines/blob/main/flake.ni...

Re: Aider: AI pair programming in your terminal

#166
post #87

I have this 300 line Go application which manages git tags for me. I asked it to implement a -dry-run function. It failed twice. First time it just mangled the file. Second time it just made code that didn't do anything. I asked it to rename a global variable. It broke the application and failed to understand scoping rules. Perhaps it is bad luck, or perhaps my Go code is weird, but I don't understand how y'all wanna…

Thanks for trying aider, and sorry to hear you had trouble working with it. It might be worth looking through some of the tips on the aider GitHub page [0]. In particular, this is one of the most important tips: Large changes are best performed as a sequence of thoughtful bite sized steps, where you plan out the approach and overall design. Walk GPT through changes like you might with a junior dev. Ask for a refactor…

How is "Walk GPT through changes like you might with a junior dev" not a horrific waste of time?

Usually you do this with a human as an investment in their future performance, with the understanding that this is the least efficient way to get the job done in the short term.

Having to take a product that is already supposed to "grok code" and make a similar investment doesn't make any sense to me.

Re: Aider: AI pair programming in your terminal

#167
post #4
post #2

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.

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

Personally I don't like the fragility/IDE-specificity of a lot of LSP setups.

I wish every language just came with a good ctags solution that worked with all IDEs. When this is set up properly I rarely need more power than a shortcut to look up tags.

Re: Aider: AI pair programming in your terminal

#168

Earlier quoted context omitted.

Thanks for trying aider, and sorry to hear you had trouble working with it. It might be worth looking through some of the tips on the aider GitHub page [0]. In particular, this is one of the most important tips: Large changes are best performed as a sequence of thoughtful bite sized steps, where you plan out the approach and overall design. Walk GPT through changes like you might with a junior dev. Ask for a refactor…

How is "Walk GPT through changes like you might with a junior dev" not a horrific waste of time? Usually you do this with a human as an investment in their future performance, with the understanding that this is the least efficient way to get the job done in the short term. Having to take a product that is already supposed to "grok code" and make a similar investment doesn't make any sense to me.

These models write code many orders of magnitude faster than an actual junior dev, so depending on one's "LLM foo" and tolerance for the process, it could definitely be worth it.

LLM foo is very much a real thing. They are surprisingly difficult to use well, but can be very powerful.

Re: Aider: AI pair programming in your terminal

#169

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 she…

Any chance for multi agents and/or a vs-code extension(for diffing / applying changes)? nmv on the vscode extension, I just found your other comment.

Re: Aider: AI pair programming in your terminal

#170

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 she…

Any chance for multi agents and/or a vs-code extension(for diffing / applying changes)? nmv on the vscode extension, I just found your other comment.

Could you explain what you mean by "multi agents"?
Post reply on HN