Skip to content

autentia/eris

Repository files navigation


Eris

A fast and secure OpenAI Api integration plugin for your IntelliJ IDEA
Explore the docs »

Report Bug · Request Feature

Table of Contents
  1. About The Project
  2. Getting Started
  3. Usage
  4. Roadmap
  5. Contributing
  6. License
  7. Contact
  8. Acknowledgments

About The Project

Eris is an IntelliJ IDEA plugin that helps you to interact with OpenAI Codex, OpenAI's system that translate from natural language into code. For that, the plugin uses the provided API by OpenAI.

With this plugin we want to share a reliable solution to interact with an AI API, without inspecting your project or sending more data than needed: you can add some context to the prompt, but nothing more.

Having a plugin integrated into your IDE with the ability to add pieces of code into your context is a fast way to interact with an AI without losing your context.

(back to top)

Getting Started

Eris is not yet published into JetBrains Marketplace plugin repository, but following a couple of steps you can install and use the plugin.

Prerequisites

  • Eris plugin works on JetBrains IntelliJ IDEA Community and Ultimate editions.
  • OpenAI Codex API Key (OpenAI API usage is NOT FREE).

OpenAI Key generation

First of all, we need an OpenAI API Key:

  1. Create an account in Codex.
  2. Once logged in go to Personal -> Manage account.
  3. Under User/API Keys you can generate a new Key that will be used in our plugin configuration.

Plugin generation

  1. Clone the repo:
    git clone https://github.com/autentia/eris
  2. Go to project folder, and build Eris plugin:
    ./gradlew buildPlugin 
    A .zip file is created on projectFolder/build/distributions

Installation

  1. Press ⌘ Comma to open the IDE settings and select Plugins.
  2. On the Plugins page, click settings button and then click Install Plugin from Disk… .
  3. Select the previous .zip file and click OK.
  4. Click OK to apply the changes and restart the IDE if prompted.

(back to top)

Usage

We can see that a new Eris section was added on the right panel.

  1. First section is the Context box. Here you can add a context for your requests. You can write something or add code from your editor:
    • Select text on your code.
    • Press right click button and a new action Add to Eris is shown.
    • Click and the selected code will be added into your Context section.
  2. The middle section is your prompt, where you can write questions or ask something regarding your Context content.
  3. Last section is the Answer box. The AI answer is shown here.

To interact with the OpenAi API, we need to add our OpenAI Key into our Eris settings:

  1. Press ⌘ Comma to open the IDE settings.
  2. Go to Tools -> Eri Settings to add the key.

(back to top)

Roadmap

  • Hide OpenAi key on settings.
  • Set the focus into prompt text field when the plugin in opened.
  • Create SDK UI tests.
  • Extend plugin usage to other JetBrains IDE's
    • WebStorm
    • PyCharm
    • CLion
    • Rider
    • DataGrip

See the open issues for a full list of proposed features (and known issues).

(back to top)

Contributing

Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.

If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement".

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/feature)
  3. Commit your Changes (git commit -m 'Add some feature')
  4. Push to the Branch (git push origin feature/feature)
  5. Open a Pull Request

(back to top)

License

Distributed under GPL 3 License. See LICENSE.txt for more information.

(back to top)

Contact

Óscar Sánchez - @oskeeker - oscar.sanchez@autentia.com

Project Link: https://github.com/autentia/eris

(back to top)

Acknowledgments

(back to top)

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published