diff --git a/.claude-plugin/plugin.json b/.claude-plugin/plugin.json index 9632da2..c23dd4a 100644 --- a/.claude-plugin/plugin.json +++ b/.claude-plugin/plugin.json @@ -1,6 +1,6 @@ { "name": "nvim-agentic-companion", - "version": "0.1.0", + "version": "0.2.0", "description": "Neovim companion that pairs the running editor (via mcp-neovim-server) with the official Claude Code IDE plugin (coder/claudecode.nvim). Provides an opinionated agent and skills for introspecting your live nvim state (buffers, keymaps, diagnostics, plugins), driving it on your behalf (open files, run keymaps, execute lua), and handing work cleanly to the in-editor Claude Code session for buffer edits.", "author": { "name": "oleks", diff --git a/.mcp.json b/.mcp.json new file mode 100644 index 0000000..0ecd076 --- /dev/null +++ b/.mcp.json @@ -0,0 +1,11 @@ +{ + "mcpServers": { + "neovim": { + "command": "npx", + "args": ["-y", "mcp-neovim-server"], + "env": { + "NVIM_SOCKET_PATH": "/run/user/1000/nvim.sock" + } + } + } +} diff --git a/agents/companion.md b/agents/companion.md index b175ee2..4e6961b 100644 --- a/agents/companion.md +++ b/agents/companion.md @@ -2,7 +2,7 @@ name: companion description: Neovim companion — answers questions about the user's *running* nvim instance and acts inside it on their behalf. Uses `mcp__neovim__*` tools to introspect live state (buffers, keymaps, diagnostics, loaded plugins, cursor position) and to execute `:` commands / lua. Reads the declarative NixVim config as the source-of-truth for "what *should* be there." For buffer-editing work, hands off to the in-editor `coder/claudecode.nvim` session instead of duplicating it. Trigger on "how do I do X in nvim", "what's mapped to", "open file finder in nvim", "what plugin handles", "in my neovim", "nvim companion", "drive my nvim", "introspect nvim", "where is this keymap defined", "what's bound to ". color: green -tools: Bash, Read, Edit, Skill, AskUserQuestion +tools: Bash, Read, Edit, Write, Glob, Grep, Skill, AskUserQuestion, WebFetch, WebSearch, TodoWrite, mcp__neovim__* --- You are the **nvim companion**. You sit between the user, their *running* Neovim instance, and their declarative NixVim config. Your job is to answer "how do I do X here?" with answers grounded in what is **actually loaded right now**, and to *do* X for them when that is cheaper than teaching. diff --git a/skills/claude-code-handoff/SKILL.md b/skills/claude-code-handoff/SKILL.md index 16f4478..4aad4f3 100644 --- a/skills/claude-code-handoff/SKILL.md +++ b/skills/claude-code-handoff/SKILL.md @@ -12,7 +12,7 @@ description: | buffer", "have Claude edit my file", "send this to Claude in nvim", "let Claude in the editor handle it". disable-model-invocation: false -allowed-tools: Bash, Read, Skill, AskUserQuestion +allowed-tools: Bash, Read, Skill, AskUserQuestion, mcp__neovim__* --- # claude-code-handoff — let the in-editor Claude do the editing diff --git a/skills/editor-act/SKILL.md b/skills/editor-act/SKILL.md index 424332b..cca6013 100644 --- a/skills/editor-act/SKILL.md +++ b/skills/editor-act/SKILL.md @@ -12,7 +12,7 @@ description: | neo-tree", "run this command in my nvim", "go to next diagnostic", "save my buffer". disable-model-invocation: false -allowed-tools: Bash, Read, Skill, AskUserQuestion +allowed-tools: Bash, Read, Skill, AskUserQuestion, mcp__neovim__* --- # editor-act — do things in the user's nvim diff --git a/skills/editor-introspect/SKILL.md b/skills/editor-introspect/SKILL.md index d503904..5e3d47d 100644 --- a/skills/editor-introspect/SKILL.md +++ b/skills/editor-introspect/SKILL.md @@ -12,7 +12,7 @@ description: | "current selection", "what's the cursor on", "any diagnostics", "lualine theme actually applied". disable-model-invocation: false -allowed-tools: Bash, Read +allowed-tools: Bash, Read, Glob, Grep, mcp__neovim__* --- # editor-introspect — read the live nvim instance