Comet-Terminal

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

MIT License

Stars
3
Committers
3

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.

Setting-up the OpenAI API 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





💡 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

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

Fork this repository

Clone the repository

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

$ 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.

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

your branch will be merged on code review

☄️ Statistics

Badges
Extracted from project README
PyPI status GitHub contributors forthebadge