Skip to content

Latest commit

 

History

571 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Eden

Eden is a one-turn coding agent for Emacs. It's built on the OpenAI Responses API and the Codex apply_patch command line utility.

Eden chat interface

Requests

  1. Call the command eden to switch to *eden* prompt buffer.
  2. Enter your prompt.
  3. Press C-c C-c to send it to the OpenAI API.
  4. Check the response in the *eden[requests]* buffer.

All requests are stored in JSON format in eden-dir.

Conversations

By default requests are independent. To chaine requests together and create a conversation:

  1. Call the command eden to switch to *eden* prompt buffer.
  2. Navigate the prompt history with M-p and M-n.
  3. When you've found the request to continue a conversation on, call the eden command to activate Eden transient menu.
  4. Press c and enter the conversation title to activate a new conversation.

All the subsequent requests will be part of the same conversation and the responses will be appended in a *eden[<conversation's name>]* dedicated buffer.

You can pause the current conversation by calling eden in the prompt buffer and pressing SPC in Eden transient menu. Subsequent requests will then be independent again.

Note that conversation titles and IDs are not stored; they only exist during your Emacs session. However, you can retrieve any conversation later either:

  1. By saving it in your notes with its UUID. Then, when you want to resume it, call eden with the C-u prefix argument on its Org heading; This pops up another Eden menu, press c and enter a conversation title a mentioned above.
  2. By navigating the prompt history with M-p and M-n.

Profiles

Each time you quit Eden's menu, the current profile which includes

  • the request directory,
  • the API,
  • the model,
  • the current conversation if any,
  • the reasoning effort,
  • the extra request params and
  • the instructions.

is pushed to an history that you can navigate from the prompt buffer with:

  • C-M-p: to apply the previous profile.
  • C-M-n: to apply the next profile.

The prompt buffer

The prompt buffer's mode derives from org-mode. It differs only by its mode-line and the key bindings:

  • C-c C-c: to send a request to OpenAI API.
  • M-p and M-n: to navigate prompt history.
  • C-M-p and C-M-n: to navigate the profile history navigation.

As a result, your Org configuration still applies and you'll feel at home writing your prompts.

Install Eden

Command line utilities

Ensure the following utilities are installed and present in one of your exec-path directories:

  • curl
  • uuidgen
  • pandoc

eden.el

;; Classic
(add-to-list 'load-path "/path/to/eden/")
(require 'eden)

;; With straight
(straight-use-package
 '(eden :type git :host github :repo "tonyaldon/eden"))

OpenAI API key

Store your OpenAI API key in either the ~/.authinfo.gpg file (encrypted with gpg) or the ~/.authinfo file (plaintext):

machine openai-responses password <openai-api-key>

where <openai-api-key> is your API key.

Restart Emacs to apply this change.

Codex apply_patch utility

If you want to use the apply-patch tool, you'll have to build and put on your PATH the apply_patch utilily from Codex repository.

TODO

About

Eden is a one-turn coding agent for Emacs

Resources

Stars

5 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages