Skip to content

olimorris/codecompanion.nvim

Repository files navigation

CodeCompanion.nvim

Code with LLMs and Agents via the in-built adapters, the community adapters or by building your own

New features are always announced here

๐Ÿ’œ Sponsors

Thank you to the following people:

User avatar: Qiu YuUser avatar: Adam TrepanierUser avatar: Jeff GordonUser avatar: Linfeng LiUser avatar: Bryce NealUser avatar: Pratyush MittalUser avatar: Markus KollerUser avatar: Juan Carlos RuizUser avatar: Alexander GarciaUser avatar: Rishab Garg

If you love CodeCompanion and use it in your workflow, please consider sponsoring me

โœจ Features

๐Ÿ“ธ In Action

WelcomeToCodeCompanion.mp4

ToolsAndAgenticWorkflows.mp4

InlineAssistant.mp4

๐Ÿš€ Getting Started

Everything you need to know about CodeCompanion (installation, configuration and usage) is within the docs.

๐Ÿงฐ Troubleshooting

Before raising an issue, there are a number of steps you can take to troubleshoot a problem:

Checkhealth

Run :checkhealth codecompanion and check all dependencies are installed correctly. Also take note of the log file path.

Turn on logging

Update your config and turn debug logging on:

-- lazy.nvim
{
  "olimorris/codecompanion.nvim",
  dependencies = {
    "nvim-lua/plenary.nvim",
    "nvim-treesitter/nvim-treesitter",
  },
  opts = {
    -- NOTE: The log_level is in `opts.opts`
    opts = {
      log_level = "DEBUG", -- or "TRACE"
    },
  },
},

-- Other package managers
require("codecompanion").setup({
  opts = {
    log_level = "DEBUG", -- or "TRACE"
  }
})

and inspect the log file as per the location from the checkhealth command.

Try with a minimal.lua file

A large proportion of issues which are raised in Neovim plugins are to do with a user's own config. That's why I always ask users to fill in a minimal.lua file when they raise an issue. We can rule out their config being an issue and it allows me to recreate the problem.

For this purpose, I have included a minimal.lua file in the repository for you to test out if you're facing issues. Simply copy the file, edit it and run neovim with nvim --clean -u minimal.lua.

๐ŸŽ Contributing

I am open to contributions but they will be implemented at my discretion. Feel free to open up a discussion before embarking on a PR and please read the CONTRIBUTING.md guide.

๐Ÿ‘ Acknowledgements