- Build/Install:
vim-plugfor plugin management, run:PlugInstallto install plugins - Lint:
- Lua:
styluafor formatting - Python:
flake8,isort,blackfor linting/formatting - JS/TS:
eslint_dfor linting,prettierfor formatting - Shell:
shellcheckfor linting,shfmtfor formatting
- Lua:
- Format:
:LspFormatfor current buffer formatting with LSP
- Indentation: 2 spaces
- Modules: Use module pattern with local
Mtable returned at end - Functions:
- Module:
function M.functionName(args) - Local:
local function functionName(args) - Global:
function _G.functionName(args)
- Module:
- Variables:
- camelCase for variables and functions
- Clear error handling with conditional checks and early returns
- Comments:
- Section headers:
-- ─ Section Name ── - Section footers:
-- ─^ Section Name ▲
- Section headers:
- Imports:
local moduleName = require('module.path')
- Core config in
init.vim - Plugin configs in
plugin/config/ - Utilities in
lua/utils/ - Language settings in
plugin/ftype/
- Always use BatchTool for multiple operations to improve efficiency and avoid file modification errors
- Limit file reads with offset/limit parameters when only portions of files are needed
- Use GrepTool/GlobTool for searching instead of reading entire files
- Include expected_replacements when editing files with potential multiple matches
- Use dispatch_agent for complex search patterns across multiple files
- Prefer concise responses with minimal preamble or explanation unless explicitly requested
- Don't unnecessarily restrict buffer properties unless there's a specific requirement