Skip to content

A next-generation terminal with AI powered features to elevate developer productivity.

License

Notifications You must be signed in to change notification settings

vedanti-u/Comet-Terminal

Repository files navigation


Linux Electron.js NodeJS Javascript HTML5 CSS3 TailwindCSS OpenAI Chart.js LangChain

CometDemo.mp4

About Comet Terminal

Comet is a next-generation terminal, a transformative tool designed to elevate developer productivity through cutting-edge AI features and robust cross-platform compatibility. Our terminal emulator ensures streamlined workflows, enhanced efficiency, and empowers developers to achieve excellence.

Features

  • Natural Language Queries: Write queries in natural language and receive commands tailored to your needs using AI.
  • AI-Powered Autocomplete and Command Suggestions: Benefit from advanced AI capabilities that provide intelligent code completion, context-aware suggestions, and personalized workflow assistance.
  • Instant Error Detection and Quick Fixes: Get real-time error identification and immediate, context-aware solutions to streamline coding workflows.
  • Advanced Search Capabilities: Utilize our advanced search feature to access comprehensive details on any command.
  • Cross-Platform Compatibility: Enjoy a unified coding experience across Windows, macOS, and Linux.

Experience a new-age terminal with AI-driven features designed to streamline coding workflows and reduce development time, setting a new standard in developer productivity.

Comet Logo Try Comet

Setting-up the OpenAI API key

Just enter your OpenAI Key in the input box, generate a new one if you don't have one. OpenAI Key

🚀 Features

Buttons Description
Write Query in Natural language and get command generated
Get Instant error detection and quick fixes
Generate the detailed description of command


1. AI Command Generation


2. Error Quick Fixes


3. Command Summary


4. Autocomplete suggestion



💡 How Comet works ?

sequenceDiagram
    participant User
    participant HTML_UI
    participant Electron_Backend
    participant OS_Shell
    participant OpenApiLLM

    User->>HTML_UI: Writes Shell commands
    HTML_UI->>Electron_Backend: Transfers command (command event)
    Electron_Backend->>OS_Shell: Runs OS command
    OS_Shell->>+Electron_Backend: Success/Error
    alt Success
        Electron_Backend->>HTML_UI: Sends success response
    else Error
        Electron_Backend->>OpenApiLLM: Send error stack
    end
    User->>HTML_UI: Requests AI to send command
    HTML_UI->>Electron_Backend: Asks OpenApiLLM for command
    Electron_Backend->>OpenApiLLM: Requests command
    OpenApiLLM->>Electron_Backend: Returns command
    Electron_Backend->>OS_Shell: Runs OS command
    OS_Shell->>+Electron_Backend: Success/Error
    alt Success
        Electron_Backend->>HTML_UI: Sends success response
    else Error
        Electron_Backend->>OpenApiLLM: Send error stack
    end

Loading

The sequence diagram illustrates the interaction between various components of our terminal emulator. When the user writes shell commands, the HTML UI transfers the command event to the Electron Backend, which executes the OS command. Upon success or error, the Electron Backend communicates the response accordingly. In case of success, a success response is sent to the HTML UI. However, if an error occurs, the Electron Backend sends the error stack to the OpenApiLLM. Additionally, users can request AI to send commands. In this scenario, the HTML UI asks the Electron Backend to fetch a command from the OpenApiLLM. The OpenApiLLM responds with the requested command, which is then executed by the Electron Backend using OS Shell. Again, success or error responses are handled similarly as in the previous scenario. This sequence ensures smooth interaction and efficient execution of commands within our terminal emulator.

🤝 Contributing

Dependencies

Node Version NVM Version NVM Version

Contributing Guidelines

Fork this repository

fork this repository

Fork this repository by clicking on the fork button on the top of this page. This will create a copy of this repository in your account.





Clone the repository

fork this repository

Now clone the forked repository to your machine. Go to your GitHub account, open the forked repository, click on the code button and then click the _copy to clipboard_ icon, this is the COPIED_URL.






Open a terminal and run the following git command:

git clone "COPIED_URL"

e.g : git clone https://github.com/vedanti-u/db.ai.git


Install dependencies

npm install

Create a branch

Change to the repository directory on your computer (if you are not already there):

$ cd comet-terminal

Now create a branch using the git checkout command:

$ git checkout -b new-branch-name

e.g : git checkout -b feature/ai-autocomplete

Name your branch according to the feature you are working on :

e.g : you want to work on creating autocomplete feature, name your branch like feature/ai-autocomplete

(follow this naming convention i.e using "-" in between)

Contribute to Code

🔐 Create a .env File with format

Create a pull request

How to create pull request
Once you have modified an existing file or added a new file to the project of your choice, you can stage it to your local repository, which we can do with the `git add` command. In our example, `filename.md`, we will type the following command.

$ git add filename.md

where filename is the file you have modified or created

If you are looking to add all the files you have modified in a particular directory, you can stage them all with the following command: git add . Or, alternatively, you can type git add -all for all new files to be staged.

Commiting the changes

git commit -m "Added autocomplete feature"

To PUSH your branch to your remote main

$ git push --set-upstream origin your-branch-name

e.g : $ git push --set-upstream origin feature/ai-autocomplete

Open Github

compare and pull request click on compare & pull request
create pull request write a description for your pull request specifing the changes you have made, title it and then, Click on create pull request

your branch will be merged on code review

☄️ Statistics

stars fork watchers releases PyPI status GitHub contributors

MadeWithLove forthebadge