The Primeagen's 99: An AI Agent That Actually Works in Neovim
If you've tried to integrate AI assistants directly into your editor, you've probably hit a wall. They often feel clunky, break your flow, or just don't understand the context of your codebase. It's more of a distraction than a help. That's why The Primeagen's new project, "99," is turning heads. It's not just another chatbot in a sidebar; it's an AI agent built specifically for the Neovim workflow.
The promise is simple: an assistant that operates within the terminal-centric, modal-editing philosophy of Vim, without the usual friction. No more context switching to a browser, no more copying and pasting code snippets. Let's see what it actually does.
What It Does
"99" is a Neovim plugin that integrates a local AI agent directly into your editor. Unlike basic copilot-style completion, it acts more like a pair programmer that can execute actions. You can ask it to refactor a function, write tests, explain a complex block of code, or even perform edits based on high-level instructions—all without leaving Neovim.
It runs a local server (using llama.cpp or similar backends) to process your requests, meaning your code doesn't get sent to a third-party API unless you configure it to. The agent understands your current buffer, your project structure, and can manipulate code directly.
Why It's Cool
The clever part isn't just that it uses AI; it's how it's implemented. This tool respects the Vim ethos. It doesn't try to turn Neovim into a graphical IDE. Instead, it uses familiar concepts: you interact with it through commands and your existing keybindings. The agent can make edits, and you can review them in a diff-like interface before accepting, just like reviewing a git change. This gives you control and keeps you in the driver's seat.
It's also built with a developer's actual workflow in mind. Need to understand a legacy function? Ask 99 for an explanation right there. Want to convert a set of functions to a different style? Tell the agent, and it will draft the changes. It feels less like asking a separate tool for help and more like extending your own capabilities within the editor.
How to Try It
Ready to give it a spin? The setup is straightforward if you're comfortable in the terminal.
- Head to the repo: All the details are on GitHub at github.com/ThePrimeagen/99.
- Check the prerequisites: You'll need Neovim (nightly is often recommended for the latest features) and a way to run a local LLM (like
ollamaorllama.cpp). The README has the most up-to-date requirements. - Install with your package manager: Whether you use