Extensions

Neovim Plugin

The GauntletCI Neovim plugin runs behavioral change risk detection on .NET commits and surfaces findings as native vim.diagnostic entries - visible in the sign column, virtual text, and the diagnostics float.

Requirements

  • Neovim 0.9 or later
  • GauntletCI CLI: dotnet tool install -g GauntletCI

Install

lazy.nvim

{
  "EricCogen/GauntletCI-Neovim",
  ft = { "cs" },
  opts = {
    sensitivity = "balanced",
    analyze_on_save = false,
  },
}

packer.nvim

use {
  "EricCogen/GauntletCI-Neovim",
  config = function()
    require("gauntletci").setup({
      sensitivity = "balanced",
      analyze_on_save = false,
    })
  end,
}

Commands

CommandDescription
:GauntletCIAnalyzeRun analysis on the current commit.
:GauntletCIClearClear all GauntletCI diagnostics.

Diagnostic output mockup

OrderService.cs
40Epublic decimal CalculateTotal(Order order)
41 {
42E return order.Lines.Sum(l => l.Price * l.Qty);-- GCI0001: Logic change without test coverage
43W if (order.Discount > 0)-- GCI0012: Exception path without null guard

Configuration

require("gauntletci").setup({
  -- Path to gauntletci executable (default: "gauntletci", must be on PATH)
  executable = "gauntletci",
  -- "strict" | "balanced" | "permissive"
  sensitivity = "balanced",
  -- Run automatically when a .cs file is saved
  analyze_on_save = false,
  -- Disable LLM enrichment for fast local analysis
  no_llm = true,
})

Recommended keymaps

vim.keymap.set("n", "<leader>ga", "<cmd>GauntletCIAnalyze<cr>",
  { desc = "GauntletCI: analyze" })
vim.keymap.set("n", "<leader>gx", "<cmd>GauntletCIClear<cr>",
  { desc = "GauntletCI: clear" })

Troubleshooting

No diagnostics after :GauntletCIAnalyze

Analysis runs against the most recent commit. Check :messages for any error output from the plugin. Run gauntletci analyze --staged in a terminal to confirm the CLI works independently.

CLI not found

Neovim may not inherit your shell PATH on macOS/Linux when launched from a GUI. Either set executable = "/full/path/to/gauntletci" in your setup call, or ensure Neovim is launched from a shell that has the dotnet tools directory in PATH.

Source and releases

Source code and releases are at EricCogen/GauntletCI-Neovim.