Agent-IDE.nvim (Agents Drawer)
Agent-IDE.nvim is my new plugin for agent handling in Neovim, optimized for my terminal workflow. I saw a tweet,
Herdr or Rex, and then I thought, why not in Neovim? Below is what came out of that question.
Coding is changing, from writing to more navigating and viewing changes, etc. So Neovim is great for all of it, I use nvim with lazygit for seeing all the changes and navigating around changes the agents made. So I thought, why not make it the main control center, as I did for email with Neomd, where nvim is the composer.
I want to prompt in neovim (I use ctrl-g) for Claude Code anyway to type with my shortcuts Vim Motions and also my snippets and superpowers, and the rendering of responses from Claude Code looks awful, unlike my rendering of Markdown within neovim. So why not use neovim to write and also show the responses in a buffer of Neovim that renders Markdown nicely? That was the premise, and the outcome looks like this:
Here’s a demo with all features:
Find more example on
GitHub.
# Features and Focus
The features and focus are on managing all agent sessions in a single drawer, as I use Query databases in vim (vim-dadbod) to query databases within nvim, that’s why it’s called the Agents IDE because it’s my IDE for agents.
# Why not a Terminal TUI, why Neovim?
You might ask why not a terminal-based TUI, now that Herdr, Rex (Superlogica), and others are built in the terminal for agents, or even apps nowadays. The reason is that nvim is doing most of the things I like to improve anyway, and I have a 5+ year history of dotfiles for nvim, where I optimized these aspects over the years already - things like:
- beautiful markdwon rendering
- modal typing and fast moving around
- git integration with lazygit and other shortcuts
- the place to navigate and being an IDE for agents, as it has so many functionalities and is super extensible and composable
# Goals
- See everything at a glance. One drawer lists every project and every Claude session, including very old ones and ones started from another path, each with a readable title, state and age.
- Talk to Claude in native Neovim buffers. Prompts are written in a normal buffer with all of Vim; answers stream into a markdown buffer that his markdown renderer displays; tool calls are folds.
- Review agent work with git, built in. Browse the whole branch’s changes and single commits as diffs, without leaving Neovim and without extra plugins.
- One Neovim for all projects. Switching project in the drawer switches sessions and git context. No second Neovim per project.
- Reusable prompts. A library of prompt templates plus his existing Claude skills/commands, one keypress away.
- Other agents later. Claude Code is the main target. The design must not block adding Codex, Gemini CLI and opencode.
# Inspirations
Heavily inspired by Dadbod, the SQL-IDE I use inside Neovim. Same drawer tree on the side, “New query”, saved queries, results in a normal buffer. He wants the same idea for agents: an agent IDE inside Neovim, tied closely to git review, because reviewing what an agent changed is half of working with agents.
# Other Projects of Mine
Similar principles in project of mine with Markdown and neovim in mind:
# Alternative Harnesses
Other Harness Tools:
- OpenCode: Probably most simlar in term of nerdiness, but not in Neovim :)
- T3 Code: Works on phone and with any agent, but boring web UI :)
Origin:
Category: Neovim & Terminal
