elysium  by lanceberge

Emacs package for AI-assisted code modification

Created 1 year ago
279 stars

Top 93.2% on SourcePulse

GitHubView on GitHub
Project Summary

Elysium is an Emacs package designed to streamline the integration of AI-generated code modifications directly into your workflow. It targets developers seeking to leverage large language models for code assistance, enabling them to query for changes and automatically merge them within their Emacs environment.

How It Works

Elysium functions by integrating with gptel, an Emacs interface for various LLM backends. When a user invokes elysium-query, the package sends the current buffer's content (or a selected region) to the configured gptel backend. The AI's suggested code changes are then presented in a separate buffer, utilizing smerge-mode for conflict resolution and merging. This approach allows for seamless, in-editor application of AI suggestions without context switching.

Quick Start & Requirements

  • Install via MELPA: Add https://stable.melpa.org/packages/ to package-archives and then (use-package elysium).
  • Backend: Requires gptel and a configured LLM backend (e.g., Anthropic Claude).
  • Customization: Set elysium-window-size, elysium-window-style, and configure gptel with model and API key (e.g., reading from ~/secrets/claude_key).
  • smerge-mode is recommended for managing changes.
  • Official Docs: MELPA

Highlighted Details

  • Seamless integration with Emacs editing and smerge-mode for AI code suggestions.
  • Supports any gptel-compatible LLM, with Claude 3-5 Sonnet recommended for code generation.
  • Option to query on specific code regions or the entire buffer.
  • Planned feature: Prompt caching for Anthropic to mitigate rate limiting.

Maintenance & Community

  • Developed by lanceberge.
  • Relies on gptel for backend LLM interactions.
  • No explicit community links (Discord/Slack) or roadmap provided in the README.

Licensing & Compatibility

  • License: Not explicitly stated in the README.
  • Compatibility: Designed for Emacs. Commercial use depends on the underlying LLM API terms and gptel's licensing.

Limitations & Caveats

The README suggests using regions for Claude to avoid rate limiting, implying potential issues with large buffer processing. Prompt caching is a planned feature, indicating current rate-limiting concerns might impact extensive usage. The license is not specified, which could affect commercial adoption.

Health Check
Last Commit

3 months ago

Responsiveness

1 week

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

Explore Similar Projects

Starred by Alex Yu Alex Yu(Research Scientist at OpenAI; Former Cofounder of Luma AI), Will Brown Will Brown(Research Lead at Prime Intellect), and
7 more.

avante.nvim by yetone

0.5%
16k
Neovim plugin emulating Cursor AI IDE for AI-driven code assistance
Created 1 year ago
Updated 16 hours ago
Feedback? Help us improve.