doc/index.md
AI Coding, Vim Style
CodeCompanion is a plugin which enables you to code with AI, using LLMs and agents, in Neovim.
<p> <video controls muted src="https://github.com/user-attachments/assets/3cc83544-2690-49b5-8be6-51e671db52ef"></video> </p>CLAUDE.md, .cursor/rules and your own custom onesThe plugin utilises objects called interactions. These are the different ways that a user can interact with the plugin. The chat interaction harnesses a buffer to allow direct conversation with the LLM. The inline interaction allows for output from the LLM to be written directly into a pre-existing Neovim buffer.
The plugin allows you to specify adapters for each interaction and also for each prompt library entry.
CodeCompanion uses HTTP and ACP adapters to connect to LLMs and agents. Out of the box, the plugin supports:
anthropic) - Requires an API key and supports prompt cachingauggie_cli) - Requires an API keycagent)claude_code) - Requires an API key or a Claude Pro subscriptioncline_cli)codex) - Requires an API keycopilot) - Requires a token which is created via :Copilot setup in Copilot.vimdeepseek) - Requires an API keygemini) - Requires an API keygemini_cli) - Requires an API key or a Gemini Pro subscriptiongithubmodels) - Requires gh to be installed and logged ingoose) - Requires an API keyhuggingface) - Requires an API keykilocode) - Requires an API keykimi_cli) - Requires an API keymistral) - Requires an API key or a Le Chat Pro subscriptionnovita) - Requires an API keyollama) - Both local and remotely hostedopenai) - Requires an API keyopencode) - Requires an API keyxai) - Requires an API keyIn order to add a custom adapter, please refer to the extending adapters documentation. Also, be sure to check out the community adapters section for user contributed adapters.