2.2 KiB
2.2 KiB
Repository Guidelines
Project Structure & Module Organization
- Root entrypoint:
init.lua(Kickstart-based primary config). - Custom Lua modules live under
lua/custom/. - Plugin specs are split into
lua/custom/plugins/*.lua(one concern per file, e.g.gitsigns.lua,lint.lua,persistence.lua). - Utility modules (non-plugin config) live in
lua/custom/*.lua(for examplewrapping.lua). - Reference docs live in
README.mdanddoc/kickstart.txt. - Plugin versions are pinned in
lazy-lock.json.
Build, Test, and Development Commands
nvim
Starts Neovim and triggers lazy.nvim plugin loading/install.nvim --headless "+qa"
Fast startup sanity check (useful in CI-style validation).nvim --headless "+checkhealth" "+qa"
Runs health checks for Neovim, plugins, and external tools.nvim --headless "+Lazy! sync" "+qa"
Syncs plugin set to current specs.luac -p init.lua lua/custom/**/*.lua
Lua syntax validation for config files.
Coding Style & Naming Conventions
- Language: Lua (Neovim API style).
- Formatting:
styluausing.stylua.tomlsettings (2-space indentation, no tabs). - Prefer small, focused plugin spec files named by feature (
neo-tree.lua,markdown.lua). - Use descriptive keymap
descfields and group prefixes via which-key. - Keep comments concise and practical; avoid repeating obvious code behavior.
Testing Guidelines
- No formal unit-test framework is configured in this repo.
- Required checks before PR:
- Lua parse check (
luac -p ...) - Headless startup (
nvim --headless "+qa") - Health check (
:checkhealth) for affected tooling (LSP, formatters, linters).
- Lua parse check (
- For plugin/config changes, include manual verification steps in PR notes (keymaps, commands, expected behavior).
Commit & Pull Request Guidelines
- Follow existing history style: Conventional Commit-like prefixes such as:
feat(scope): ...fix(scope): ...chore: ...
- Keep commits scoped to one logical change (plugin, keymap group, diagnostics, etc.).
- PRs should include:
- Summary of behavior changes
- Files touched (e.g.
init.lua,lua/custom/plugins/...) - Validation performed (commands run)
- Screenshots/GIFs only when UI behavior is materially changed.