Skip to content

editor-code-assistant/eca

Repository files navigation

GitHub Release GitHub Stars License: Apache 2.0

ECA (Editor Code Assistant)

Demo using eca-emacs demo

Demo using eca-vscode demo


installationfeaturesconfigurationmodelsprotocol


  • 📄 Editor-agnostic: protocol for any editor to integrate.
  • ⚙️ Single configuration: Configure eca making it work the same in any editor via global or local configs.
  • Chat interface: ask questions, review code, work together to code.
  • Agentic: let LLM work as an agent with its native tools and MCPs you can configure.
  • 💉 Context: support: giving more details about your code to the LLM.
  • 🚀 Multi models: OpenAI, Anthropic, Ollama local models, and custom user config models.

Rationale

A Free and OpenSource editor-agnostic tool that aims to easily link LLMs <-> Editors, giving the best UX possible for AI pair programming using a well-defined protocol. The server is written in Clojure and heavily inspired by the LSP protocol which is a success case for this kind of integration.

The protocol makes easier for other editors integrate and having a server in the middle helps adding more features quickly like exporting metrics of features usage or single way to configure it for any editor.

Getting started

Install the plugin for your editor and ECA server will be downloaded and started automatically.

Supported editors

  • Emacs
  • VsCode
  • Intellij: Planned, help welcome
  • Vim: Planned, help welcome

How it works

Editors spawn the server via eca server and communicate via stdin/stdout. Logs are printed to stderr, use --verbose to log client<->server communication or --log-level debug to log more info like LLM responses.

Supported editors already download latest server on start and require no extra configuration

Roadmap

Check the planned work here.

Troubleshooting

You can start eca with --log-level debug which should log helpful information in stderr buffer like what is being sent to LLMs.

Contributing

Contributions are very welcome, please open an issue for discussion or a pull request. For developer details, check this doc.

Support the project 💖

Consider sponsoring the project to help grow faster, the support helps to keep the project going, being updated and maintained!

About

Editor Code Assistant (ECA) - AI pair programming capabilities agnostic of editor

Topics

Resources

License

Stars

Watchers

Forks

Sponsor this project

 

Contributors 2

  •  
  •