olimorris/codecompanion.nvim

website github github
ai
stars 3,318
issues 3
subscribers 21
forks 190
CREATED

2023-12-27

UPDATED

10 hours ago


:purple_heart: Sponsors

Thank you to the following people:

:sparkles: Features

  • :speech_balloon: Copilot Chat meets Zed AI, in Neovim
  • :electric_plug: Support for Anthropic, Copilot, GitHub Models, DeepSeek, Gemini, Mistral AI, Novita, Ollama, OpenAI, Azure OpenAI, HuggingFace and xAI LLMs (or bring your own)
  • :heart_hands: User contributed and supported adapters
  • :rocket: Inline transformations, code creation and refactoring
  • :robot: Variables, Slash Commands, Agents/Tools and Workflows to improve LLM output
  • :sparkles: Built in prompt library for common tasks like advice on LSP errors and code explanations
  • :building_construction: Create your own custom prompts, Variables and Slash Commands
  • :books: Have multiple chats open at the same time
  • :muscle: Async execution for fast performance

:camera_flash: In Action

:rocket: Getting Started

Please visit the docs for information on installation, configuration and usage.

:toolbox: 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:

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.

:gift: 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.

:clap: Acknowledgements