open-sauced / ai

Discover open-source projects on GitHub relevant to your skills (with ai).
https://opensauced.ai
MIT License
70 stars 30 forks source link

feat: Generate suggestions to good first issue #137

Open bdougie opened 1 year ago

bdougie commented 1 year ago

What is this?

This is the feature I'd like to see the most of all. Per my article, all good first issues should have a suggested solution.

Suggested Approach

For good first issues that include links or links with lines include we can suggested bug fixes and approaches to solutions.

This will require a lot of trial and error, but would be a shining feature if we figure it out.

bdougie commented 1 year ago

Example of a good first issue with a suggestion https://github.com/open-sauced/ai/issues/125

a0m0rajab commented 1 year ago

We can do this by having options showing when a text is selected. We need to work on the prompt though or use multiple shots to do that. (AI generated text: Utilize display options when selecting text and employ multiple shots as necessary.)

Example UI

Here is a screenshot of what I am expecting when the text is selected: image

Here is a video of how it works:

https://github.com/open-sauced/ai/assets/18273833/de636a25-295d-4a1e-90a3-f2aa26a079d5

The good thing with Grammary is that they are utilizing multi shots prompts.

Pompt engineering

The tricky challenge would be the prompt related to this but it could be solved by multiple shots or even having a direct precise one-shot question for that

Multiple shots

As for prompts, we can work on it with the next, right now only thinking about this repo:

Suggest a high level solution for the next issue, the solution should consider this being a chrome extension with a home page design and logo on the top: There should be a way to get the extension version number to be able to debug any issue happening or know if the latest features has been used in the extension.

ChatGPT:

To address the issue of obtaining the extension version number for debugging purposes and ensuring users are aware of the latest features, here's a high-level solution for a Chrome extension with a home page design and logo on the top:

Manifest file: Update the extension's manifest file (manifest.json) with a "version" field. This field will hold the version number of the extension. Make sure to increment the version number whenever you release a new version.

Home Page Design: Create a visually appealing and informative home page for the Chrome extension. This page will serve as the landing page when users open the extension.

Displaying the Version Number: Incorporate a section on the home page to display the current version number of the extension. This can be placed prominently at the top or in a dedicated section, depending on the overall design.

Retrieving the Version Number: Within the extension's JavaScript code, you can programmatically access the version number from the manifest file using the Chrome Extension API. Retrieve the version number and store it in a variable.

Debugging Information: To facilitate debugging, consider implementing a feature where users can access detailed debugging information directly from the extension's home page. This information can include the extension version number, system information, logs, and any relevant error messages.

Latest Features Notification: Implement a mechanism to notify users about the latest features and updates. This can be achieved by integrating a small notification bar or an expandable section on the home page. Update this section whenever a new version of the extension is released, highlighting the latest features or improvements.

Logo Integration: Display the extension logo prominently at the top of the home page to maintain branding consistency.

By implementing these steps, users will be able to easily identify the version number of the extension for debugging purposes, and they will also stay informed about the latest features and updates.

Second shot:

summarize the last message with three sentence

ChatGPT

The solution for the Chrome extension includes updating the manifest file with a version number, creating a visually appealing home page with the extension logo at the top, and displaying the version number prominently on the home page. Additionally, a mechanism for providing debugging information and notifying users about the latest features should be implemented.

On shot:

Here I tried to have on shot as a way to get the result I wanted. But I think enabling the multishots would be better and having a UI for that would be a nice thing to do.

Suggest a high level solution for the next issue, the solution should consider this being a chrome extension with a home page design and logo on the top, the answer should be short and does not exceeds three sentence : There should be a way to get the extension version number to be able to debug any issue happening or know if the latest features has been used in the extension.

Answer:

To address the need for retrieving the extension version number and tracking feature usage in a Chrome extension with a home page design and logo on top:

Update the extension's manifest.json file to include a version field for easy access to the version number. Display the extension version prominently on the home page for convenient debugging and awareness of the latest features. Implement a notification mechanism on the home page to inform users about new features and updates, ensuring they are aware of the latest enhancements in the extension.

Limits:

  1. I am not sure how to get the logic of the project, as how you can see in the prompt I wrote, I mentioned that this is a Chrome extension,
  2. The user who is writing the issue should be clear about the requirement of the issue or it would hallucinate
  3. Implementing the UI with pure HTML in the project would take time, I suggest here to move to extension react models.

Personal note:

I would like to work on this when I got the bandwidth, I need to finish what I started first.

a0m0rajab commented 1 year ago

Side note: using react in the content is a must for this. Here is the related documentation for reference.

a0m0rajab commented 1 year ago

This is related to: https://github.com/open-sauced/ai/issues/86

a0m0rajab commented 1 year ago

I would like to work on first iteration for this, my approach would be:

bdougie commented 1 year ago

I personally think we are leveraging the pop a bit too much with the "post a highlight" feature. We should try to embed the experience in the issue comment editor as a drop-down there.

a0m0rajab commented 1 year ago

The issue with the drop-down is that it's not made with react, so I thought to go with a pop-up as a first iteration and then go with the drop-down. Anyway, I will check the documentation to use it.

bdougie commented 1 year ago

Perhaps the new chatbot could cover this use case too @Anush008