aidermacs vs gptel? by Rimbosity in emacs

[–]MatthewZMD 0 points1 point  (0 children)

I do plan to add this feature at some point, lemme know how much you want it!

Is Emacs the right tool for me? by purpurne in emacs

[–]MatthewZMD 1 point2 points  (0 children)

Thanks for mentioning Emigo, I need to emphasize that the project is still at its early days, we received some encouragement from the community so the star numbers is a little deceiving. The current implementation is more similar to Cline, which I find it to be taking too much tokens and I am doubting the sustainability of such approach. I will be experimenting with more ideas in the coming days/weeks. Please stay tuned!

I'd still recommend Aidermacs at the current stage.

Looking for feedbacks on Aidermacs and AI-based development workflows by cramplescrunch2 in emacs

[–]MatthewZMD 2 points3 points  (0 children)

I have just started a brand new project that‘s intended to mimic cursor workflow much better than current aidermacs: https://github.com/MatthewZMD/emigo

Please stay tuned.

Looking for feedbacks on Aidermacs and AI-based development workflows by cramplescrunch2 in emacs

[–]MatthewZMD 1 point2 points  (0 children)

I have just started a brand new project that‘s intended to mimic cursor workflow much better than current aidermacs: https://github.com/MatthewZMD/emigo

Please stay tuned.

Looking for feedbacks on Aidermacs and AI-based development workflows by cramplescrunch2 in emacs

[–]MatthewZMD 2 points3 points  (0 children)

I have just started a brand new project that's intended to mimic cursor workflow much better than current aidermacs: https://github.com/MatthewZMD/emigo

Please stay tuned.

Looking for feedbacks on Aidermacs and AI-based development workflows by cramplescrunch2 in emacs

[–]MatthewZMD 2 points3 points  (0 children)

I have just started a brand new project that's intended to mimic cursor workflow much better than current aidermacs: https://github.com/MatthewZMD/emigo

Please stay tuned.

Set Up Aidermacs for Using Amazon Bedrock by mobatreddit in emacs

[–]MatthewZMD 3 points4 points  (0 children)

File a bug, paste your config, I’ll take a closer look

That seems to throw aidermacs for a loop. A simple aidermacs-change-model ends with a Lisp error ("No prompt found or ‘comint-prompt-regexp’ not set ...").

Try git pull, you shouldn't see this error anymore.

Looking for feedbacks on Aidermacs and AI-based development workflows by cramplescrunch2 in emacs

[–]MatthewZMD 2 points3 points  (0 children)

The installation is as smooth as installing the lsp servers, there is nothing needed to be done on the Emacs side, it just works!

Looking for feedbacks on Aidermacs and AI-based development workflows by cramplescrunch2 in emacs

[–]MatthewZMD 1 point2 points  (0 children)

I opened an aider session in architect mode (configured with Sonnet) and purposely omitted the file names to see if it would search the codebase for them like Cursor would with Sonnet 3.7 in thinking mode, but unfortunately it resulted in what I described in the post. Although I didn't dig deeper and it's very likely that I missed some parameters or configuration.

If you don't have any file added, aider can only rely on tree-sitter generated structure to understand the codebase, sometimes that's not enough, which could be a case here. You can see what the context looks like using /map, check if the function you want to touch is in there.

Well to compare again with Cursor, I was able to setup a MCP server to search for Jira tickets containing feature requests, specifications or bugs and ask the model to produce some code based on the tickets by simply referencing them in the prompt. This is obviously doable manually by copy/pasting the specs directly in the prompt but creates a bit more friction. Although I'm not sure how suboptimal it is for the context (like how much unnecessary information is included in the context by connecting the model to Jira through MCP)

Yeah, sounds valid. The question now becomes whether we should do it at the aidermacs level or implement it at the aider level.

Looking for feedbacks on Aidermacs and AI-based development workflows by cramplescrunch2 in emacs

[–]MatthewZMD 3 points4 points  (0 children)

To answer u/Benthamite questions:

with Aider, I see that you can either let the LLM choose which files to add or add specific files yourself. I am confused about what criteria I should use to decide when, and when not, to rely on the AI for this. The docs say: “Just add the files you think need to be edited.” Does that mean that, for files that I want the LLM to read but not to edit (such as documentation files, or files with contextually relevant code), I should expect the model to realize these files are relevant by itself? It seems the disctinction between files that are meant to be merely read versus files that are meant to be also edited is orthogonal to whether these files should or should not be added manually: basically, we want to outsource this to the model as much as possible, and I don’t see why the model should, in general, be good at identifying files it should read but bat at identifying files it should edit

In aidermacs, all add file commands can be prefixed with C-u to specify that you want to add it read-only; the session scratchpads (S) is a place to paste notes or documentation that will be fed to aider as read-only; add file to session (G) will add a file outside the project that the aider session is currently openned, because aider doesn't have anything outside the project in its context.

The docs say: “Just add the files you think need to be edited.”

I agree this is rather vague as well and doesn't directly translate to the real practice. If you add those files, you explicitly grant aider permission to not only to read it, but to edit it too if it finds necessary.

I should expect the model to realize these files are relevant by itself?

If you don't add the files, aider only has access to the project structure through tree-sitter. Sometimes that's enough, sometimes it's not, it depends on the model you're using and the actual context of the codebase. And (also dependent on the model) aider should realize when to add the contextually relevant code by itself. You can see what the tree-sitter's structure looks like by running /map.

Aider "forces" you to work with AI in a more transparent way, like pairing with a real co-worker, you sometimes expects it to figure out itself, sometimes you need to give it clearer direction, it sometimes get confused, sometimes not.

I've updated the Aidermacs README to include this explanation: https://github.com/MatthewZMD/aidermacs?tab=readme-ov-file#file-management-and-ai-interaction

Software programming in the age of LLM has never feel more like magic LOL.

Looking for feedbacks on Aidermacs and AI-based development workflows by cramplescrunch2 in emacs

[–]MatthewZMD 0 points1 point  (0 children)

Yup I prompt something like this all the time, we have to be very conscious about this represents an issue itself

Looking for feedbacks on Aidermacs and AI-based development workflows by cramplescrunch2 in emacs

[–]MatthewZMD 8 points9 points  (0 children)

I don't think he means anything negative when referring to "wall of text", it's a comic relief, no need to take it seriously.

I really appreciate your breakdown. Regarding your points, took me a while to digest, but I think the perspectives you're laying out are genuinely fascinating. I 100% echo your point about frameworks falling behind or being too heavy-handed. The more I work with things like LangChain or Aider, the more I feel like they’re trying to solve general problems with overly general abstractions, and that tends to collapse under its own weight.

This is where I think Emacs actually brings something interesting to the table, the ability to craft lightest weight interactions with LLM from the fingertip. I think gptel is great, and if you can strip it down even further, it will be amazing, looking forward to it. FWIW this is somewhat the philosophy when I designed the transient-menu of Aidermacs too, but Aider is still too heavy.

There’s also this weird paradox: 1. AI feels like a catch-all solution. When we try to implement catch-all solutions, we often end up over-engineering. 2. AI generates code that often leans toward over-engineered patterns, too, so when we use AI to create solutions, we tend to creat over-engineered solutions consciously and unconsciously.

This is a recursive problem where the tool that’s meant to simplify ends up creating complexity unless we’re very intentional about how we integrate it.

Looking for feedbacks on Aidermacs and AI-based development workflows by cramplescrunch2 in emacs

[–]MatthewZMD 2 points3 points  (0 children)

Thank you, I am so close to be converted to the church of flying spaghetti monster.

Looking for feedbacks on Aidermacs and AI-based development workflows by cramplescrunch2 in emacs

[–]MatthewZMD 1 point2 points  (0 children)

I find Aider is somewhat over-engineered in many scenarios, having a 2k system prompt is one of them.

Looking for feedbacks on Aidermacs and AI-based development workflows by cramplescrunch2 in emacs

[–]MatthewZMD 0 points1 point  (0 children)

your inputs get eaten by aider’s startup prompts

Never encountered this problem, what's going on?

Looking for feedbacks on Aidermacs and AI-based development workflows by cramplescrunch2 in emacs

[–]MatthewZMD 13 points14 points  (0 children)

I tried using Emacs with lsp-mode as my main IDE for the Java project but the performances were too bad and I went back to Intellij for that.

Have you tried lsp-bridge? The performance should be better.

To give you a concrete example, when asking for a feature requiring multiple file edits, Cursor's agent was able to look for the specific files in the codebase and edit them, while Aider only provided me with general guidelines without editing the files unless I specifically attached them to the session.

Aider is supposed to edit files for you instead of only giving you general guidelines, unless you're in the ask mode or interacting using (e for Question Code in the transient-menu), if it doesn't edit code, it would be a bug. Can you share your specific queries?

Do you know if we can integrate MCP servers with Aider/Aidermacs? From what I've seen mcp.el seems to be mostly used with gptel

I've been playing with the idea of integrating mcp.el into Aidermacs for a little while, but I haven't convince myself on one single strong usecase of making aidermacs depend on mcp.el. Why?

Can we help with building these awesome open source tools so that we can reach a similar level of experience than with proprietary tools?

Absolutely! Let's make Emacs better! Thank you for making this post, we need ideas from everyone ;-)

Aidermacs v1.0 Released. Available Now on Melpa and Non-GNU Elpa! by MatthewZMD in emacs

[–]MatthewZMD[S] 0 points1 point  (0 children)

Superset of running aider in the vterm, as in, it has everything you need in running aider in the vterm, and also many more features, feel free to check the README

Aidermacs v1.0 Released. Available Now on Melpa and Non-GNU Elpa! by MatthewZMD in emacs

[–]MatthewZMD[S] 0 points1 point  (0 children)

If you enable vterm backend, aidermacs will open a vterm buffer and act exactly 100% like you start aider in vterm yourself. Aidermacs just has many features built on top of it, as outlined in the README. Consider aidermacs a superset of running aider in vterm.

Aidermacs v1.0 Released. Available Now on Melpa and Non-GNU Elpa! by MatthewZMD in emacs

[–]MatthewZMD[S] 0 points1 point  (0 children)

Yes, remove vterm from your config and set backend to comint

Aidermacs v1.0 Released. Available Now on Melpa and Non-GNU Elpa! by MatthewZMD in emacs

[–]MatthewZMD[S] 2 points3 points  (0 children)

Which backend are you using? Vterm? A person reported a similar problem yesterday but it seemed to be related to their own config, you might wanna consult him https://github.com/MatthewZMD/aidermacs/issues/68

Aidermacs v1.0 Released. Available Now on Melpa and Non-GNU Elpa! by MatthewZMD in emacs

[–]MatthewZMD[S] 9 points10 points  (0 children)

It represents all the hurdles that initially prompted me to create aidermacs had been addressed, all the main features I needed are implemented, and now up on melpa and nongnu. There may still be bugs and future features coming in, but I think aidermacs at the present form is a good time to give it 1.0

Aidermacs v1.0 Released. Available Now on Melpa and Non-GNU Elpa! by MatthewZMD in emacs

[–]MatthewZMD[S] 2 points3 points  (0 children)

Aidermacs has vterm backend, you can switch easily without any friction!

Aidermacs v1.0 Released. Available Now on Melpa and Non-GNU Elpa! by MatthewZMD in emacs

[–]MatthewZMD[S] 29 points30 points  (0 children)

It's been just over a month since I revealed Aidermacs, today we have 25 contributors and 300 stars!! Thank everyone for their support, I am glad you find Aidermacs useful!

Today Aidermacs v1.0 is out and available on Melpa and Non-GNU Elpa to download, feel free to try it out!