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 duet commands (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.

Add this badge to your README

Featured on YunoDB Badge styles & help

Maintain this project? Show that it is featured on YunoDB.

Markdown[![Featured on YunoDB](https://yunodb.com/badge/milanglacierminuet-ainvim.svg)](https://yunodb.com/tools/milanglacierminuet-ainvim?utm_source=github&utm_medium=badge)
HTML<a href="https://yunodb.com/tools/milanglacierminuet-ainvim?utm_source=github&utm_medium=badge"><img src="https://yunodb.com/badge/milanglacierminuet-ainvim.svg" alt="Featured on YunoDB" height="20"></a>