| name | nvim-config |
| description | Use when editing lua/plugins/, lua/config/, or any nvim config file. Use when asked about keymaps, plugin options, or LazyVim settings. Use when you need to verify config changes work. |
Working with pickled-lazyvim
Core principle: Verify, don't ask. Run query scripts to confirm changes work instead of asking user to verify.
Scripts
| Script | Purpose |
|---|
./scripts/validate.sh | Check config loads without errors |
./scripts/nvim-query "expr" | Run Lua expression in headless nvim |
./scripts/query-keymaps [filter] | Query keymap definitions |
./scripts/query-explorer [filter] | Test explorer file visibility |
Exploration Queries
./scripts/nvim-query "require('snacks.picker.config').get({ source = 'explorer' })"
./scripts/nvim-query "vim.fn.execute('verbose map <leader>ff')"
./scripts/nvim-query "package.loaded['which-key'] ~= nil"
./scripts/nvim-query "require('lazy.core.config').plugins['snacks.nvim'].opts"
./scripts/nvim-query "require('lazyvim.config').json.data.extras"
./scripts/query-keymaps telescope
./scripts/query-keymaps --vague
Making Changes
Adding plugins: Create lua/plugins/my-plugin.lua:
return { "author/plugin-name", opts = { } }
Keymaps: Add to plugin spec or lua/config/keymaps.lua:
keys = { { "<leader>xx", "<cmd>Cmd<cr>", desc = "Description" } }
Override options: Use same plugin name, opts are deep-merged:
return { "folke/snacks.nvim", opts = { explorer = { hidden = true } } }
Verification Workflow
./scripts/validate.sh
./scripts/nvim-query "require('snacks.picker.config').get({ source = 'explorer' }).hidden"
./scripts/query-explorer
./scripts/query-explorer hidden
Only ask user to verify when: visual confirmation needed, query ambiguous, or requires interaction.
Common Mistakes
| Mistake | Fix |
|---|
Editing plugins in ~/.local/share/nvim/lazy/ | Edit lua/plugins/ instead - lazy dir gets overwritten |
| Forgetting to run validate.sh | Always validate before trusting changes |
| Asking user "does this work?" | Run query script to verify programmatically |
Missing desc on keymaps | Always add description for which-key |
File Locations
| What | Where |
|---|
| This config | ~/workspace/pickled-lazyvim/ |
| Installed plugins | ~/.local/share/nvim/lazy/ |
nvim-query Options
./scripts/nvim-query "expr"
./scripts/nvim-query -f file.lua
./scripts/nvim-query --json "expr"
./scripts/nvim-query -t 5000 "expr"