ECA (Editor Code Assistant) Emacs is an AI-powered pair-programming client for Emacs.
Inspired by lsp-mode’s JSONRPC handling, it connects to an external eca
server process to provide interactive chat, code suggestions, context management and more.
For more details about ECA, check ECA server.
- Emacs 28.1 or later
- Custom
eca
server binary, it's automatically downloaded ifeca-custom-command
isnil
- Place it on your
$PATH
or customizeeca-custom-command
- Place it on your
- whisper.el for Speech-to-Text support (optional)
M-x package-install eca
(package! eca :recipe (:host github :repo "editor-code-assistant/eca-emacs" :files ("*.el")))
- Run
M-x eca
to start the eca process and initialize the workspace.
- eca-emacs will check for
eca-custom-command
; - if not set, will check for a
eca
on$PATH
; - if not found, will download
eca
automatically and cache it.
- The dedicated chat window
<eca-chat>
pops up. - Type your prompt after the
>
and press RET. - Attach more context auto completing after the
@
.
If you have whisper.el installed you can use the eca-chat-talk
command (or use the C-t
keybinding) to talk to the Editor Code
Assistant. This will record audio until you press RET
. Then, the
recorded audio will be transcribed to text and placed into the chat
buffer.
We recommend to use the small
, it is a good trade-off between
accuracy and transcription speed.
(use-package whisper
:custom
(whisper-model "small"))
Contributions are very welcome, please open a issue for discussion or pull request.