# ECA (Editor Code Assistant)

ECA is an editor-agnostic, LSP-inspired protocol and server, written in Clojure, for AI pair programming: it gives chat, rewrite and completion the same behavior in Emacs, VS Code, IntelliJ, Neovim or a desktop client, all configured once regardless of which editor is running it.

ECA, short for Editor Code Assistant, is a free and open-source protocol and server for AI pair programming that any editor can integrate against, so the same configuration and behavior works the same way in every supported editor. Editors spawn the server with a single command and talk to it over stdin and stdout, similar to how a Language Server Protocol server works, and supported editors download and start the latest server automatically.

Features include chat, rewrite and completion powered by whichever LLM a user configures, agents and subagents with different models, tools and behaviors, context support including MCP resources and prompts, login to OpenAI, Anthropic, Copilot, Ollama and other model providers, and OpenTelemetry export of tool, prompt and server usage metrics. Editor plugins exist for Emacs, VS Code, Vim, IntelliJ and a standalone desktop client.

Website: http://eca.dev
