minuet-ai.nvim
💃 Dance with Intelligence in Your Code. Minuet offers code completion as-you-type from popular LLMs including OpenAI, Gemini, Claude, Ollama, Llama.cpp, Codest
What is minuet-ai.nvim?
💃 Dance with Intelligence in Your Code. Minuet offers code completion as-you-type from popular LLMs including OpenAI, Gemini, Claude, Ollama, Llama.cpp, Codestral, and more.
Overview of minuet-ai.nvim
What it is
Minuet is a Neovim plugin that provides AI-powered code completion as you type. It supports multiple large language model providers including OpenAI, Gemini, Claude, Ollama, Llama.cpp, Codestral, and others. The plugin offers two completion modes: chat-based prompts optimized for code completion and fill-in-the-middle (FIM) completion for compatible models. It does not run any proprietary binary in the background; it uses curl to communicate with LLM providers.
Key features
- Dual completion modes: specialized prompts for chat-based LLMs and FIM completion for models like DeepSeek, Codestral, Qwen.
- Support for multiple AI providers: OpenAI, Claude, Gemini, Codestral, Ollama, Llama-cpp, and OpenAI-compatible services.
- Streaming support to deliver completions even with slower LLMs.
- Multiple frontends: virtual-text, nvim-cmp, blink-cmp, built-in completion (Neovim 0.11+), and mini.completion.
- In-process LSP server for completions (opt-in).
- Accepts multi-line suggestions line-by-line; keeps completion in sync when typed text matches the start of a suggestion.
- Next-edit prediction via
Minuet duetcommands (experimental).
Use cases
Minuet is suitable for Neovim users who want AI-assisted code completion from various LLM providers without a proprietary background process. It can be used for general code writing, learning new languages, or speeding up repetitive coding tasks. The dual completion modes allow users to choose between chat-based or FIM-based completions depending on the model and task.
Getting started
Install with Lazy.nvim:luaspecs = { { 'milanglacier/minuet-ai.nvim', config = function() require('minuet').setup { -- Your configuration options here } end, }, -- optional frontends { 'hrsh7th/nvim-cmp' }, { 'Saghen/blink.cmp' },}For a minimal virtual-text setup:luarequire('minuet').setup { virtualtext = { auto_trigger_ft = {}, keymap = { accept = '', accept_line = '', accept_n_lines = '', prev = '', next = '', dismiss = '', }, },}See the repository README for nvim-cmp, blink-cmp, and LSP setup instructions.
License and pricing
License: GPL-3.0. Pricing: open source (free).
Based on the project's public README and repository metadata.