minuet-ai.nvim  by milanglacier

Neovim plugin for AI-powered code completion

created 1 year ago
715 stars

Top 49.0% on sourcepulse

GitHubView on GitHub
Project Summary

Minuet-ai.nvim provides AI-powered code completion within Neovim, supporting a wide array of LLM providers like OpenAI, Gemini, Claude, Ollama, and Llama.cpp. It offers both specialized prompts for chat-based LLMs and Fill-in-the-Middle (FIM) capabilities for compatible models, aiming to enhance developer productivity by integrating intelligent code suggestions directly into the editor.

How It Works

Minuet acts as a Neovim plugin that interfaces with various LLM APIs. It supports multiple completion frontends, including nvim-cmp, blink-cmp, and Neovim's built-in completion system, allowing users to choose their preferred completion UI. For chat-based models, it employs specialized prompt engineering, while for FIM-compatible models, it utilizes specific token patterns. The plugin can also function as an in-process LSP server for Neovim's built-in completion.

Quick Start & Requirements

  • Installation: Via lazy.nvim ({ 'milanglacier/minuet-ai.nvim', config = true }) or rocks.nvim (rocks install minuet-ai.nvim).
  • Prerequisites: Neovim 0.10+, plenary.nvim (optional). nvim-cmp or blink.cmp are optional for their respective frontends. An API key for at least one supported AI provider is required.
  • Setup: Configuration involves setting up the desired provider, API keys, and integrating with completion plugins. See official documentation for detailed setup guides.

Highlighted Details

  • Supports numerous LLM providers including OpenAI, Gemini, Claude, Codestral, Ollama, and Llama.cpp.
  • Offers both chat-based and Fill-in-the-Middle (FIM) completion modes.
  • Integrates with popular Neovim completion plugins (nvim-cmp, blink-cmp) and Neovim's built-in completion.
  • Provides a Lualine component to display Minuet's status.
  • Includes experimental RAG support via the VectorCode package.

Maintenance & Community

  • The project is actively maintained.
  • Community support channels are not explicitly mentioned in the README.

Licensing & Compatibility

  • The README does not specify a license. Compatibility for commercial use or closed-source linking is therefore undetermined.

Limitations & Caveats

  • Significant input delay may occur when moving to a new line with nvim-cmp due to autocompletion triggering.
  • An upstream Neovim issue may cause unexpected indentation behavior with multi-line completions.
  • Deepseek users may experience delays or timeouts due to high server demand.
Health Check
Last commit

1 day ago

Responsiveness

1 day

Pull Requests (30d)
1
Issues (30d)
5
Star History
177 stars in the last 90 days

Explore Similar Projects

Feedback? Help us improve.