AskTheCode is an innovative tool designed to delve into the complexities of GitHub repositories by way of an intuitive plug-in. Rather than manually scouring for files, AskTheCode simplifies the process by analyzing the structure of the repository provided by the user. This includes all file extensions, from fundamental code file types to widely-used markdown files, painting a comprehensive picture of the repository. Its unique feature enables one to query the most relevant files iteratively, efficiently sifting through clutter to locate the user's requirements. The tool revolves around the premise of relevance, employing a unique scoring system that only deems an answer satisfactory when reaching a relevance score of 0.7 or higher. A truly intelligent tool, it continually prompts for more information until its score criteria are met. It's an indispensable utility for navigating GitHub repositories with unparalleled precision and convenience.
What is the structure of this Github repository: https://github.com/user/repo?
Can you find the contents of the main.py file in this repository: https://github.com/user/repo/branch/develop?
Search for the class "DatabaseConnector" in this repository: https://github.com/user/repo/branch/master
Show me the changes made in this commit: https://github.com/user/repo/commit/
Provide an overview of this commit: https://github.com/user/repo/commit/abcdef
Can you find the issue and its comments for this Github issue URL: https://github.com/user/repo/issues/
Post a comment "Great work!" under this Github issue: https://github.com/user/repo/issues/
Retrieve the contents of files README.md and main.py from this repository: https://github.com/user/repo/branch/master
What files were changed in this commit: https://github.com/user/repo/commit/abc
Description for AI
This plugin analyzes the Github repository provided by the user and then tries to answer users questions related to this repository. It accepts the link to the repository from the user. The first step is to analyze the structure of the repository. When querying the structure of the repository provide the relevant file extensions to answer the users question. Use not only the extensions for the code files but also the extensions of some common files, like markdown and others. If not sure about the extensions, ask the user some clarifying question, for example, which programming language he wants to use. The response is the list of all files that are present in the repository. After receiving the list of files the most relevant files should be queried iteratively. Before giving an answer to the user, the relevance of the answer should be calculated, if it less than 0.7, then additional files should be requested. The process should be repeated until the relevance score is higher than 0.7.