Skill for editing nvim configuration files - handles formatting, testing, and committing changes.
Use this skill whenever you edit nvim lua configuration files in /home/juhyung/jhconfig/nvim/lua/.
Automatically activate for any substantive nvim config changes. Not needed for trivial single-line edits.
After editing, always run stylua to format:
stylua /home/juhyung/jhconfig/nvim/lua/plugins/[filename].lua
Or for all files:
stylua /home/juhyung/jhconfig/nvim/lua/
Run nvim health check to ensure no errors:
nvim --headless -c 'checkhealth' -c 'quit'
Commit the formatted changes with a descriptive message:
git add -A && git commit -m "[message describing the change]"
nvim/lua/plugins/): Plugin setup and configuration onlynvim/lua/packages/): Shared functionality and utilitiesrequire() to import modules instead of _Gwk.add()require()return M/home/juhyung/.cargo/bin/neovide)Create modules for complex functionality:
-- nvim/lua/packages/my_feature/init.lua
local M = {}
function M.do_something()
-- implementation
end
function M.setup()
-- initialization
end
return M
Then in whichkey:
local my_feature = require('packages.my_feature')
-- Use my_feature.do_something() in keymaps
<leader>s group for <leader>ss, <leader>sl, <leader>sr)wk.add() API (new version, not deprecated register())group = '+name' for groupingvim.lsp.config() (new API) instead of require('lspconfig').SERVER.setup() (deprecated)vim.lsp.config('ts_ls', { cmd = {...} })vim.lsp.enable('ts_ls'):checkhealthStylua is configured in ~/jhconfig/stylua.toml:
indent_type = "Spaces"
indent_width = 2
line_endings = "Unix"
quote_style = "AutoPreferSingle"
stylua /home/juhyung/jhconfig/nvim/lua/📝 Editing nvim config: whichkey.lua
[Make edits with Edit tool]
✅ Formatted with stylua
✅ Health check passed
✅ Committed: "add new keymap for X"
nvim/lua/plugins/nvim/lua/packages/