Off topic but without going RTFM, is there a guide that goes through setting up emacs 'with the modern way'? I have done it before but in a mish-mash way where I want something that tells how to go from configuring comp-speed, elpaca, eglot, auto treesitter etc
One way is to start with bedrock https://git.sr.ht/~ashton314/emacs-bedrock
You will understand your config. Packages like elpaca and auto treesitter, just follow their readme's.
Or if you don't feel like learning the details, go with doom.
What is the modern way? Emacs is self documented like vim. Vim has the :help command, emacs have the Control + h prefix (or <f1> for an overview). You can start with a minimal config like Emacs Bedrock or Prelude, and then learn about those options first.
But the manual is very well written and worth the read. Emacs has its own culture, and the sooner you learn the conventions, the smoother your path will be.
Pretty sure they mean something that at least involves use-package, vertico/consult/etc. or equivalent, company or corfu, project.el or projectile, and magit.
> You can start with a minimal config like Emacs Bedrock or Prelude, and then learn about those options first.
Prelude seems nice but I wouldn’t call it minimal unless you’re comparing to Doom and Spacemacs.
Looks like efrit requires an Anthropic API Key, or at least that is what the README says, while gptel works with several different remote or local backends?
I think it might be 'e' for 'emacs' (there's precedent: eglot, eldoc, eshell, erc, emms) combined with 'ifrit', since "efrit" is a much less common spelling.
I wonder if this could be updated to use OpenRouter in a similar way to Emigo[1] was aiming to do.
(I use the past tense, because Emigo has not been updated in a quarter of a year, which seems as if it may as well be decades in the timeline of this sort of stuff.)
But, I cannot seem to get past this error when I run claude-code-ide: "Symbol’s function definition is void: project-root" I know this is defined in project.el, but claude has been surprisingly unhelpful at fixing this issue.
I'm feeling a bit frustrated by the state of emacs packages lately. I've used emacs for 30 years and it feels like things are getting worse.
I'm sorry it's not working. I've used emacs for almost 40 years and I'm definitely contributing to it being worse, by uploading efrit in its current state. But people were asking me for it. Damned if you do and all that.
I'm more than happy to work with you to get it working, with the caveat that it actually kind of sucks right now. It's no Claude Code. But I am quickly evolving it in that direction.
This is turn 4. Focus on any remaining tasks that haven't been completed yet. Don't repeat work that was already done in previous turns.
Assistant: I notice from the context that we're in a directory that might be related to a xxx project. Let me try to find and open the yyyy.ts file.
[Result: Error: Unknown tool 'resolve_path']
Yeah it really kind of sucks right now, it's more of a proof of concept.
I'm working on evolving it into something that's not so transactional -- it will work more like claude code. Didn't realize it was going to hit the front page today. I'll poke at it this weekend and send an update.
Neat. As a Claude Code plan user can I use this ? I've never tried the API access method.
Claude is remarkably effective at writing elisp I surprisingly found. I had it whip up a mode today for something today (Notation3/N3 RDF triples) complete with etags support, etc. and it just... did it.
Once emacs starts modifying its own lisp haven’t we unleashed agi?
Off topic but without going RTFM, is there a guide that goes through setting up emacs 'with the modern way'? I have done it before but in a mish-mash way where I want something that tells how to go from configuring comp-speed, elpaca, eglot, auto treesitter etc
One way is to start with bedrock https://git.sr.ht/~ashton314/emacs-bedrock You will understand your config. Packages like elpaca and auto treesitter, just follow their readme's.
Or if you don't feel like learning the details, go with doom.
There is a few solid prepackaged systems around now. Doom emacs is very comprehensive. Similar systems also exist rather than starting from nothing.
Elisp is a programming language that supports many ways to do things so there is lots of ways people do things.
What is the modern way? Emacs is self documented like vim. Vim has the :help command, emacs have the Control + h prefix (or <f1> for an overview). You can start with a minimal config like Emacs Bedrock or Prelude, and then learn about those options first.
But the manual is very well written and worth the read. Emacs has its own culture, and the sooner you learn the conventions, the smoother your path will be.
> What is the modern way?
Pretty sure they mean something that at least involves use-package, vertico/consult/etc. or equivalent, company or corfu, project.el or projectile, and magit.
> You can start with a minimal config like Emacs Bedrock or Prelude, and then learn about those options first.
Prelude seems nice but I wouldn’t call it minimal unless you’re comparing to Doom and Spacemacs.
It appears to have a feature overlap with gptel; would be nice to highlight the differences.
Looks like efrit requires an Anthropic API Key, or at least that is what the README says, while gptel works with several different remote or local backends?
Clever name. For thos curious Efrit is Genie in Arabic and possibly the same in neighboring languages such as Persian and Turkish..
> For thos curious Efrit is Genie in Arabi
More precisely, as I understand it, “genie" is an anglicization of its Arabic equivalent, “jinn"; Efrit is a specific kind of jinn.
Genie comes from Latin via French, it's not (just) a transliteration.
https://www.etymonline.com/word/genie
https://en.wikipedia.org/wiki/Genius_(mythology)
I think it might be 'e' for 'emacs' (there's precedent: eglot, eldoc, eshell, erc, emms) combined with 'ifrit', since "efrit" is a much less common spelling.
Yes, that's exactly why I chose it. It starts with an 'e' and it's not a super common spelling, so it wasn't taken.
Countries of origin kind of affect what's common. Where I'm from will write it efrit
I wonder if this could be updated to use OpenRouter in a similar way to Emigo[1] was aiming to do.
(I use the past tense, because Emigo has not been updated in a quarter of a year, which seems as if it may as well be decades in the timeline of this sort of stuff.)
[1] https://github.com/MatthewZMD/emigo
I managed to get this working with gemini by using a proxy [1] and the following config (I used quelpa)
I needed to remove the uvicorn version constraint when importing the project to uv to get it to find a version solution.Initially I thought you could send it directly to Gemini but apparently you need to proxy and translate the responses.
[1] Seems sketchy, use at your risk: https://github.com/coffeegrind123/gemini-for-claude-code
Congrats on getting it running! This thing is a huge POC (and arguably a POS) so be careful with it.
It's terrible at multi-step tasks right now. I'm evolving it to work more like claude code.
I'm fascinated by this and the recent claude-code-ide package: https://github.com/manzaltu/claude-code-ide.el
But, I cannot seem to get past this error when I run claude-code-ide: "Symbol’s function definition is void: project-root" I know this is defined in project.el, but claude has been surprisingly unhelpful at fixing this issue.
I'm feeling a bit frustrated by the state of emacs packages lately. I've used emacs for 30 years and it feels like things are getting worse.
I'm sorry it's not working. I've used emacs for almost 40 years and I'm definitely contributing to it being worse, by uploading efrit in its current state. But people were asking me for it. Damned if you do and all that.
I'm more than happy to work with you to get it working, with the caveat that it actually kind of sucks right now. It's no Claude Code. But I am quickly evolving it in that direction.
This project does not work for me either. Drat.
Yeah it really kind of sucks right now, it's more of a proof of concept.
I'm working on evolving it into something that's not so transactional -- it will work more like claude code. Didn't realize it was going to hit the front page today. I'll poke at it this weekend and send an update.
Ok, I might have to frame this comment. I'm a big fan.
After reading your wikipedia page, I didn't realize we were both at UWash CS at the same time. Small world.
Neat. As a Claude Code plan user can I use this ? I've never tried the API access method.
Claude is remarkably effective at writing elisp I surprisingly found. I had it whip up a mode today for something today (Notation3/N3 RDF triples) complete with etags support, etc. and it just... did it.