VimLM  by JosefAlbers

AI coding assistant for Vim/NeoVim

Created 9 months ago
251 stars

Top 99.9% on SourcePulse

GitHubView on GitHub
Project Summary

VimLM provides an AI-powered coding assistant integrated directly into Vim and NeoVim, enabling users to generate code, refactor, and create documentation without leaving their editor. It targets developers who prefer keyboard-driven workflows and seek to enhance productivity by leveraging local AI capabilities for tasks like code completion, generation, and conversational refinement.

How It Works

VimLM operates with a focus on 100% local execution using MLX-compatible models, ensuring privacy and offline functionality. It achieves contextual awareness by integrating seamlessly with the user's codebase and external resources, processing information through a conversational workflow that allows for iterative refinement of AI-generated responses. Key architectural choices include native Vim integration with split-window responses and intuitive keybindings, alongside support for project scaffolding and extensible custom LLM workflows via command chains.

Quick Start & Requirements

  • Installation: pip install vimlm
  • Prerequisites: Apple Silicon (M-series) Mac, Python v3.12.8, Vim v9.1 or NeoVim v0.10.4.
  • Links: A tutorial is mentioned but no direct URL is provided in the README.

Highlighted Details

  • Offline-First: All AI processing occurs locally, requiring no internet connection.
  • Native Vim Integration: Features split-window responses and intuitive keybindings for seamless interaction.
  • Contextual Awareness: Integrates with the current codebase and external resources for relevant suggestions.
  • Conversational Workflow: Supports iterative refinement of prompts and responses.
  • Inline Directives: Extensible command chains using directives like !include for context layering and !deploy for code block saving.
  • Repository-Level Context: Enhances code completion by providing repository-wide context via the --repo option.

Maintenance & Community

No specific details regarding maintainers, community channels (e.g., Discord, Slack), or roadmap were provided in the README.

Licensing & Compatibility

  • License: Apache 2.0.
  • Compatibility: The Apache 2.0 license generally permits commercial use and integration into closed-source projects, subject to the license terms.

Limitations & Caveats

The most significant adoption blocker is the strict requirement for Apple Silicon (M-series) hardware, limiting its use to a specific subset of users. The project's reliance on MLX implies potential performance characteristics tied to Apple's Metal framework.

Health Check
Last Commit

9 months ago

Responsiveness

Inactive

Pull Requests (30d)
0
Issues (30d)
0
Star History
20 stars in the last 30 days

Explore Similar Projects

Feedback? Help us improve.