Skip to content

editor-code-assistant/eca-emacs

Repository files navigation

ECA Emacs

⚠️ The project is still alpha and experimental, with bugs and missing features, but being consistenly improved.

MELPA License: Apache 2.0

demo

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.

Requirements

  • Emacs 28.1 or later

Optional

  • Custom eca server binary, it's automatically downloaded if eca-custom-command is nil
    • Place it on your $PATH or customize eca-custom-command
  • whisper.el for Speech-to-Text support (optional)

Installation

Melpa (wip)

M-x package-install eca

Doom Emacs:

(package! eca :recipe (:host github :repo "editor-code-assistant/eca-emacs" :files ("*.el")))

Quickstart

  1. 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.
  1. The dedicated chat window <eca-chat> pops up.
  2. Type your prompt after the > and press RET.
  3. Attach more context auto completing after the @.

Usage

Speech-to-Text support

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"))

Contributing

Contributions are very welcome, please open a issue for discussion or pull request.

About

Editor Code Assistant (ECA) integration for Emacs

Resources

License

Stars

Watchers

Forks

Releases

No releases published