Snapshot-based iteration review plugin for Neovim. Take filesystem checkpoints before an AI (or anyone) modifies your code, then review exactly what changed per iteration, independent of git state.
teaser.mp4
- Neovim >= 0.9
- telescope.nvim
- plenary.nvim
- git
- fd
Using lazy.nvim:
{
"msegoviadev/nvim-iterview",
version = "*",
lazy = false,
dependencies = { "nvim-telescope/telescope.nvim", "nvim-lua/plenary.nvim" },
config = function()
require("iterview").setup()
end,
}| Keybind | Command | Description |
|---|---|---|
<Space>ic |
:IterviewCheckpoint |
Create a checkpoint |
<Space>id |
:IterviewDiff |
Review changes since last checkpoint |
<Space>ih |
:IterviewHistory |
Browse checkpoint history |
<Space>ix |
:IterviewClear |
Clear all checkpoints |
Inside the diff picker:
| Key | Action |
|---|---|
Enter |
Open side-by-side diff (press q or Esc to return to picker) |
Ctrl+o |
Open the file directly |
Default configuration (all optional):
require("iterview").setup({
max_checkpoints = 20,
storage_dir = ".iterview",
auto_gitignore = true,
git_search_depth = 2,
exclude_dirs = {
"node_modules", ".venv", "target", "dist", "build", "__pycache__",
},
telescope = {
layout_strategy = "vertical",
layout_config = {
height = 0.95,
width = 0.8,
preview_height = 0.6,
},
},
keymaps = {
checkpoint = "<leader>ic",
diff = "<leader>id",
history = "<leader>ih",
clear = "<leader>ix",
},
})Checkpoints store file content in git's object store via git hash-object, making them fast and storage-efficient. Diffs are computed against checkpoints rather than git state, so git add . never hides your changes. Supports multiple git repos under a single working directory.