emigo  by MatthewZMD

Emacs-native AI assistant for agentic development

Created 5 months ago
365 stars

Top 77.1% on SourcePulse

GitHubView on GitHub
Project Summary

Emigo is an Emacs-native AI assistant designed for agentic development, enabling intelligent interaction with codebases. Targeting Emacs users who want to leverage LLMs for complex coding tasks, it provides tool-use capabilities for code manipulation and execution directly within the editor.

How It Works

Emigo operates as an agent that utilizes LLM reasoning to select and execute tools for interacting with the Emacs environment and project files. It supports flexible LLM providers via LiteLLM, allowing users to choose their preferred models. The core loop involves the LLM analyzing prompts, selecting tools (like file reading/writing, command execution), executing them, and feeding results back for iterative task completion.

Quick Start & Requirements

  • Install with straight.el:
    (use-package emigo
      :straight (:host github :repo "MatthewZMD/emigo" :files (:defaults "*.py" "*.el"))
      :config
      (emigo-enable)
      :custom
      (emigo-model "openrouter/deepseek/deepseek-chat-v3-0324")
      (emigo-base-url "https://openrouter.ai/api/v1")
      (emigo-api-key (getenv "OPENROUTER_API_KEY")))
    
  • Prerequisites: Emacs 28+, Python 3.x. Install Python dependencies with pip install -r requirements.txt.
  • Usage: Start with M-x emigo. Interact in the dedicated buffer.
  • Documentation: Emacs Application Framework, lsp-bridge

Highlighted Details

  • Agentic tool use for code refactoring, file manipulation, and command execution.
  • Native Emacs integration with familiar keybindings and workflows.
  • Flexible LLM support via LiteLLM.
  • Context management for files and chat history.

Maintenance & Community

  • Created by the developers of Emacs Application Framework and lsp-bridge.
  • Project is under active, rapid development; expect breaking changes.

Licensing & Compatibility

  • License: Not explicitly stated in the README.
  • Compatibility: Requires Emacs 28+ and Python 3.x.

Limitations & Caveats

Emigo is in an early stage of development, characterized by active experimentation and rapid prototyping, which means frequent breaking changes and unstable features are expected.

Health Check
Last Commit

4 months ago

Responsiveness

1 day

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

Explore Similar Projects

Starred by Luis Capelo Luis Capelo(Cofounder of Lightning AI), Addy Osmani Addy Osmani(Head of Chrome Developer Experience at Google), and
23 more.

goose by block

0.8%
20k
Open-source AI agent for automating complex engineering tasks
Created 1 year ago
Updated 23 hours ago
Feedback? Help us improve.