Skip to content

Installation

IMPORTANT

The plugin requires the markdown Tree-sitter parser to be installed with :TSInstall markdown

Requirements

  • The curl library
  • Neovim 0.10.0 or greater
  • (Optional) An API key for your chosen LLM

Installation

The plugin can be installed with the plugin manager of your choice:

Lazy.nvim

lua
{
  "olimorris/codecompanion.nvim",
  opts = {},
  dependencies = {
    "nvim-lua/plenary.nvim",
    "nvim-treesitter/nvim-treesitter",
  },
},

Packer

lua
use({
  "olimorris/codecompanion.nvim",
  config = function()
    require("codecompanion").setup()
  end,
  requires = {
    "nvim-lua/plenary.nvim",
    "nvim-treesitter/nvim-treesitter",
  }
}),

vim-plug

vim
call plug#begin()

Plug 'nvim-lua/plenary.nvim'
Plug 'nvim-treesitter/nvim-treesitter'
Plug 'olimorris/codecompanion.nvim'

call plug#end()

lua << EOF
  require("codecompanion").setup()
EOF

Pinned plugins

As per #377, if you pin your plugins to the latest releases, ensure you set plenary.nvim to follow the master branch:

lua
{ "nvim-lua/plenary.nvim", branch = "master" },

Completion

Out of the box, the plugin supports completion with both nvim-cmp and blink.cmp. For the latter, on version <= 0.10.0, ensure that you've added codecompanion as a source:

lua
sources = {
  per_filetype = {
    codecompanion = { "codecompanion" },
  }
},

The plugin also supports native completion.

Help

If you're having trouble installing the plugin, as a first step, run :checkhealth codecompanion to check that plugin is installed correctly. After that, consider using the minimal.lua file to troubleshoot, running it with nvim --clean -u minimal.lua.

Released under the MIT License.