A Neovim plugin that records your editing session and has an agent review your keystrokes, suggesting more efficient ones. Like a golf caddie for vim.
See SPEC.md for the full design and issue #1 for the build plan.
Pre-alpha. Commands register but are not yet implemented.
With lazy.nvim:
{
"obj-p/caddie.nvim",
opts = {},
}| Command | Description |
|---|---|
:CaddieStart |
Begin recording a new session. |
:CaddieStop |
Stop recording. |
:CaddieReview [last_n_min] |
Run rules plus agent on the active session. |
:CaddieReplay |
Step through a past session. |
:CaddieToggleAnnotations |
Show or hide inline suggestion virtual text. |
Defaults shown.
require("caddie").setup({
data_dir = vim.fn.stdpath("data") .. "/caddie",
autostart = false,
auto_review_on_exit = false,
annotations_enabled = true,
redact_globs = { ".env", ".env.*", "*.pem", "*.key" },
agent = {
provider = "anthropic",
model = "claude-opus-4-7",
api_key_env = "ANTHROPIC_API_KEY",
},
})Set provider = "claude-code" to route the review through the local
claude CLI instead of the Anthropic API. Auth is handled by Claude Code,
so api_key_env is ignored.
make test