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.
- 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.
Buttons | Description |
---|---|
![]() |
Write Query in Natural language and get command generated |
![]() |
Get Instant error detection and quick fixes |
![]() |
Generate the detailed description of command |
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 Guidelines
![fork this repository](https://github.com/vedanti-u/readme-assets/raw/main/fork-the-repo.png)
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.
![fork this repository](https://github.com/vedanti-u/readme-assets/raw/main/copy-cloning-url.png)
![](https://github.com/vedanti-u/readme-assets/raw/main/clone-button.png)
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
npm install
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)
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.
git commit -m "Added autocomplete feature"
$ git push --set-upstream origin your-branch-name
e.g : $ git push --set-upstream origin feature/ai-autocomplete
![compare and pull request](https://github.com/vedanti-u/readme-assets/raw/main/compare-and-pulll-request.png)
![create pull request](https://github.com/vedanti-u/readme-assets/raw/main/create-pull-request.png)
your branch will be merged on code review