Wishes.Nvim banner
abrose abrose

Wishes.Nvim

AI community

Description

A Neovim plugin for annotating code with review feedback that any AI coding agent can read and act upon. Inline MR comments, but local — no Git forge required. Agent-agnostic: works with Claude Code, Codex CLI, OpenCode, Pi, or any tool that can read a file.

Installation

This entry records only its repository, not the path inside it, so there is no exact command to give. Open the source below and copy the folder into ~/.claude/skills/, or the file into ~/.claude/agents/.

README

wishes.nvim

A Neovim plugin for annotating code with review feedback that any AI coding agent can read and act upon. Inline MR comments, but local — no Git forge required. Agent-agnostic: works with Claude Code, Codex CLI, OpenCode, Pi, or any tool that can read a file.

Why

When reviewing AI-generated changes in Neovim, there's no ergonomic way to leave contextual feedback. The usual flow is: open a scratch buffer, write a list of gripes, paste them into the agent's prompt. That loses the connection between feedback and its code location.

`wishes.nvim` stores annotations as plain-text "wishes" in a file at the project root. Each wish records file, line (or range), category, and text. The plugin renders wishes as sign-column icons + virtual text in the buffer. The agent reads the wishes file to get structured, location-aware feedback it can act on directly.

About the name

The framing comes from Kent Beck, who uses *genie* to describe an AI coding assistant — something that listens to what you want and grants it. This plugin is the other half of that picture: a durable place to write your *wishes* down, attached to the exact line they refer to, so the genie can grant them without you having to re-explain the context every time.

Requirements

No hard external dependencies. Everything except `:Wishes list` works out of the box.

Installation

lazy.nvim

{
  "abrose/wishes.nvim",
  event = "VeryLazy",
  opts = {},
}

To use a local clone for development:

{
  dir = "~/path/to/wishes.nvim",
  dev = true,
  event = "VeryLazy",
  opts = {
    dev = true, -- enables :WishesReload
  },
}

Quick start

  1. In any pro