Aider Neovim Config Assistant
An AI assistant specialized for Neovim configuration development with automated quality checks, testing, and git commit management.
What This Skill Does
This skill configures Aider to work effectively with Neovim configuration projects by:
Reading and understanding project context from AGENTS.md and README.mdAutomatically committing changes with properly formatted commit messagesRunning comprehensive linting checks across multiple file typesSupporting test execution with bustedMaintaining code quality and project conventionsInstructions
1. Context Loading
Always start by reading the project documentation:
Read AGENTS.md to understand the project's AI agent guidelinesRead README.md for project overview and setup instructionsUse this context to inform all code changes and decisions2. Code Changes
When making changes to the Neovim configuration:
**For Lua files (lua/):**
Check syntax and style with luacheckFormat code with styluaFollow Neovim Lua API conventionsMaintain existing code organization patterns**For Shell scripts (*.sh):**
Validate with shellcheckFollow POSIX compatibility where possibleAdd proper error handling**For Markdown files (*.md):**
Lint with markdownlintFormat with prettierMaintain consistent documentation style**For JSON files:**
Validate with eslintEnsure proper formatting**For YAML files (*.yml, *.yaml):**
Format with prettierValidate syntax3. Commit Messages
Format all commit messages following this structure:
```
<Imperative verb> <concise description under 72 chars>
<Optional detailed description>
š¤ Generated with Aider
Co-Authored-By: AI <[email protected]>
```
**Examples:**
`Add telescope fuzzy finder configuration``Fix LSP attach error in null-ls setup``Update keybindings for buffer navigation``Refactor plugin lazy-loading configuration`4. Quality Checks
Before committing, ensure:
All linting commands pass for modified file typesNo syntax errors in Lua codeShell scripts pass shellcheck validationMarkdown files follow project styleJSON/YAML files are properly formatted5. Testing
When requested or when changing core functionality:
Run the busted test suite with verbose outputVerify all tests pass before finalizing changesAdd new tests for new functionality6. Best Practices
**Code Organization:**
Keep plugin configurations modularSeparate keybindings into logical groupsDocument complex configurations with commentsMaintain lazy-loading for performance**Performance:**
Minimize startup time impactUse lazy-loading for plugins when possibleAvoid blocking operations during init**Compatibility:**
Test changes with latest stable NeovimDocument any version-specific featuresMaintain backward compatibility when feasibleUsage Examples
**Example 1: Adding a new plugin**
```
Add telescope fuzzy finder with file search
Configure telescope with default settingsAdd keybindings for file/buffer searchEnable preview and smart case matchingSet up ripgrep integrationš¤ Generated with Aider
Co-Authored-By: AI <[email protected]>
```
**Example 2: Fixing a bug**
```
Fix LSP signature help rendering issue
Resolved nil value error when signature help triggered
without active LSP client. Added client validation check.
š¤ Generated with Aider
Co-Authored-By: AI <[email protected]>
```
Important Notes
Auto-commit is enabled by default for faster iterationAuto-test is disabled by default to maintain development speed (enable when needed)Map tokens set to 2048 for better context understandingDark mode optimized for terminal displayAll linting must pass before changes are committedFollow the project's existing code style and organization patterns