Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/vedanti-u/comet-terminal

A next-generation terminal with AI powered features to elevate developer productivity.
https://github.com/vedanti-u/comet-terminal

artificial-intelligence css electron-app electronjs html html-css-javascript ipc javascript langchain linux linux-shell llm nodejs openai opensource tailwindcss terminal terminal-emulator

Last synced: about 5 hours ago
JSON representation

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

Awesome Lists containing this project

README

        



comet




![Linux](https://img.shields.io/badge/Linux-FCC624?style-plastic-green&logo=linux&logoColor=black)
![Electron.js](https://img.shields.io/badge/Electron-191970?style-plastic-green&logo=Electron&logoColor=white)
![NodeJS](https://img.shields.io/badge/node.js-6DA55F?style-plastic-green&logo=node.js&logoColor=white)
![Javascript](https://img.shields.io/badge/JavaScript-323330?style-plastic-green&logo=javascript&logoColor=F7DF1E)
![HTML5](https://img.shields.io/badge/html5-%23E34F26.svg?style-plastic-green&logo=html5&logoColor=white)
![CSS3](https://img.shields.io/badge/css3-%231572B6.svg?style-plastic-green&logo=css3&logoColor=white)
![TailwindCSS](https://img.shields.io/badge/Tailwind_CSS-38B2AC?style-plastic-green&logo=tailwind-css&logoColor=white)
![OpenAI](https://img.shields.io/badge/OpenAI-412991.svg?style-plastic-green&logo=OpenAI&logoColor=white)
![Chart.js](https://img.shields.io/badge/chart.js-F5788D.svg?style-plastic-green&logo=chart.js&logoColor=white)
![LangChain](https://img.shields.io/badge/langchain-purple)



https://github.com/user-attachments/assets/54c30446-f65d-410e-baf1-c61893bb1908

## 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 ?

```mermaid
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

```

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](https://img.shields.io/badge/node-v20.11.1-blue?style=For-the-badge) ![NVM Version](https://img.shields.io/badge/nvm-v0.39.1-green?style=For-the-badge) ![NVM Version](https://img.shields.io/badge/Electron-v^29.1.4-red?style-plastic&logo=Electron&logoColor=white&style=)

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
git clone "COPIED_URL"
```

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

---

### Install dependencies

```bash
npm install
```

---

### Create a branch

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

```bash
$ cd comet-terminal
```

Now create a branch using the `git checkout` command:

```bash
$ 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_

#### :closed_lock_with_key: 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](https://img.shields.io/github/stars/vedanti-u/Comet-Terminal.svg)
![fork](https://img.shields.io/github/forks/vedanti-u/Comet-Terminal.svg)
![watchers](https://img.shields.io/github/watchers/vedanti-u/Comet-Terminal.svg)
![releases](https://img.shields.io/github/release/vedanti-u/Comet-Terminal.svg)
[![PyPI status](https://img.shields.io/pypi/status/ansicolortags.svg)](https://pypi.python.org/pypi/ansicolortags/)
[![GitHub contributors](https://badgen.net/github/contributors/vedanti-u/Comet-Terminal)](https://GitHub.com/vedanti-u/Comet-Terminal/graphs/contributors/)

![MadeWithLove](http://ForTheBadge.com/images/badges/built-with-love.svg) [![forthebadge](https://forthebadge.com/images/badges/license-mit.svg)](https://forthebadge.com)