The 99 repository is a Neovim AI agent written in Lua that integrates large language models into the editor as a coding augmentation tool rather than a replacement. According to the README, the project is explicitly positioned as an exploration of using AI mixed with traditional hand coding, with the philosophy that manual coding remains important and that the best products still involve direct programmer involvement. The repository is currently in beta with acknowledged API instability, as noted in the README's warnings about potential disappearance or changes to APIs.
The core functionality centers on agentic workflows that blend programmer capabilities with LLM powers. The primary interaction modes include a search feature that performs project-wide searches based on prompts and returns locations with notes in a quickfix list, a visual mode that takes current selections and replaces them with AI-generated results, and a vibe function with no description provided in the documentation. Additional features include an open function for viewing previous interactions, view_logs for examining recent activity, stop_all_requests for canceling in-flight operations, and clear_previous_requests for resetting previous search and visual operations.
The repository includes an Extensions system, particularly the Worker abstraction, which provides persistent work tracking. The Worker allows developers to set work descriptions and use search functionality to identify remaining tasks for completion. This extension is noted in the README as likely receiving the most change and focus, with future plans to expand into worktree territory for smoother context switching.
Configuration is handled through multiple option structures. The main setup function accepts options for logger configuration, model selection, in-flight request spinners, markdown files, AI provider selection, error display, skill auto-addition, completion source, and temporary directory specification. The search and visual operations accept additional prompts and rules, where rules can inject context from configured skill files into requests.
The project supports multiple AI CLI backends through a provider system. The default is OpenCodeProvider using the opencode CLI with the opencode/claude-sonnet-4-5 model, but alternatives include ClaudeCodeProvider, CursorAgentProvider, and GeminiCLIProvider. Users can switch between providers and models on the fly using Telescope or fzf-lua integrations without restarting Neovim.
Completion functionality supports both native Neovim completion and integration with nvim-cmp or blink.cmp. Within prompts, users can reference rules using the hash symbol and files using the at symbol, with content automatically resolved and injected into AI context.
According to GitGenius activity data, the repository shows extremely responsive issue and pull request handling with a median response latency of 0.0 hours and a mean of 0.6 hours across 58 tracked items. The most active issue label is bug with 44 occurrences, followed by feature requests with 7 and Help Wanted with 1. ThePrimeagen dominates contributor activity with 197 tracked events, followed by codegirl-007 with 14 events and 0xr3ngar with 11 events. The repository shares overlapping contributors with neovim/neovim, continuedev/continue, and anomalyco/opencode, indicating active participation in the broader Neovim and AI tooling ecosystem.