├── .github └── workflows │ └── retype-action.yml ├── LICENSE ├── README.md ├── docs ├── authentication.md ├── features │ ├── branches │ │ ├── create-branch.md │ │ ├── delete-branch.md │ │ ├── index.yml │ │ └── list-branches.md │ ├── commits │ │ ├── commit-details.md │ │ ├── file-commit-history.md │ │ └── index.yml │ ├── files │ │ ├── file-creation.md │ │ ├── file-deletion.md │ │ ├── file-update.md │ │ └── index.yml │ ├── github-issues.md │ ├── index.yml │ ├── pull-requests │ │ ├── index.yml │ │ ├── pullrequest-changes.md │ │ ├── pullrequest-comments.md │ │ ├── pullrequest-create.md │ │ ├── pullrequest-overview.md │ │ └── pullrequests-list.md │ ├── repository-content.md │ ├── repository-structure.md │ └── search │ │ ├── index.yml │ │ ├── search-code.md │ │ ├── search-commits.md │ │ ├── search-file.md │ │ ├── search-issues.md │ │ ├── search-pullrequests.md │ │ └── search-repositories.md ├── getting-started │ ├── index.yml │ ├── installation.md │ └── prerequisites.md ├── index.md ├── legal.md ├── resources │ ├── authentication │ │ ├── auth-page.png │ │ ├── manage-subscription.mp4 │ │ └── sign-out.mp4 │ ├── getting-started │ │ ├── installation │ │ │ ├── open-plugin-store.png │ │ │ └── search-for-plugin.png │ │ └── prerequisites │ │ │ └── enable-plugins.png │ ├── logo.jpg │ └── usage │ │ ├── basic-usage │ │ ├── no-plugin-installed.png │ │ ├── plugin-installed.png │ │ └── sample.mp4 │ │ ├── branches │ │ ├── create-branch.png │ │ ├── delete-branch.png │ │ └── list-branches-response.png │ │ ├── files │ │ └── 2048_updated.png │ │ ├── github-issues │ │ └── comment-posting.png │ │ ├── iterative │ │ ├── step2.png │ │ ├── step3.png │ │ ├── step4.1.png │ │ ├── step4.2.png │ │ └── step4.3.png │ │ ├── large-files │ │ ├── step2-plugin-request.png │ │ ├── step2.png │ │ └── step4.png │ │ ├── pull-requests │ │ ├── changes.mp4 │ │ ├── create.mp4 │ │ ├── list-all.mp4 │ │ └── overview.mp4 │ │ └── search │ │ ├── langchain-sample-no-search.png │ │ ├── sample.png │ │ └── search-pullrequests.mp4 ├── samples.md └── usage │ ├── basic-usage.md │ ├── custom-branches.md │ ├── index.yml │ ├── iterative.md │ └── large-files.md ├── retype.yml └── robots.txt /.github/workflows/retype-action.yml: -------------------------------------------------------------------------------- 1 | name: Publish Retype powered website to GitHub Pages 2 | on: 3 | workflow_dispatch: 4 | push: 5 | branches: 6 | - main 7 | 8 | jobs: 9 | publish: 10 | name: Publish to retype branch 11 | 12 | runs-on: ubuntu-latest 13 | 14 | permissions: 15 | contents: write 16 | 17 | steps: 18 | - uses: actions/checkout@v3 19 | 20 | - uses: retypeapp/action-build@latest 21 | 22 | - uses: retypeapp/action-github-pages@latest 23 | with: 24 | update-branch: true -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2023 Denis Somok 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # AskTheCode Plugin Documentation 2 | 3 | Welcome to the official documentation repository for the AskTheCode plugin. This plugin is designed to empower developers by allowing them to analyze GitHub repositories and ask ChatGPT questions related to those repositories. Dive into the world of code with the power of AI at your fingertips! 4 | 5 | ## Collaboration & Feedback 6 | 7 | This repository is not just for documentation. We value your feedback and collaboration! 8 | 9 | ### Reporting Issues 10 | 11 | If you encounter any issues with the AskTheCode plugin, please create an issue in this repository. Ensure you provide: 12 | 13 | - A clear title and description. 14 | - Steps to reproduce the issue. 15 | - Any relevant screenshots or logs. 16 | 17 | ### Feature Requests 18 | 19 | Have a feature in mind? We'd love to hear it! Create an issue and label it as a "feature request". 20 | 21 | ### Pull Requests 22 | 23 | If you've made improvements to the documentation or have other valuable contributions, feel free to make a pull request. Ensure your PR has: 24 | 25 | - A clear and concise description of the changes. 26 | - Updated documentation if necessary. 27 | 28 | --- 29 | 30 | Thank you for using the AskTheCode plugin. Happy coding! 31 | -------------------------------------------------------------------------------- /docs/authentication.md: -------------------------------------------------------------------------------- 1 | --- 2 | label: "Authentication" 3 | icon: key 4 | order: 900 5 | --- 6 | 7 | # Authentication in AskTheCode Plugin 8 | 9 | To ensure a seamless experience with the AskTheCode plugin, users are required to authenticate. 10 | 11 | ### Authentication Methods 12 | 13 | 1. **Passwordless Login via Email** 14 | 15 | This method allows users to quickly start exploring the features of the AskTheCode plugin without the need for a password. It's a hassle-free way to get started, especially for those who are new to the plugin and want to explore its capabilities. However, this method is recommended for exploration purposes only. 16 | 17 | 2. **GitHub OAuth Authentication** 18 | 19 | Authenticating with your GitHub account unlocks additional features, such as the ability to ask questions about private repositories. For an enhanced experience and to take full advantage of the plugin's capabilities, we recommend using the GitHub OAuth method. 20 | 21 | ### Managing Your Account and Subscription 22 | 23 | [!embed](/resources/authentication/manage-subscription.mp4) 24 | 25 | To manage your account, subscription plan, view your quota or cancel subscription: 26 | 27 | 1. Visit the [Account Management Page](https://c7d59216ee8ec59bda5e51ffc17a994d.auth.portal-pluginlab.ai/pricing). 28 | 2. Here, you can view your current quota and available subscription plans. 29 | 3. To manage your current subscription, click on the **Manage subscription** icon located at the top-right corner of the page. 30 | 31 | ### Changing the Authentication Method 32 | 33 | To change the authentication method, you indeed need to reinstall the plugin. When you install it, it will ask you to log in and will show you the authentication page: 34 | 35 | ![](/resources/authentication/auth-page.png) 36 | 37 | On this page, you can press the "Change account" link, and you'll be redirected to the main Login page. It's important to note that GitHub caches the account you have previously used, so you might need to clear cookies for the github.com domain to see the prompt again. 38 | 39 | ### Troubleshooting 40 | 41 | #### Couldn't Log in with Plugin 42 | 43 | If you encounter an issue where you're unable to log in using the plugin, it might be related to a known OpenAI issue experienced by some users who use a non-English language in their browser. 44 | 45 | To resolve this issue: 46 | 47 | 1. Change the browser language to English. 48 | 2. If the browser translation feature is turned on and set to a language other than English, change it to English as well. 49 | 50 | #### Unable to Retrieve Data from Private Repository 51 | 52 | If you encounter an error when trying to retrieve data from your private repository, the issue might be related to the following error message: 53 | 54 | > Although you appear to have the correct authorization credentials, the `` organization has enabled OAuth App access restrictions, meaning that data access to third-parties is limited. For more information on these restrictions, including how to enable this app, visit [here](https://docs.github.com/articles/restricting-access-to-your-organization-s-data/). 55 | 56 | To resolve this issue, ensure that you have approved the AskTheCode OAuth app within your organization. To see how to approve the app, consult the [Approving OAuth apps for your organization](https://docs.github.com/en/organizations/managing-oauth-access-to-your-organizations-data/approving-oauth-apps-for-your-organization) documentation. 57 | 58 | #### Subscription Quota Not Applied 59 | 60 | If you encounter an error when after purchasing a subscription, the new quota may not immediately reflect in your account, leaving you unable to access the increased limits, you should follow the next steps: 61 | 62 | 1. **Log Out and Log Back In:** The first step is to ensure that your account recognizes the new subscription status. Please log out of your account and then log back in. This action refreshes your session and applies any pending updates to your account. 63 | 64 | 1. To log out of your account, navigate to the account settings and select the "Log Out" option. To log out of the account, pelase follow the steps from the video: [!embed](/resources/authentication/sign-out.mp4) 65 | 2. Log back in by entering the email or GitHub account details associated with the subscription purchase. 66 | 67 | 2. **Use the Correct Account:** It's crucial to log back in using the same account that was used to purchase the subscription. Logging in with a different account will not reflect the subscription benefits. 68 | 69 | By following these steps, you should be able to resolve issues related to the subscription quota not being immediately applied to your account. If the problem persists, please contact our support team for further assistance. 70 | -------------------------------------------------------------------------------- /docs/features/branches/create-branch.md: -------------------------------------------------------------------------------- 1 | --- 2 | label: Create Branch 3 | icon: git-branch 4 | order: 90 5 | --- 6 | 7 | !!!warning 8 | Currently the feature is supported only by the [AskTheCode GPT](https://chat.openai.com/g/g-3s6SJ5V7S-askthecode). 9 | !!! 10 | 11 | !!!warning 12 | This feature is only avalable when the [GitHub OAuth Authentication](/authentication/#authentication-methods) is used. 13 | !!! 14 | 15 | # Create Branch 16 | 17 | ### Overview 18 | 19 | The **Create Branch** feature allows users to create a new branch within a GitHub repository directly from the AskTheCode GPT. This feature streamlines the process of branching, enabling users to easily manage different development paths or features within the project. 20 | 21 | ### Why It's Useful 22 | 23 | - **Streamlines Branch Creation**: Simplifies the process of creating a new branch, making it accessible directly from the chat interface. 24 | 25 | - **Supports Multiple Development Paths**: Facilitates the management of different features or development directions by allowing easy branch creation. 26 | 27 | - **Facilitates Safe File Management**: Aligns well with the file content management features, highly recommended to let AskTheCode manage files in a new branch to prevent corrupting working code. 28 | 29 | ### How to Use 30 | 31 | 1. **Provide the Repository URL**: Begin by providing the GitHub repository URL to the AskTheCode plugin. 32 | 33 | 2. **Specify the New Branch Name**: Indicate the desired name for the new branch. It's important to follow any naming conventions your project adheres to. 34 | 35 | 3. **Identify the Source Branch (Optional)**: If you want the new branch to be created from a specific branch other than the default, specify the source branch. 36 | 37 | ### Sample 38 | 39 | ```prompt 40 | Please create a new branch named "feature-x" in https://github.com/username/repository from the "development" branch. 41 | ``` 42 | 43 | ![](/resources/usage/branches/create-branch.png) 44 | 45 | ### Conclusion 46 | 47 | The **Create Branch** feature is primarily designed to enhance the file editing experience by providing a safe environment for managing changes. Creating a new branch is highly recommended when working on modifications, ensuring that the main project's code remains intact and operational. 48 | -------------------------------------------------------------------------------- /docs/features/branches/delete-branch.md: -------------------------------------------------------------------------------- 1 | --- 2 | label: Delete Branch 3 | icon: trash 4 | order: 10 5 | --- 6 | 7 | !!!warning 8 | This feature is only available when the [GitHub OAuth Authentication](/authentication/#authentication-methods) is used. 9 | !!! 10 | 11 | ### Overview 12 | 13 | The **Delete Branch** feature allows users to remove an existing branch from a GitHub repository directly through AskTheCode GPT. This feature facilitates efficient branch management by enabling users to declutter the repository by removing obsolete or merged branches. 14 | 15 | ### Why It's Useful 16 | 17 | - **Simplifies Branch Management**: Allows for the easy removal of branches that are no longer needed, keeping the repository clean and manageable. 18 | 19 | - **Prevents Clutter**: Helps in avoiding the accumulation of stale branches, making it easier to navigate and focus on active development branches. 20 | 21 | - **Completes Branch Management Features**: Along with creating and listing branches, deleting a branch completes the suite of branch management capabilities, offering full control over the repository's branches directly from the chat interface. 22 | 23 | ### How to Use 24 | 25 | 1. **Provide the Repository URL**: Start by giving the GitHub repository URL to the AskTheCode plugin. 26 | 27 | 2. **Specify the Branch to Delete**: Clearly state the name of the branch you wish to delete. Ensure that the branch is not protected or currently in use. 28 | 29 | 3. **Confirm Deletion (Optional)**: For safety, you may be asked to confirm the deletion request. This prevents accidental removal of important branches. 30 | 31 | ### Sample 32 | 33 | ```prompt 34 | Please delete the "feature-x" branch in https://github.com/username/repository. 35 | ``` 36 | 37 | ![](/resources/usage/branches/delete-branch.png) 38 | 39 | ### Conclusion 40 | 41 | The **Delete Branch** feature is crucial for maintaining a clean and efficient repository. It complements the file and branch management features by allowing users to easily remove branches, ensuring that the repository remains organized and focused on current development efforts. -------------------------------------------------------------------------------- /docs/features/branches/index.yml: -------------------------------------------------------------------------------- 1 | title: Branches 2 | icon: git-branch 3 | expanded: false 4 | order: 70 -------------------------------------------------------------------------------- /docs/features/branches/list-branches.md: -------------------------------------------------------------------------------- 1 | --- 2 | label: List Branches 3 | icon: list-unordered 4 | order: 100 5 | --- 6 | 7 | # List Branches 8 | 9 | ### Overview 10 | 11 | The **List Branches** feature enables users to view all branches within a specific GitHub repository directly from the AskTheCode GPT. This functionality provides an overview of the repository's branch structure, making it easier to navigate and manage different versions of the project. 12 | 13 | ### Why It's Useful 14 | 15 | - **Branch Overview**: Quickly get an overview of all branches in a repository, helping users to navigate and understand the project's structure. 16 | 17 | - **Branch Selection for Work Continuation**: Enables users to pick up and continue working on a specific branch directly from the chat UI. 18 | 19 | - **Branch Naming Strategy Support**: Depending on the branch naming strategy, this feature can help ChatGPT to automatically pick the correct branch for any user interactions. 20 | 21 | ### How to Use 22 | 23 | 1. **Provide the Repository URL**: Start by providing the GitHub repository URL to the AskTheCode plugin. 24 | 25 | 2. **Request Branch List**: Ask for a list of all branches in the repository using a simple command like "Please list all branches in [repository URL]." 26 | 27 | ### Sample 28 | 29 | ```prompt 30 | Please list all branches in https://github.com/huggingface/pytorch-image-models 31 | ``` 32 | 33 | ![](/resources/usage/branches/list-branches-response.png) 34 | 35 | ### Conclusion 36 | The "List Repository Branches" feature is a vital tool for efficient GitHub repository management, offering a straightforward method to view and select branches. It enhances user interaction with the project by facilitating branch selection and supporting strategic branch naming for optimized ChatGPT integration. 37 | -------------------------------------------------------------------------------- /docs/features/commits/commit-details.md: -------------------------------------------------------------------------------- 1 | --- 2 | label: Commit Details 3 | icon: git-commit 4 | order: 100 5 | --- 6 | 7 | ### Overview 8 | 9 | The Commit Details feature allows users to delve deeper into the changes in the particular Github commit. By providing a link to the desired Github commit, users can ask ChatGPT questions related to the changes in this commit or even request to load the full file content before or after the commit for a more detailed analysis. Dive into the heart of Github commits, understand the changes, and analyze them without leaving the ChatGPT environment. 10 | 11 | ### Why It's Useful 12 | 13 | - **Detailed Analysis**: Understand the changes in a commit without having to manually sift through the code. 14 | 15 | - **Quick Insights**: Get quick answers to specific questions about a commit's changes, saving time and effort. 16 | 17 | - **Enhanced Understanding**: By understanding the changes in a commit, developers can make more informed decisions and contribute more effectively. 18 | 19 | - **Iterative Analysis**: For large commits, paging is implemented, allowing ChatGPT to analyze changes iteratively. 20 | 21 | - **Full File Content Loading**: Users can request ChatGPT to load the full file content before or after the commit for a more in-depth analysis. 22 | 23 | ### Sample 24 | 25 | #### Small commit analysis 26 | 27 | **Full Sample URL**: [ChatGPT Sample](https://chat.openai.com/share/997785f1-4b27-478b-92c3-4672ef9b0f60) 28 | 29 | In this sample, we are analyzing a commit from the .NET Runtime github repository: 30 | [.NET Runtime Commit](https://github.com/dotnet/runtime/commit/b09e18e8b6092e35611c2567bd55e8909ea78d7d) 31 | 32 | We are prompting ChatGPT with the next prompt: 33 | 34 | ``` 35 | https://github.com/dotnet/runtime/commit/b09e18e8b6092e35611c2567bd55e8909ea78d7d 36 | 37 | Act as a proficient C# .NET developer. 38 | 39 | Please give me an overview of the commit and then iterate over the changes in this commit, analyze files one by one. For each file output: 40 | 1. How many lines were added, updated, and deleted (in one line) 41 | 2. Describe what have been changed. Do not use some general reviews like code cleanup etc but describe the actual change. If code is added, say what new code does. If updated, analyze what was before and how the new code improves the previous one. If deleted, say what has been deleted and try to elaborate why. 42 | 3. Map changes to the commit description and how it correlates. 43 | 4. Please make a review of the changes and say if some fixes are required. Pay attention both to coding style and the meaning of changes. Especially this goes to removal - highlight which code has been removed and why. Respond only with "passed the review" or "failed." 44 | 5. Highlight areas that should be reviewed by a human. Do that only when you spot some issues with the changes or when you cannot be sure that the change is needed and solves any issue. Otherwise, say that no review is needed. 45 | ``` 46 | 47 | #### Larger commit analysis 48 | 49 | Some commits are large enough that they cannot be analyzed in one go. To maintain response quality, the plugin pages the commit changes in the case of large commits. 50 | 51 | **Full Sample URL**: [ChatGPT Sample](https://chat.openai.com/share/438050fd-c059-4c1e-a2e4-7b3de2d134e8) 52 | 53 | In this sample, we'll analyze a commit from the Semantic Kernel GitHub repository: 54 | [Semantic Kernel Commit](https://github.com/microsoft/semantic-kernel/commit/18ffc4bf2f2b57d3c58381e8d961e3757ce0c991) 55 | 56 | In this case, the commit contains changes in 13 files. These changes are quite extensive. So, when prompted with similar prompts as above, it analyzes only the first 5 files with the first request and then analyzes the remaining files with the second request. -------------------------------------------------------------------------------- /docs/features/commits/file-commit-history.md: -------------------------------------------------------------------------------- 1 | --- 2 | label: File Commit History (beta) 3 | icon: history 4 | order: 90 5 | --- 6 | 7 | !!!warning Beta Feature 8 | The functionality described in this document is **currently in beta**. Please be aware that there might be some unexpected behaviors. 9 | !!! 10 | 11 | --- 12 | 13 | # File Commit History 14 | 15 | ### Overview 16 | 17 | The File Commit History feature allows users to explore the commit history of a specific file within a Github repository. By providing the link to a Github repository and specifying a file path, users can delve into the evolution of the file, examining each commit that has modified it. 18 | 19 | ### Why It's Useful 20 | 21 | - **Historical Insight**: Gain a comprehensive understanding of how a file has evolved over time, including changes made in each commit. 22 | 23 | - **Blame Analysis**: Determine who made specific changes to the file and when, facilitating accountability and collaboration. 24 | 25 | - **Contextual Understanding**: Understand the reasons behind changes by linking them to specific commits and their messages. 26 | 27 | - **Iterative Exploration**: For files with extensive commit histories, users can explore the history iteratively, focusing on specific periods or changes of interest. 28 | 29 | - **Commit Details**: Delve deeper into the commit details using the [Commit Details](/features/commits/commit-details) feature. 30 | 31 | ### Sample 32 | 33 | #### Analyzing File History 34 | 35 | **Full Sample URL**: [AskTheCode GPT Sample](https://chat.openai.com/share/d8b6586b-87c1-49e0-bca9-ffae146ef9aa) 36 | 37 | In this example, we analyze the commit history of the [UnsafeAccessorAttribute.cs](https://github.com/dotnet/runtime/blob/main/src/libraries/System.Private.CoreLib/src/System/Runtime/CompilerServices/UnsafeAccessorAttribute.cs) file in the [.NET Runtime](https://github.com/dotnet/runtime) repository. After retrieving the commit history, we delve deeper into the specific commit we are interested in. 38 | 39 | ### Conclusion 40 | 41 | The `File Commit History` feature enhances the Github repositories analysis, offering users a detailed and insightful look into the history of individual files. This feature is particularly useful for developers, project managers, and anyone interested in understanding the evolution of a project's codebase. 42 | -------------------------------------------------------------------------------- /docs/features/commits/index.yml: -------------------------------------------------------------------------------- 1 | title: Search 2 | icon: git-commit 3 | expanded: false 4 | order: 40 -------------------------------------------------------------------------------- /docs/features/files/file-creation.md: -------------------------------------------------------------------------------- 1 | --- 2 | label: File Creation 3 | order: 100 4 | icon: diff-added 5 | --- 6 | 7 | !!!warning Beta Feature 8 | The functionality described in this document is **currently in beta**. Please be aware that there might be some unexpected behaviors. 9 | !!! 10 | 11 | !!!warning 12 | This feature is only avalable when the [GitHub OAuth Authentication](/authentication/#authentication-methods) is used. 13 | !!! 14 | 15 | # File Creation 16 | 17 | ### Overview 18 | 19 | The File Creation feature in AskTheCode enables users to add new files to a GitHub repository directly through the chat interface. This functionality simplifies the process of contributing new content to a project as a result of your interactions with the AskTheCode GPT, allowing for quick and seamless integration of new resources, documentation, or code. 20 | 21 | ### Why It's Useful 22 | 23 | - **Facilitates Persistent GPT Interactions**: This enhancement enables users to directly save the outcomes of their interactions with AskTheCode GPT into the repository. Whether it's code snippets, configuration files, or documentation generated during a chat, this feature seamlessly integrates GPT's insights into your project's development workflow. 24 | 25 | - **Enhances Collaboration Through GPT Insights**: By allowing the storage of GPT interaction results, team members can now contribute more effectively. This feature not only preserves the context of discussions but also enriches the project repository with valuable insights, making collaboration more dynamic and informed. 26 | 27 | ### How to Use 28 | 29 | 1. **Select the Repository and Branch**: Initiate by choosing the GitHub repository URL where the new file will be created. Consider creating a new branch for these changes to maintain the stability of the project's mainline. 30 | 31 | !!!info Caution 32 | Creating files directly in the default branch is not prohibited but can is highly discouraged. For a safer development process, it's **highly recommended** to perform changes in a new branch. Creating a new branch for your edits isolates changes, simplifies review, and reduces the risk of unintentionally affecting the project's stability. Please, consider using a dedicated branch for any updates or modifications. 33 | !!! 34 | 35 | 2. **Provide File Details**: Specify the path and name for the new file, including the directory structure if it should be nested within specific folders. 36 | 37 | 3. **Incorporate GPT Interaction Results**: Ask AskTheCode GPT to generate a required content and store it to the file. This could be code, documentation, or any other project-relevant content. 38 | 39 | 4. **Finalize File Creation**: Optionally you can explicitly specify the commit message to eb used. If not, AskTheCode GPT will generate appropriate commit message on its own. 40 | 41 | ### Example 42 | 43 | In this example, the process of creating an initial HTML markup for the 2048 game within a GitHub repository is outlined. 44 | 45 | The operation consists of two main steps: 46 | 47 | 1. **Creating a New Branch**: A new branch is created specifically for this development activity to ensure that the main codebase remains unaffected until the new features are ready to be merged. 48 | 49 | 2. **Creating the Initial HTML File**: With the new branch set up, the AskTheCode GPT is asked to generate the initial HTML markup file for the 2048 game. 50 | 51 | 3. **Storing it to the repository**: When the content is generated, it's saved to the newly created branch in the repository. 52 | 53 | The prompt used for this operation is as follows: 54 | 55 | ```prompt 56 | https://github.com/askthecode/test-repo 57 | 58 | Please do the following: 59 | 60 | 1. Create new branch 2048-game 61 | 2. In this newly created branch create html file with simple board for the 2048 game 62 | 3. Save this html to the "2048-game" directory 63 | ``` 64 | 65 | The full sample can be found by this [link](https://chat.openai.com/share/e90ff849-6c44-4646-b53d-44d0bbd664dd). 66 | 67 | ### Conclusion 68 | 69 | The File Creation feature enhances the GitHub experience by enabling users to easily add new files to their repositories directly from the chat interface with AskTheCode, streamlining project development and collaboration. 70 | -------------------------------------------------------------------------------- /docs/features/files/file-deletion.md: -------------------------------------------------------------------------------- 1 | --- 2 | label: File Deletion 3 | order: 80 4 | icon: diff-removed 5 | --- 6 | 7 | !!!warning Beta Feature 8 | The functionality described in this document is **currently in beta**. Please be aware that there might be some unexpected behaviors. 9 | !!! 10 | 11 | !!!warning 12 | This feature is only avalable when the [GitHub OAuth Authentication](/authentication/#authentication-methods) is used. 13 | !!! 14 | 15 | # File Deletion 16 | 17 | ### Overview 18 | 19 | The File Deletion feature in AskTheCode allows users to remove files from a GitHub repository directly through the chat interface. This functionality enables a more dynamic and interactive experience, allowing for the seamless management of repository contents. 20 | 21 | ### Why It's Useful 22 | 23 | - **Streamlines Repository Management**: Facilitates the quick and easy removal of unnecessary or outdated files from the repository, keeping the project clean and organized. 24 | 25 | - **Enhances Collaborative Workflows**: By allowing the deletion of files through chat, users can efficiently manage project assets and maintain a streamlined development process. 26 | 27 | - **Supports Dynamic Project Evolution**: As projects evolve, the ability to remove files becomes crucial in adapting to new requirements or changes in project direction. 28 | 29 | ### How to Use 30 | 31 | 1. **Select the Repository and Branch**: Begin by specifying the GitHub repository URL where the file will be deleted. Ensure you're working on the correct branch to avoid unintended deletions. 32 | 33 | !!!info Caution 34 | Deleting files directly in the default branch is not prohibited but can is highly discouraged. For a safer development process, it's **highly recommended** to perform changes in a new branch. Creating a new branch for your edits isolates changes, simplifies review, and reduces the risk of unintentionally affecting the project's stability. Please, consider using a dedicated branch for any updates or modifications. 35 | !!! 36 | 37 | 2. **Identify the File to Delete**: Provide the path and name of the file you wish to remove. Accuracy is crucial to prevent the deletion of the wrong file. 38 | 39 | 3. **Confirm File Deletion**: Before proceeding, AskTheCode GPT will confirm the file deletion request to ensure it is intentional and correct. This step is crucial for avoiding accidental loss of important files. 40 | 41 | 4. **Deletion Process**: Upon confirmation, AskTheCode GPT will proceed to delete the specified file from the repository and provide feedback on the successful removal. 42 | 43 | ### Example 44 | 45 | ```prompt 46 | Please delete the file named "old_version.txt" in the branch "feature/update" of the repository https://github.com/username/repository. 47 | ``` 48 | 49 | ### Conclusion 50 | 51 | The File Deletion feature is designed to complement the file management capabilities within GitHub repositories, offering a direct and efficient method to remove files. By integrating this feature with the chat interface, AskTheCode enhances the user experience, providing a seamless workflow for managing project contents. -------------------------------------------------------------------------------- /docs/features/files/file-update.md: -------------------------------------------------------------------------------- 1 | --- 2 | label: File Update 3 | order: 90 4 | icon: diff-modified 5 | --- 6 | 7 | !!!warning Beta Feature 8 | The functionality described in this document is **currently in beta**. Please be aware that there might be some unexpected behaviors. 9 | !!! 10 | 11 | !!!warning 12 | This feature is only avalable when the [GitHub OAuth Authentication](/authentication/#authentication-methods) is used. 13 | !!! 14 | 15 | # File Update 16 | 17 | ### Overview 18 | 19 | The File Update feature in AskTheCode enables users to modify existing files in a GitHub repository directly through the chat interface. This functionality allows for the efficient management and updating of project contents, ensuring that your repository remains up-to-date with the latest changes and improvements. 20 | 21 | ### Why It's Useful 22 | 23 | The File Update feature allows AskTheCode users to seamlessly integrate changes and code generated during their interaction with AskTheCode GPT into their repositories. This capability is crucial for: 24 | 25 | - **Automating Content Updates**: Automatically saving changes and code generated by AskTheCode GPT, streamlining the process of updating project files with new insights or corrections. 26 | 27 | - **Facilitating Iterative Development**: Enabling users to iteratively improve their project files, code, and documentation directly through the chat interface, ensuring that repositories stay current with the latest developments. 28 | 29 | ### How to Use 30 | 31 | 1. **Create a Dedicated Branch**: Before making changes, use the [Create Branch](/features/branches/create-branch) feature of AskTheCode GPT to establish a dedicated branch for your updates. This ensures that the main working branch remains unaffected by the preliminary changes. 32 | 33 | !!!info Caution 34 | Editing files directly in the default branch is not prohibited but is highly discouraged. For a safer development process, it's **highly recommended** to perform changes in a new branch. Creating a new branch for your edits isolates changes, simplifies review, and reduces the risk of unintentionally affecting the project's stability. Please, consider using a dedicated branch for any updates or modifications. 35 | !!! 36 | 37 | 2. **Select the File to Update**: Specify the path and name of the file within the dedicated branch that you wish to update. Precision in file selection is crucial. 38 | 39 | 3. **Generate Changes with AskTheCode GPT**: Instead of manually specifying changes, engage with AskTheCode GPT to generate the required content updates. This can include additions, deletions, or modifications to the existing file. 40 | 41 | 4. **Apply and Review Changes**: Review the generated changes for accuracy and relevance. Confirm the updates and, if necessary, provide a commit message. If not provided, AskTheCode GPT will generate a suitable commit message based on the updates. 42 | 43 | ### Important Considerations 44 | 45 | - **Dedicated Branch Usage**: Always perform updates in a dedicated branch created for this purpose. This isolates changes and facilitates easy review and integration. 46 | 47 | - **Caution with Automated Changes**: Be aware that code changes generated by AskTheCode GPT can be unreliable and potentially harmful if applied directly to the working branch. Always review changes carefully before merging them into main project branches. 48 | - **Iterative and Incremental Updates**: Prefer making small, incremental changes rather than bulk updates. This approach simplifies tracking changes and reduces the risk of conflicts or errors. 49 | 50 | ### Example 51 | 52 | In this example, we'll continue with the creation an initial HTML markup for the 2048 game. See the [File Creation Example](/features/files/file-creation#example) for the first part. 53 | 54 | The operation involves the following main steps: 55 | 56 | 1. **Analyzing the Current Game Board Layout**: Initially, the current state of the 2048 game board layout is analyzed by inspecting the relevant HTML and CSS within the `board.html` file. This analysis is crucial to understanding how the game board is presented on the screen and to identify necessary adjustments for centering the board. 57 | 58 | 2. **Preparing the Fix for the Layout**: Based on the analysis, a fix is prepared to modify the existing CSS. This involves adding styles to center the game board within the viewport and ensuring the rest of the screen remains white. The proposed changes are aimed at enhancing the visual presentation of the game by making it more visually appealing and user-friendly. 59 | 60 | 3. **Updating the Repository File**: After finalizing the layout fix, the modifications are applied directly to the `board.html` file in the repository. This step involves updating the file with the new CSS styles that center the game board. The update is performed in a manner that ensures the changes are accurately reflected in the game's visual layout, leading to an improved gaming experience. 61 | 62 | ```prompt 63 | https://github.com/askthecode/test-repo/tree/2048-game/2048-game 64 | 65 | Please do the following: 66 | 67 | 1. Analyze the current state of the 2048 game board 68 | 2. Prepare the fix for the layout so that the board will be centered on the screen. The rest part of the screen should be white. 69 | 3. Update relevant styles in the repository file. 70 | ``` 71 | 72 | The full sample can be found by this [link](https://chat.openai.com/share/170de883-ddf3-4c83-a829-af8dd2f4acc0). 73 | 74 | The resulting board looks like: 75 | 76 | ![](/resources/usage/files/2048_updated.png) 77 | 78 | ### Conclusion 79 | 80 | The File Update feature, when used with the recommended precautions, significantly enhances the GitHub experience. It allows for efficient, automated updates to repository files, fostering continuous improvement and collaboration within project teams. 81 | -------------------------------------------------------------------------------- /docs/features/files/index.yml: -------------------------------------------------------------------------------- 1 | title: Files 2 | icon: file 3 | expanded: false 4 | order: 60 -------------------------------------------------------------------------------- /docs/features/github-issues.md: -------------------------------------------------------------------------------- 1 | --- 2 | label: Github Issues 3 | icon: issue-opened 4 | order: 50 5 | --- 6 | 7 | # Github Issues 8 | 9 | --- 10 | 11 | ### Overview 12 | 13 | The Github Issues functionality is a powerful tool that not only allows users to delve deeper into the conversations and discussions surrounding a particular Github issue but also empowers them to post comments directly. By providing a link to the desired Github issue, users can ask ChatGPT questions related to the conversation under this issue or even request to post a comment. Dive into the heart of Github discussions, interact seamlessly, and make your voice heard without leaving the ChatGPT environment. 14 | 15 | ### Why It's Useful 16 | 17 | - **Deep Dive into Discussions**: Understand the context and nuances of discussions without having to manually sift through long conversation threads. 18 | 19 | - **Quick Insights**: Get quick answers to specific questions about an issue's conversation, saving time and effort. 20 | 21 | - **Enhanced Collaboration**: By understanding the core of discussions, developers can make more informed decisions and contribute more effectively. 22 | 23 | - **Direct Interaction**: With the comments posting capability, users can actively participate in ongoing discussions, provide feedback, or ask further questions directly from ChatGPT. This seamless integration ensures that users can make their voice heard without the need to switch between platforms. 24 | 25 | - **Controlled Engagement**: ChatGPT ensures that no comment is posted without the user's explicit approval, providing a safe and controlled environment for interaction. 26 | 27 | 28 | ### Issue Analysis 29 | 30 | The Issue Analysis feature allows users to gain insights into the discussions surrounding a Github issue. By providing ChatGPT with the link to the desired Github issue, the tool will analyze the conversation and provide relevant answers or insights. For long issues, not all comments may be retrieved at once due to limitations. ChatGPT will notify you in such cases and ask if you want to analyze the next part of the comments. For shorter issues, the entire conversation can be retrieved in a single request. This feature is particularly useful for understanding the context and nuances of discussions without having to manually sift through long conversation threads. 31 | 32 | #### Sample 33 | 34 | **Full Sample URL**: [ChatGPT Sample](https://chat.openai.com/share/f8bb6da7-9676-4590-a9f4-48b7d35ab885) 35 | 36 | In this sample, the user is keen on understanding how to deploy the Langchain service as an AWS Lambda. They stumble upon a relevant Github issue: [Langchain Issue #1364](https://github.com/langchain-ai/langchain/issues/1364). The discussion on this issue is extensive, making it challenging for the user to pinpoint the solution swiftly. 37 | 38 | With the help of ChatGPT's Issue Analysis feature, the conversation is analyzed, and the solution is identified. ChatGPT confirms that the proposed solution was also validated by other users in the discussion. This solution directs the user to a repository containing the necessary template. 39 | 40 | ChatGPT further delves into this repository, providing the user with a comprehensive overview and guiding them through the deployment process. 41 | 42 | ### Comments Posting 43 | 44 | !!!warning 45 | This feature is only avalable when the [GitHub OAuth Authentication](/authentication/#authentication-methods) is used. 46 | !!! 47 | 48 | The Comments Posting feature allows users to interact with Github issues directly from ChatGPT. Users can request ChatGPT to compose a comment to post to the issue, either based on a previous feature analysis or from scratch. Rest assured, ChatGPT will never post a comment without confirming it with you first and asking for your approval. This feature enhances collaboration by allowing users to make their voice heard without leaving the ChatGPT environment. 49 | 50 | #### Sample 51 | 52 | **Full Sample URL**: [ChatGPT Sample](https://chat.openai.com/share/d18e2b5e-2299-41ce-92dc-8c94e2d102c3) 53 | 54 | In this sample, the user requests ChatGPT to analyze an issue. For demonstration purposes, a test issue inside a private repository is used to avoid unintended interactions with real issues. ChatGPT proposes an initial version of the comment based on the analysis. The user, after reviewing the comment, can provide feedback and request changes to better align with their intent. 55 | 56 | ChatGPT then refines the comment based on the user's feedback. Once the user is satisfied and approves the comment, ChatGPT proceeds to post the comment to the specified Github issue, ensuring a seamless and interactive experience. 57 | 58 | ![](/resources/usage/github-issues/comment-posting.png) 59 | 60 | ### Conclusion 61 | 62 | The Github Issues functionality is a game-changer for both repository maintainers and end-users. Maintainers can now swiftly respond to created issues via ChatGPT, ensuring a more dynamic and interactive community. On the other hand, 63 | -------------------------------------------------------------------------------- /docs/features/index.yml: -------------------------------------------------------------------------------- 1 | title: Features 2 | icon: book 3 | expanded: true 4 | order: 100 -------------------------------------------------------------------------------- /docs/features/pull-requests/index.yml: -------------------------------------------------------------------------------- 1 | title: Pull Requests 2 | icon: git-pull-request 3 | expanded: false 4 | order: 60 -------------------------------------------------------------------------------- /docs/features/pull-requests/pullrequest-changes.md: -------------------------------------------------------------------------------- 1 | --- 2 | label: Pull Requests Changes 3 | icon: file-code 4 | order: 70 5 | --- 6 | 7 | [!embed](/resources/usage/pull-requests/changes.mp4) 8 | 9 | ### Overview 10 | 11 | The `Pull Request Changes` feature focuses on analyzing the changes made in pull requests, specifically useful for PRs with numerous changed files. This feature is particularly helpful when the pull request overview cannot display all changes due to the 100k characters limitation in GPT actions responses. 12 | 13 | ### Why It's Useful 14 | 15 | - **Detailed File Analysis**: Provides a granular view of the changes made in each file within a pull request, enabling better understanding and review of the changes. 16 | - **Paging Capability**: Supports paging through file changes, crucial for pull requests with extensive modifications. 17 | 18 | ### How to Use 19 | 20 | 1. **Provide the Pull Request URL**: Start by providing the GitHub pull request URL to the AskTheCode GPT. 21 | 2. **Request Pull Request File Changes**: Specify your interest in analyzing the file changes, especially for large PRs. 22 | 3. **Navigate Through File Changes**: Use the paging functionality to move through the changes efficiently. 23 | 24 | ### Sample 25 | 26 | ```prompt 27 | https://github.com/dotnet/efcore/pull/33302 28 | Please iterate over all changes and respond in the format: - 29 | ``` 30 | 31 | ### Conclusion 32 | 33 | The `Pull Request Changes` feature enhances the ability to analyze and understand the changes made in large pull requests efficiently, making it easier to review and assess the impact of those changes. 34 | -------------------------------------------------------------------------------- /docs/features/pull-requests/pullrequest-comments.md: -------------------------------------------------------------------------------- 1 | --- 2 | label: Pull Requests Comments 3 | icon: comment-discussion 4 | order: 80 5 | --- 6 | 7 | ### Overview 8 | 9 | The `Pull Request Comments` feature focuses on analyzing and managing conversations in pull requests, particularly useful for PRs with extensive discussions that exceed the capability of the standard [Pull Request Overview](/features/pull-requests/pullrequest-overview.md) feature due to response size limitations. 10 | 11 | ### Why It's Useful 12 | 13 | - **Detailed Conversation Analysis**: Provides an in-depth view of the conversations within pull requests, enabling better understanding and management of discussions. 14 | - **Paging Capability**: Supports paging through conversations, which is essential for large pull requests with lengthy discussions. 15 | 16 | ### How to Use 17 | 18 | 1. **Provide the Pull Request URL**: Start by providing the GitHub pull request URL to the AskTheCode GPT. 19 | 2. **Request Pull Request Comments**: Specify your interest in analyzing the comments, particularly for large PRs. 20 | 3. **Navigate Through Conversations**: Use the paging functionality to move through extensive conversations efficiently. 21 | 22 | ### Sample 23 | 24 | ```prompt 25 | https://github.com/dotnet/efcore/pull/10264 26 | Please iterate over the conversation and provide me a summary of each comment and the discussion under it. 27 | ``` 28 | 29 | ### Conclusion 30 | 31 | The `Pull Request Comments` feature is designed to handle extensive conversations in pull requests efficiently, making it easier to analyze and summarize those discussions. 32 | 33 | -------------------------------------------------------------------------------- /docs/features/pull-requests/pullrequest-create.md: -------------------------------------------------------------------------------- 1 | --- 2 | label: Create Pull Request 3 | icon: git-pull-request 4 | order: 60 5 | --- 6 | 7 | !!!warning Beta Feature 8 | The functionality described in this document is **currently in beta**. Please be aware that there might be some unexpected behaviors. 9 | !!! 10 | 11 | !!!warning 12 | This feature is only available when the [GitHub OAuth Authentication](/authentication/#authentication-methods) is used. 13 | !!! 14 | 15 | # Create Pull Request 16 | 17 | [!embed](/resources/usage/pull-requests/create.mp4) 18 | 19 | ### Overview 20 | 21 | The **Create Pull Request** feature allows users to create a new pull request within a GitHub repository directly from the AskTheCode GPT. This feature streamlines the process of initiating code reviews and merging changes, facilitating better collaboration and project management. 22 | 23 | ### Why It's Useful 24 | 25 | - **Simplifies Code Review Process**: Makes it easy to create pull requests directly from the chat interface, promoting more frequent and efficient code reviews. 26 | - **Enhances Collaboration**: Encourages collaborative development by making it simpler to propose changes and request feedback. 27 | - **Integrates Seamlessly**: Works well in conjuction with [Create Branch](/features/branches/create-branch) and [Pull Request Overview](/features/pull-requests/pullrequest-overview) features. 28 | 29 | ### How to Use 30 | 31 | 1. **Provide the Repository URL**: Start by providing the GitHub repository URL to the AskTheCode plugin. 32 | 2. **Specify Branches**: Indicate the source branch (where your changes are) and the target branch (where you want to merge the changes). Make sure to follow your project's branching strategy. 33 | 3. **Title and Description**: Optionally provide a title and description for the pull request. If not explicitly provided, AskTheCode will generate them for you. 34 | 35 | ### Sample 36 | 37 | **Full Sample URL**: [AskTheCode GPT Sample](https://chatgpt.com/share/7da32860-c8fb-41b1-940a-ac3374ecd821) 38 | 39 | In this example, the user asks AskTheCode to merge changes from the `2048-game` into the `main` branch. AskTheCode verifies that there are no open pull requests between these branches and then proceeds to create a new pull request. The user can then review the pull request details and make any necessary modifications. 40 | 41 | ### Conclusion 42 | 43 | The `Create Pull Request` feature is designed to enhance the collaborative development process by simplifying the creation of pull requests. This promotes efficient code reviews and project management, ensuring that changes are thoroughly reviewed and seamlessly integrated. 44 | -------------------------------------------------------------------------------- /docs/features/pull-requests/pullrequest-overview.md: -------------------------------------------------------------------------------- 1 | --- 2 | label: Pull Requests Overview 3 | icon: eye 4 | order: 90 5 | --- 6 | 7 | [!embed](/resources/usage/pull-requests/overview.mp4) 8 | 9 | ### Overview 10 | 11 | The `Pull Request Overview` feature provides a detailed view of the individual pull request in a GitHub repository. This allows users to see comprehensive information about each pull request, including status, contributors, and linked issues. 12 | 13 | ### Why It's Useful 14 | 15 | - **Detailed Information**: Offers a detailed view of pull requests, including the conversation, file changes, essential metrics such as additions, deletions etc. 16 | - **Collaboration Facilitation**: Aids in reviewing contributions, making collaborative decisions easier. 17 | - **Simplifies Small PRs**: Works best for small PRs, that can be processed in one go. For PRs with large conversations or with lots of changes see [Pull Requests Comments](/features/pull-requests/pullrequest-comments.md) and [Pull Requests Changes](/features/pull-requests/pullrequest-changes.md) features. 18 | 19 | ### How to Use 20 | 21 | 1. **Provide the Pull Request URL**: Start by providing the GitHub pull request URL to the AskTheCode GPT. 22 | 2. **Request Pull Request Details**: Request pull request overview or the specific details you are interested in. 23 | 24 | ### Sample 25 | 26 | ```prompt 27 | https://github.com/huggingface/pytorch-image-models/pull/2048 28 | Please give me an overview of the pull request, describe each change and summarize the conversation 29 | ``` 30 | 31 | ### Conclusion 32 | 33 | **Pull Request Overview** feature sufficiently simplifies interaction with GitHub pull requests. It helps to grasp the idea of the pull request details and introduced changes. 34 | -------------------------------------------------------------------------------- /docs/features/pull-requests/pullrequests-list.md: -------------------------------------------------------------------------------- 1 | --- 2 | label: List Pull Requests 3 | icon: list-unordered 4 | order: 100 5 | --- 6 | 7 | [!embed](/resources/usage/pull-requests/list-all.mp4) 8 | 9 | ### Overview 10 | 11 | The `List Pull Requests` feature allows users to view all open pull requests within a specific GitHub repository directly from the AskTheCode GPT. This functionality provides an overview of the repository's pull request activity, aiding in code review processes and project management. 12 | 13 | ### Why It's Useful 14 | 15 | - **Pull Request Overview**: Quickly obtain a list of all open pull requests, offering insight into ongoing changes and code reviews. 16 | - **Facilitates Code Review**: Streamlines the process of identifying pull requests that need attention, simplifying the workflow for contributors and reviewers. 17 | - **Pull Request Analysis**: Provides a great entrypoint for further [Pull Requests Overview](/features/pull-requests/pullrequest-overview.md), [Pull Requests Comments](/features/pull-requests/pullrequest-comments.md) and [Pull Requests Changes](/features/pull-requests/pullrequest-changes.md) features. 18 | 19 | ### How to Use 20 | 21 | 1. **Provide the Repository URL**: Begin by providing the GitHub repository URL to the AskTheCode GPT. 22 | 2. **Request Pull Request List**: Request a list of all open pull requests in the repository using a simple command like "Please list all pull requests in [repository URL]." 23 | 24 | ### Sample 25 | 26 | ```prompt 27 | Please list pull requests in https://github.com/huggingface/pytorch-image-models 28 | Respond with the pull request name and URL 29 | ``` 30 | 31 | ### Conclusion 32 | 33 | The `List Pull Requests` feature is an essential tool for effective GitHub repository management, providing a straightforward way to view and engage with open pull requests. It enhances user interaction with the project by facilitating quick access to and discussions about pending changes. 34 | 35 | -------------------------------------------------------------------------------- /docs/features/repository-content.md: -------------------------------------------------------------------------------- 1 | --- 2 | label: Repository Content 3 | icon: file 4 | order: 90 5 | --- 6 | 7 | # Repository Content 8 | 9 | --- 10 | 11 | ### Overview 12 | 13 | The Repository Content feature is designed to empower ChatGPT with the ability to retrieve and analyze the content of files within a GitHub repository. By first [querying the structure of the repository](/features/repository-structure), ChatGPT gains knowledge of the files present and can then selectively request the content of files deemed relevant to answer the user's question. 14 | 15 | ### Why It's Useful 16 | 17 | - **Comprehensive Analysis**: By accessing the actual content of repository files, ChatGPT can provide detailed insights, explanations, and code suggestions. 18 | 19 | - **Optimized File Retrieval**: AskTheCode employs multiple strategies to reduce file sizes and ensure efficient content retrieval, especially for large files. 20 | 21 | - **Private Repository Access**: this feature supports accessing private repositories if the user is [authenticated with their GitHub account](/authentication). 22 | 23 | - **Paging Support**: For extensive files, AskTheCode enforces content paging to ensure that ChatGPT can analyze the file without hallucinations. 24 | 25 | ### Constraints 26 | 27 | - **File Size Limit:** The maximum file size supported by AskTheCode is **50,000** characters long. This limit is due to the current restrictions of ChatGPT for the maximum plugin response size. 28 | - **Large Files:** Issues can occur with very large files due to the limits of the ChatGPT context size. It's recommended to be cautious when analyzing large files. 29 | - **Repository Structure Limit:** Currently, the plugin can retrieve the structure of repositories that have less than **100,000 files** with a maximum size of **7 MB** for their structure. This limitation is derived from the [GitHub tree endpoint](https://docs.github.com/en/rest/git/trees?apiVersion=2022-11-28#get-a-tree). 30 | 31 | ### Sample 32 | 33 | #### Basic sample 34 | 35 | The sample and guidelines can be found [here](/usage/basic-usage) 36 | 37 | #### Retrieving Files by Pages 38 | 39 | Sometimes you might prompt ChatGPT for something that will require it to query multiple files from the repository, and the total size of these files can be quite large. If the plugin were to simply return all contents to ChatGPT, it would significantly overflow the context of the GPT-4 model used under the hood, and resulted in a poor response quality. To prevent this, the plugin detects when the total size of the requested files is significant and pages them. 40 | 41 | Let's assume that we want to query all functions defined in the [Langchain Utils directory](https://github.com/langchain-ai/langchain/tree/master/libs/langchain/langchain/utils). 42 | 43 | Sample conversation: https://chat.openai.com/share/f349d959-d957-47f7-a7f7-0febe9197602 44 | 45 | The total size of all files within this directory is large, which would result in ChatGPT compressing file contents, significantly impacting the response quality. Instead, the plugin paginates results, allowing ChatGPT to analyze the amount of data it can process at once. -------------------------------------------------------------------------------- /docs/features/repository-structure.md: -------------------------------------------------------------------------------- 1 | --- 2 | label: Repository Structure 3 | icon: list-unordered 4 | order: 100 5 | --- 6 | 7 | # Github Repository Structure Retrieval 8 | 9 | --- 10 | 11 | ### Overview 12 | 13 | The Github Repository Structure Retrieval feature is an integral part of the AskTheCode plugin, designed to empower users with the ability to seamlessly explore the structure of any given GitHub repository. By simply providing the link to a desired repository, users can gain a comprehensive understanding of its structure, including directories and files, without the need to navigate manually through GitHub's interface. 14 | 15 | ### Why It's Useful 16 | 17 | - **Effortless Repository Exploration**: With this feature, a single link is all you need to get a detailed overview of any repository's structure. 18 | 19 | - **Branch and Commit Flexibility**: Whether you're looking to explore the default branch, delve into a custom branch, or even analyze the repository at a specific commit, this feature has got you covered. This flexibility ensures that users can get insights into the repository's state at any point in its history. More details con be found in [Custom Branches documentation](/usage/custom-branches) 20 | 21 | - **Tailored Directory Content Retrieval**: Interested in a specific directory or multiple directories within the repository? No problem! Specify your areas of interest, and the plugin will retrieve the contents just for you. 22 | 23 | ### Limitations 24 | 25 | The retrieval of the entire structure for very large repositories can be challenging due to the constraints of the ChatGPT context size. To address this limitation and ensure efficient and user-friendly interactions, the feature is designed to initially present only the directories for large repositories. This approach allows ChatGPT to specify which directory or directories it wish to explore further, enabling a more targeted and manageable exploration. This design choice ensures that despite the inherent constraints, users can still gain meaningful insights into the structure of large repositories without overwhelming ChatGPT. 26 | -------------------------------------------------------------------------------- /docs/features/search/index.yml: -------------------------------------------------------------------------------- 1 | title: Search 2 | icon: search 3 | expanded: false 4 | order: 80 -------------------------------------------------------------------------------- /docs/features/search/search-code.md: -------------------------------------------------------------------------------- 1 | --- 2 | label: Search Code 3 | icon: codescan 4 | order: 90 5 | --- 6 | 7 | # Search Code 8 | 9 | !!! 10 | Only the default branch is supported for this functionality. 11 | !!! 12 | 13 | 14 | --- 15 | 16 | ### Overview 17 | 18 | The Search Code functionality is a feature designed to enhance interactions with Github repositories. By leveraging the Github Search, it provides more precise results when users specify particular entities such as a class, method, file etc. Unlike the base version of the plugin, which returns the entire repository structure to ChatGPT, this feature narrows down the results based on user input, ensuring more relevant and accurate responses. 19 | 20 | ### Search Hits and Contextual Analysis 21 | 22 | One of the powerful aspects of the Search functionality is its ability to return search hits. This means that when a user queries for a specific entity, such as a method or class, the plugin doesn't just identify its presence but also provides snippets or "hits" from the file where the entity is found. 23 | 24 | This capability is particularly useful in scenarios where users want to understand the context or usage of a specific method or entity without fetching the entire file content. For instance, if a user asks, "Is this method only declared or also used somewhere across the file/repository?", the search hits can provide enough context to answer without needing to analyze the whole file. 25 | 26 | 27 | ### Why It's Useful 28 | 29 | - **Enhanced Precision**: By specifying entities like files, classes, or methods, users can get directly relevant results, bypassing unrelated content. 30 | 31 | - **Overcome Base Limitations**: The Search feature addresses the [Repository Structure Limit constraint](/features/repository-content/#constraints) of the base functionality, offering a more refined search experience. 32 | 33 | - **Quick Access**: Users can swiftly navigate to the exact sections of a repository they're interested in. 34 | 35 | - **Optimized for Large Repositories**: Especially useful for extensive repositories where the base functionality might be overwhelmed. 36 | 37 | ### Samples 38 | 39 | #### .NET Runtime Repository Analysis 40 | 41 | **Full Sample URL**: [Proposal for Skipping Visibility Checks](https://chat.openai.com/share/e94cbb96-9aee-4e99-9b71-60e7ab1b0dab) 42 | 43 | In this sample, we use the plugin to analyze the proposal in the .NET runtime repository. This repository is enormously large and greatly exceeds the [repository size constraints](/features/repository-content/#constraints). 44 | 45 | Steps in the sample: 46 | 1. First, we use the [Issues](/features/github-issues) feature to analyze the proposal description and comments. 47 | 2. We try to find the details about the attribute mentioned in the proposal. 48 | 3. The continuation of the conversation is omitted, but the user could use the plugin to continue the analysis. 49 | 50 | ![](/resources/usage/search/sample.png) 51 | 52 | ### Conclusion 53 | The `Search Code` functionality enhances the capabilities of the plugin, offering users a more refined and targeted approach to navigating Github repositories. By addressing the repository size limitations of the base functionality and providing a solution tailored to user queries, it ensures a more efficient and user-centric experience. 54 | -------------------------------------------------------------------------------- /docs/features/search/search-commits.md: -------------------------------------------------------------------------------- 1 | --- 2 | label: Search Commits 3 | icon: log 4 | order: 80 5 | --- 6 | 7 | !!!warning Beta Feature 8 | The functionality described in this document is **currently in beta**. Please be aware that there might be some unexpected behaviors. 9 | !!! 10 | 11 | !!!warning 12 | Currently the feature is supported only by the [AskTheCode GPT](https://chat.openai.com/g/g-3s6SJ5V7S-askthecode). The AskTheCode plugin will gain this support soon. 13 | !!! 14 | 15 | !!! 16 | Only the default branch is supported for this functionality. 17 | !!! 18 | 19 | --- 20 | 21 | # Search Commits 22 | 23 | The Search Commits functionality allows users to use natural language queries to explore and analyze commits in a Github repository. This feature enhances the ability to understand and review changes in the repository over time. 24 | 25 | ### Overview 26 | 27 | The Search Commits functionality is a powerful tool for navigating and understanding the commit history within a Github repository. It is designed to cater to users' specific needs by allowing them to search for commits they are interested in, based on various criteria, and then providing detailed insights into those commits. 28 | 29 | ### Why It's Useful 30 | 31 | - **Natural Language Queries**: Interact with commit history using intuitive natural language. 32 | 33 | - **Detailed Commit Analysis**: Obtain in-depth information about what each commit entails. 34 | 35 | - **Commit Details**: Delve deeper into the commit details using the [Commit Details](/features/commits/commit-details) feature. 36 | 37 | ### Sample 38 | 39 | **Full Sample URL**: [AskTheCode GPT Sample](https://chat.openai.com/share/14b32233-8299-401c-8159-26f9106b0999) 40 | 41 | In this example, we search for all commits related to the `ConversationChain` in the [Langchain repository](https://github.com/langchain-ai/langchain). After retrieving the commit search results, we delve deeper into the specific commit we are interested in. 42 | 43 | ### Conclusion 44 | 45 | The `Search Commits` feature provides a streamlined and intuitive approach for developers to explore and analyze commit histories in Github repositories. By enabling targeted searches for specific commits and offering detailed insights into each one, it simplifies the process of tracking and understanding the implications of code changes. This feature enhances the efficiency and depth of commit analysis, making it an essential tool for any developer looking to maintain a clear view of project evolution. 46 | -------------------------------------------------------------------------------- /docs/features/search/search-file.md: -------------------------------------------------------------------------------- 1 | --- 2 | label: Search File 3 | icon: file-code 4 | order: 100 5 | --- 6 | 7 | # Search File 8 | 9 | ### Overview 10 | 11 | The Search File functionality is a feature designed to enhance interactions with large files within Github repositories. It enables ChatGPT to conduct keyword searches within a single file, focusing on specific classes, functions, or property declarations. This feature is particularly useful for querying large files that cannot be supported as raw content. 12 | 13 | ### Search Hits and Contextual Analysis 14 | 15 | Search File returns "search hits", meaning that when a user queries for a specific entity within a file, the plugin provides relevant snippets from the file. This capability is crucial for understanding the context or usage of a specific method or entity without fetching the entire file content. 16 | 17 | ### Why It's Useful 18 | 19 | - **Targeted Searches**: Allows users to search for specific classes, functions, or properties within a file. 20 | 21 | - **Large File Handling**: Ideal for interacting with large files that are too extensive for the context window of the GPT model. 22 | 23 | - **Customizable Results**: Users can specify the number of lines to extract for each search hit. 24 | 25 | - **Pagination of Results**: Supports pagination for extensive search results, providing partial results in the first response and allowing for subsequent requests for remaining matches. 26 | 27 | ### Sample 28 | 29 | You can find the sample usage of this feature in the [Usage > Querying Large Files](/usage/large-files) documentation 30 | 31 | ### Conclusion 32 | 33 | The `Search File` functionality enhances the capabilities of the plugin, offering a more refined and targeted approach to navigating large files in Github repositories. It addresses the challenges of interacting with large files and provides a solution tailored to user queries, ensuring a more efficient and user-centric experience. 34 | -------------------------------------------------------------------------------- /docs/features/search/search-issues.md: -------------------------------------------------------------------------------- 1 | --- 2 | label: Search Issues 3 | icon: issue-tracks 4 | order: 60 5 | --- 6 | 7 | !!!warning Beta Feature 8 | The functionality described in this document is **currently in beta**. Please be aware that there might be some unexpected behaviors. 9 | !!! 10 | 11 | !!!warning 12 | Currently the feature is supported only by the [AskTheCode GPT](https://chat.openai.com/g/g-3s6SJ5V7S-askthecode). The AskTheCode plugin will gain this support soon. 13 | !!! 14 | 15 | --- 16 | 17 | # Search Issues 18 | 19 | ### Overview 20 | 21 | The Search Issues functionality in the AskTheCode plugin empowers users to query Github repository issues using natural language. This feature enhances the user's ability to find relevant issues quickly and efficiently. 22 | 23 | ### Why It's Useful 24 | 25 | - **Natural Language Queries**: Enables users to search for issues using conversational language, making the process intuitive and user-friendly. 26 | 27 | - **Focused Results**: Retrieves issues that are closely related to the user's query, saving time in sifting through unrelated issues. 28 | 29 | - **Issue Details**: Delve deeper into the issue thread using the [Github Issues](/features/github-issues) feature. 30 | 31 | ### Sample 32 | 33 | **Full Sample URL**: [AskTheCode GPT Sample](https://chat.openai.com/share/01bf0fcc-cc12-410a-a3c7-abc79b117a6a) 34 | 35 | In this example, the user queries for all issues related to the `ConversationChain` in the [Langchain repository](https://github.com/langchain-ai/langchain). After retrieving the issues search results, we delve deeper into the specific issue we are interested in. 36 | 37 | ### Conclusion 38 | 39 | The `Search Issues` feature of AskTheCode significantly streamlines the process of querying Github issues. It leverages natural language processing to provide a more intuitive and efficient user experience, making it easier to engage with Github discussions directly from ChatGPT. 40 | -------------------------------------------------------------------------------- /docs/features/search/search-pullrequests.md: -------------------------------------------------------------------------------- 1 | --- 2 | label: Search Pull Requests 3 | icon: git-pull-request 4 | order: 50 5 | --- 6 | 7 | !!!warning Beta Feature 8 | The functionality described in this document is **currently in beta**. Please be aware that there might be some unexpected behaviors. 9 | !!! 10 | 11 | --- 12 | 13 | # Search Pull Requests 14 | 15 | [!embed](/resources/usage/search/search-pullrequests.mp4) 16 | 17 | ### Overview 18 | 19 | The Search Pull Requests functionality in the AskTheCode plugin allows users to query Github repository pull requests using natural language. This feature enhances the user's ability to find relevant pull requests quickly and efficiently. 20 | 21 | ### Why It's Useful 22 | 23 | - **Natural Language Queries**: Enables users to search for pull requests using conversational language, making the process intuitive and user-friendly. 24 | 25 | - **Focused Results**: Retrieves pull requests that are closely related to the user's query, saving time in sifting through unrelated pull requests. 26 | 27 | - **Pull Request Details**: Delve deeper into the pull request thread using the [Github Pull Requests](/features/pull-requests/pullrequest-overview) feature. 28 | 29 | ### Sample 30 | 31 | **Full Sample URL**: [AskTheCode GPT Sample](https://chatgpt.com/share/ea735aec-812f-482d-b64e-355e8af42239) 32 | 33 | In this example, the user queries for all pull requests related to the `Milvus` vector store integration in the [Langchain repository](https://github.com/langchain-ai/langchain). After retrieving the pull requests search results, user can delve deeper into the specific pull request he is interested in. 34 | 35 | ### Conclusion 36 | 37 | The `Search Pull Requests` feature of AskTheCode significantly streamlines the process of querying Github pull requests. It leverages natural language processing to provide a more intuitive and efficient user experience, making it easier to engage with Github discussions directly from ChatGPT. 38 | -------------------------------------------------------------------------------- /docs/features/search/search-repositories.md: -------------------------------------------------------------------------------- 1 | --- 2 | label: Search Repositories 3 | icon: repo 4 | order: 70 5 | --- 6 | 7 | !!!warning Beta Feature 8 | The functionality described in this document is **currently in beta**. Please be aware that there might be some unexpected behaviors. 9 | !!! 10 | 11 | !!!warning 12 | Currently the feature is supported only by the [AskTheCode GPT](https://chat.openai.com/g/g-3s6SJ5V7S-askthecode). The AskTheCode plugin will gain this support soon. 13 | !!! 14 | 15 | --- 16 | 17 | # Search Repositories 18 | 19 | ### Overview 20 | 21 | The Search Repositories feature in the AskTheCode plugin enables users to leverage natural language queries to search for GitHub repositories. This feature is particularly useful for developers looking for repositories in specific programming languages or meeting certain criteria. 22 | 23 | ### Why It's Useful 24 | 25 | - **Ease of Use**: Searching for repositories through natural language queries simplifies the discovery process. 26 | 27 | - **Language-Specific Searches**: Focus on repositories in a specific programming language, making it easier to find relevant projects or examples. 28 | 29 | - **Time-Saving**: Quickly find repositories without manually browsing through GitHub. 30 | 31 | ### Sample 32 | 33 | **Full Sample URL**: [AskTheCode GPT Sample](https://chat.openai.com/share/f2621e55-c739-483f-8a2b-44f2efcc56ad) 34 | 35 | In this example, we search for javascript repositories that implement poker game. 36 | 37 | ### Conclusion 38 | 39 | The `Search Repositories` functionality enhances the AskTheCode plugin by providing a user-friendly and efficient way to search for GitHub repositories. It caters to both broad and specific needs, making it an invaluable tool for developers exploring GitHub. 40 | -------------------------------------------------------------------------------- /docs/getting-started/index.yml: -------------------------------------------------------------------------------- 1 | title: Getting Started 2 | icon: rocket 3 | expanded: true 4 | order: 800 -------------------------------------------------------------------------------- /docs/getting-started/installation.md: -------------------------------------------------------------------------------- 1 | --- 2 | label: Installation 3 | icon: gear 4 | order: 10 5 | --- 6 | 7 | # Installation 8 | 9 | Now that you've met the prerequisites, follow these steps to install the AskTheCode ChatGPT plugin: 10 | 11 | **1. Visit the Plugin Store** 12 | Navigate to the Plugin Store. 13 | ![](/resources/getting-started/installation/open-plugin-store.png) 14 | 15 | **2. Search for AskTheCode** 16 | In the Plugin Store, search for the "AskTheCode" plugin. 17 | ![](/resources/getting-started/installation/search-for-plugin.png) 18 | 19 | **3. Install the Plugin** 20 | Click on the "Install" button to add the AskTheCode plugin to your ChatGPT. 21 | 22 | **4. Login to AskTheCode** 23 | 24 | After installing the plugin, the next step is to authenticate. Currently two options are available: 25 | 26 | - **Passwordless Login via Email**: Opt for this if you wish to quickly explore the AskTheCode plugin without setting a password. Ideal for newcomers wanting a quick dive into the plugin's features. Note: Best used for exploration only. 27 | 28 | - **GitHub OAuth Authentication**: For a comprehensive experience, authenticate using your GitHub account. This grants access to additional features, like querying private repositories. 29 | 30 | For an in-depth understanding of authentication methods and account management, check out the [Authentication documentation](../authentication.md). 31 | 32 | -------------------------------------------------------------------------------- /docs/getting-started/prerequisites.md: -------------------------------------------------------------------------------- 1 | --- 2 | label: Prerequisites 3 | icon: info 4 | order: 20 5 | --- 6 | 7 | # Prerequisites 8 | 9 | Before diving into the installation of the AskTheCode ChatGPT plugin, ensure you've met the following prerequisites: 10 | 11 | **1. ChatGPT Plus Subscription** 12 | Ensure you have a ChatGPT Plus subscription. If not, you can get it [here](https://openai.com/blog/chatgpt-plus). 13 | 14 | **2. Enroll for ChatGPT Plugins** 15 | Sign up for ChatGPT plugins [here](https://openai.com/waitlist/plugins). 16 | 17 | **3. Wait for Plugin Activation** 18 | After enrolling, patiently wait until plugins are enabled for your account. 19 | 20 | **4. Enable Plugins in User Settings** 21 | Make sure that the plugins are activated in your user settings. To access settings: 22 | - Navigate to the left bottom edge of the screen. 23 | - Expand the three dots menu located near your profile name. 24 | - From the dropdown, select and open the settings. 25 | - Ensure the plugins are enabled. 26 | ![](/resources/getting-started/prerequisites/enable-plugins.png) 27 | 28 | Once you've completed these steps, you're ready to install the AskTheCode plugin. 29 | -------------------------------------------------------------------------------- /docs/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | label: "What is AskTheCode?" 3 | icon: home 4 | order: 1000 5 | --- 6 | 7 | # What is AskTheCode? 8 | 9 | Welcome to the documentation for the **AskTheCode ChatGPT plugin**! 10 | 11 | AskTheCode is a powerful and versatile plugin designed to bridge the gap between ChatGPT and the vast world of GitHub repositories. With AskTheCode, developers can seamlessly analyze GitHub repositories and pose questions to ChatGPT related to those repositories. Whether you're diving into a new codebase, reviewing an old project, or just curious about a repository's structure, AskTheCode has got you covered. 12 | 13 | ## Key Features 14 | 15 | - **Universal Language Support**: Whether you're working with Python, JavaScript, Rust, or any other programming language, AskTheCode is designed to support them all. Its versatility ensures that no code is left behind. 16 | 17 | - **Public and Private Repositories**: Your privacy matters. AskTheCode is equipped to work with both public and private repositories, ensuring that you can access and analyze your code irrespective of its visibility status on GitHub. 18 | 19 | - **Accurate Results**: The efficacy of AskTheCode is largely influenced by the way you prompt ChatGPT. Craft your questions thoughtfully to get the most accurate and relevant results. 20 | 21 | --- 22 | 23 | Remember, like any tool, the power of AskTheCode is harnessed best when used correctly. Dive in, explore, and let AskTheCode assist you in your coding journey! -------------------------------------------------------------------------------- /docs/legal.md: -------------------------------------------------------------------------------- 1 | --- 2 | label: "Legal Information" 3 | icon: law 4 | order: 10 5 | --- 6 | 7 | 8 | # AskTheCode Legal Info 9 | 10 | ## Disclaimer 11 | 12 | THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 13 | 14 | IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 15 | -------------------------------------------------------------------------------- /docs/resources/authentication/auth-page.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/askthecode/documentation/fcec80bdb25092dbaa8cc146abdd7efa17a48f30/docs/resources/authentication/auth-page.png -------------------------------------------------------------------------------- /docs/resources/authentication/manage-subscription.mp4: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/askthecode/documentation/fcec80bdb25092dbaa8cc146abdd7efa17a48f30/docs/resources/authentication/manage-subscription.mp4 -------------------------------------------------------------------------------- /docs/resources/authentication/sign-out.mp4: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/askthecode/documentation/fcec80bdb25092dbaa8cc146abdd7efa17a48f30/docs/resources/authentication/sign-out.mp4 -------------------------------------------------------------------------------- /docs/resources/getting-started/installation/open-plugin-store.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/askthecode/documentation/fcec80bdb25092dbaa8cc146abdd7efa17a48f30/docs/resources/getting-started/installation/open-plugin-store.png -------------------------------------------------------------------------------- /docs/resources/getting-started/installation/search-for-plugin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/askthecode/documentation/fcec80bdb25092dbaa8cc146abdd7efa17a48f30/docs/resources/getting-started/installation/search-for-plugin.png -------------------------------------------------------------------------------- /docs/resources/getting-started/prerequisites/enable-plugins.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/askthecode/documentation/fcec80bdb25092dbaa8cc146abdd7efa17a48f30/docs/resources/getting-started/prerequisites/enable-plugins.png -------------------------------------------------------------------------------- /docs/resources/logo.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/askthecode/documentation/fcec80bdb25092dbaa8cc146abdd7efa17a48f30/docs/resources/logo.jpg -------------------------------------------------------------------------------- /docs/resources/usage/basic-usage/no-plugin-installed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/askthecode/documentation/fcec80bdb25092dbaa8cc146abdd7efa17a48f30/docs/resources/usage/basic-usage/no-plugin-installed.png -------------------------------------------------------------------------------- /docs/resources/usage/basic-usage/plugin-installed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/askthecode/documentation/fcec80bdb25092dbaa8cc146abdd7efa17a48f30/docs/resources/usage/basic-usage/plugin-installed.png -------------------------------------------------------------------------------- /docs/resources/usage/basic-usage/sample.mp4: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/askthecode/documentation/fcec80bdb25092dbaa8cc146abdd7efa17a48f30/docs/resources/usage/basic-usage/sample.mp4 -------------------------------------------------------------------------------- /docs/resources/usage/branches/create-branch.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/askthecode/documentation/fcec80bdb25092dbaa8cc146abdd7efa17a48f30/docs/resources/usage/branches/create-branch.png -------------------------------------------------------------------------------- /docs/resources/usage/branches/delete-branch.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/askthecode/documentation/fcec80bdb25092dbaa8cc146abdd7efa17a48f30/docs/resources/usage/branches/delete-branch.png -------------------------------------------------------------------------------- /docs/resources/usage/branches/list-branches-response.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/askthecode/documentation/fcec80bdb25092dbaa8cc146abdd7efa17a48f30/docs/resources/usage/branches/list-branches-response.png -------------------------------------------------------------------------------- /docs/resources/usage/files/2048_updated.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/askthecode/documentation/fcec80bdb25092dbaa8cc146abdd7efa17a48f30/docs/resources/usage/files/2048_updated.png -------------------------------------------------------------------------------- /docs/resources/usage/github-issues/comment-posting.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/askthecode/documentation/fcec80bdb25092dbaa8cc146abdd7efa17a48f30/docs/resources/usage/github-issues/comment-posting.png -------------------------------------------------------------------------------- /docs/resources/usage/iterative/step2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/askthecode/documentation/fcec80bdb25092dbaa8cc146abdd7efa17a48f30/docs/resources/usage/iterative/step2.png -------------------------------------------------------------------------------- /docs/resources/usage/iterative/step3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/askthecode/documentation/fcec80bdb25092dbaa8cc146abdd7efa17a48f30/docs/resources/usage/iterative/step3.png -------------------------------------------------------------------------------- /docs/resources/usage/iterative/step4.1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/askthecode/documentation/fcec80bdb25092dbaa8cc146abdd7efa17a48f30/docs/resources/usage/iterative/step4.1.png -------------------------------------------------------------------------------- /docs/resources/usage/iterative/step4.2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/askthecode/documentation/fcec80bdb25092dbaa8cc146abdd7efa17a48f30/docs/resources/usage/iterative/step4.2.png -------------------------------------------------------------------------------- /docs/resources/usage/iterative/step4.3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/askthecode/documentation/fcec80bdb25092dbaa8cc146abdd7efa17a48f30/docs/resources/usage/iterative/step4.3.png -------------------------------------------------------------------------------- /docs/resources/usage/large-files/step2-plugin-request.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/askthecode/documentation/fcec80bdb25092dbaa8cc146abdd7efa17a48f30/docs/resources/usage/large-files/step2-plugin-request.png -------------------------------------------------------------------------------- /docs/resources/usage/large-files/step2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/askthecode/documentation/fcec80bdb25092dbaa8cc146abdd7efa17a48f30/docs/resources/usage/large-files/step2.png -------------------------------------------------------------------------------- /docs/resources/usage/large-files/step4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/askthecode/documentation/fcec80bdb25092dbaa8cc146abdd7efa17a48f30/docs/resources/usage/large-files/step4.png -------------------------------------------------------------------------------- /docs/resources/usage/pull-requests/changes.mp4: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/askthecode/documentation/fcec80bdb25092dbaa8cc146abdd7efa17a48f30/docs/resources/usage/pull-requests/changes.mp4 -------------------------------------------------------------------------------- /docs/resources/usage/pull-requests/create.mp4: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/askthecode/documentation/fcec80bdb25092dbaa8cc146abdd7efa17a48f30/docs/resources/usage/pull-requests/create.mp4 -------------------------------------------------------------------------------- /docs/resources/usage/pull-requests/list-all.mp4: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/askthecode/documentation/fcec80bdb25092dbaa8cc146abdd7efa17a48f30/docs/resources/usage/pull-requests/list-all.mp4 -------------------------------------------------------------------------------- /docs/resources/usage/pull-requests/overview.mp4: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/askthecode/documentation/fcec80bdb25092dbaa8cc146abdd7efa17a48f30/docs/resources/usage/pull-requests/overview.mp4 -------------------------------------------------------------------------------- /docs/resources/usage/search/langchain-sample-no-search.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/askthecode/documentation/fcec80bdb25092dbaa8cc146abdd7efa17a48f30/docs/resources/usage/search/langchain-sample-no-search.png -------------------------------------------------------------------------------- /docs/resources/usage/search/sample.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/askthecode/documentation/fcec80bdb25092dbaa8cc146abdd7efa17a48f30/docs/resources/usage/search/sample.png -------------------------------------------------------------------------------- /docs/resources/usage/search/search-pullrequests.mp4: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/askthecode/documentation/fcec80bdb25092dbaa8cc146abdd7efa17a48f30/docs/resources/usage/search/search-pullrequests.mp4 -------------------------------------------------------------------------------- /docs/samples.md: -------------------------------------------------------------------------------- 1 | --- 2 | label: "Samples" 3 | icon: list-unordered 4 | order: 20 5 | --- 6 | 7 | # AskTheCode Samples 8 | 9 | Welcome to the Samples page of AskTheCode! Here, you'll find various examples showcasing the interaction of the ChatGPT plugin with different GitHub repositories. These samples will help you understand how AskTheCode can assist you in answering questions related to your repositories. 10 | 11 | !!!info Note 12 | As we continue to enhance AskTheCode, more samples will be added to this page. 13 | !!! 14 | 15 | --- 16 | 17 | ### Refit Library's HTTP Proxy Client Generation 18 | 19 | In this sample, we dive into understanding how the [Refit](https://github.com/reactiveui/refit/) library generates the HTTP proxy client internally. 20 | 21 | [View Sample](https://chat.openai.com/share/9cb9ff0a-078f-4011-9c15-d4d21f6e5c0e) 22 | 23 | --- 24 | 25 | ### Langchain and ChatGPT Plugins Integration 26 | 27 | Lets assume we are targeting to find out about integrating ChatGPT plugin into the Langchain pipeline. For that we can provide the link to the [docs directory in the Langchain Github repository](https://github.com/langchain-ai/langchain/tree/master/docs) and ask ChatGPT to look for the details of integration. Since the repository of the Langchain is quite huge, the prompt should be pretty specific, something like: 28 | 29 | ```Prompt 30 | https://github.com/langchain-ai/langchain/tree/master/docs 31 | 32 | Langchain is capable of integrating ChatGPT Plugins into the pipeline. For this it uses the specific tool. 33 | Please give me an example of using this tool 34 | ``` 35 | 36 | This will give us a sample of how to integrate Langchain with the GPT plugin: 37 | 38 | ![](/resources/usage/search/langchain-sample-no-search.png) 39 | 40 | --- 41 | 42 | ### Documentation Generation 43 | 44 | This conversation demonstrates the use of AskTheCode's file creation and update features within a GitHub repository. It showcases a step-by-step process for analyzing a repository's structure, creating new directories and files, and updating existing files with specific annotations and documentation content. The interaction shows how users can efficiently manage GitHub files, including writing and applying documentation updates directly through conversational commands. 45 | 46 | [View Sample](https://chat.openai.com/share/8f02d663-4d3d-4ac4-8319-2316974e1e1b) -------------------------------------------------------------------------------- /docs/usage/basic-usage.md: -------------------------------------------------------------------------------- 1 | --- 2 | label: Basic Usage 3 | icon: "file" 4 | order: 100 5 | --- 6 | 7 | # Basic Usage 8 | 9 | !!!warning Warning 10 | The screenshots provided in this guide are based on an older version of the AskTheCode plugin. The actual response from the plugin might differ (and hopefully be better) in the latest versions. 11 | !!! 12 | 13 | The AskTheCode plugin is designed to assist developers in analyzing GitHub repositories. By integrating with ChatGPT, users can ask questions directly related to the content and structure of a given repository. This documentation will guide you through the basic usage of the plugin. 14 | 15 | --- 16 | 17 | ## Prerequisites 18 | 19 | - A GitHub repository URL you wish to analyze. 20 | - AskTheCode plugin installed 21 | 22 | --- 23 | 24 | ## Steps for Basic Usage 25 | 26 | 1. **Provide the Repository Link:** 27 | Start by providing the GitHub repository URL to the AskTheCode plugin. 28 | 29 | 2. **Ask Questions:** 30 | With the repository URL provided, you can now ask specific questions related to the repository. For instance, if you want to know about the purpose or details of a particular project, simply ask. 31 | 32 | 3. **Interact and Analyze:** 33 | Based on the responses from the plugin, you can continue to interact with ChatGPT to get deeper insights, explanations, or even code suggestions related to the repository. 34 | 35 | --- 36 | 37 | ## Sample: LangChain 38 | 39 | If you're curious about a particular GitHub repository and want to get general information or insights, the AskTheCode plugin can be invaluable. Let's take the "LangChain" repository as an example. 40 | 41 | **Input the following prompt:** 42 | 43 | ```prompt 44 | https://github.com/langchain-ai/langchain 45 | What is LangChain? 46 | ``` 47 | 48 | In a barebone ChatGPT, without any plugins, it might not know anything about "LangChain". 49 | 50 | ![](/resources/usage/basic-usage/no-plugin-installed.png) 51 | 52 | However, with the AskTheCode plugin, ChatGPT can directly fetch and analyze the information from the provided GitHub repository and answer the question. 53 | 54 | ![](/resources/usage/basic-usage/plugin-installed.png) 55 | 56 | --- 57 | 58 | ## Tips 59 | 60 | - Ensure that the repository URL is correct and accessible. 61 | - Be specific in your questions to get more accurate and relevant answers. 62 | - Familiarize yourself with the repository's structure to ask more targeted questions. 63 | 64 | --- -------------------------------------------------------------------------------- /docs/usage/custom-branches.md: -------------------------------------------------------------------------------- 1 | --- 2 | label: Custom Branches 3 | icon: "git-branch" 4 | order: 90 5 | --- 6 | 7 | # Using Custom Branches with AskTheCode Plugin 8 | 9 | The AskTheCode plugin is not limited to querying repositories using just the default branch. It offers flexibility by allowing users to specify a particular branch or even use a commit SHA to view the repository files at a specific point in history. 10 | 11 | --- 12 | 13 | ## Custom Branch or Commit SHA 14 | 15 | To query a specific branch, append the branch name to the repository URL after `/tree/`, the URL would look like `https://github.com///tree/`. 16 | 17 | To query a specific commit, append the commit SHA to the repository URL after `/tree/`, the URL would look like `https://github.com/owner/repo/tree/`. 18 | 19 | ## Sample Queries 20 | 21 | Each of the following samples demonstrates how to structure your prompt for different types of queries. 22 | 23 | +++ :icon-command-palette: Default Branch 24 | ```prompt 25 | https://github.com/langchain-ai/langchainjs 26 | please give me an example of how it can be used 27 | ``` 28 | +++ :icon-git-branch: Specific Branch 29 | ```prompt 30 | https://github.com/langchain-ai/langchainjs/tree/gh-pages 31 | please give me an example of how it can be used 32 | ``` 33 | +++ :icon-commit: Specific Commit 34 | ```prompt 35 | https://github.com/langchain-ai/langchainjs/tree/98f0df29d75141fd5ff53b14f17f113314122d72 36 | please give me an example of how it can be used 37 | ``` 38 | +++ 39 | 40 | ## Troubleshooting 41 | 42 | If you encounter issues accessing specific branches or commits, consider the following steps to diagnose and resolve the problem: 43 | 44 | 1. **Check the URL Format**: Ensure that the URL format is correct when specifying a branch or commit. For branches, the URL should look like `https://github.com///tree/`. For commits, it should be `https://github.com///tree/`. 45 | 46 | 2. **Custom Instructions for ChatGPT**: The way ChatGPT interacts with the AskTheCode plugin can be influenced by previous conversations and prompts. If you have set custom instructions for how you want ChatGPT to respond to your inquiries, it might interfere with the plugin's functionality. Consider removing or modifying these instructions and try accessing the branch or commit again. 47 | 48 | 3. **Test in a New Chat Window**: Sometimes, starting a fresh conversation can help. Try accessing the branch or commit in a new chat window using a simple prompt. 49 | 50 | 4. **Feedback and Reporting**: If you continue to face issues, provide feedback or report the issue for further assistance. Detailed information, including screenshots or specific error messages, can be helpful in diagnosing the problem. -------------------------------------------------------------------------------- /docs/usage/index.yml: -------------------------------------------------------------------------------- 1 | title: Usage 2 | icon: book 3 | expanded: false 4 | order: 90 -------------------------------------------------------------------------------- /docs/usage/iterative.md: -------------------------------------------------------------------------------- 1 | --- 2 | label: Iterative Prompting 3 | icon: iterations 4 | order: 80 5 | --- 6 | 7 | # Iterative Prompting 8 | 9 | !!!warning Warning 10 | The screenshots provided in this guide are based on an older version of the AskTheCode plugin. The actual response from the plugin might differ (and hopefully be better) in the latest versions. 11 | !!! 12 | 13 | In this guide, we'll showcase the power of specifying steps for the AskTheCode plugin. By providing a structured prompt, you can guide the plugin to analyze code in a more focused manner, ensuring you get the insights you need. 14 | 15 | Full demo can be found here: 16 | [Endpoint Handling Flow Analysis](https://chat.openai.com/share/f28333ee-f689-4f9c-8564-5d4147a7ae7e) 17 | 18 | ## Prerequisites 19 | 20 | - Access to the eShopOnWeb repository: [https://github.com/dotnet-architecture/eShopOnWeb](https://github.com/dotnet-architecture/eShopOnWeb) 21 | - AskTheCode plugin installed 22 | 23 | ## Step 1: Crafting the Prompt for AskTheCode Plugin 24 | 25 | The first step is to provide a clear and structured prompt to the AskTheCode plugin. This prompt acts as a set of instructions, guiding the plugin on what to analyze and how. 26 | 27 | **Input the following prompt:** 28 | 29 | ```prompt 30 | You are a technical documentation writer for the eShopOnWeb repository. Your task is to provide a clear and detailed description of the full handling flow for the endpoint 'GET api/catalog-items' in the given GitHub repository: 31 | https://github.com/dotnet-architecture/eShopOnWeb 32 | 33 | Follow these steps: 34 | 35 | 1. Locate the file that handles the specified endpoint in the repository. Make sure that it is the correct file and it indeed contains the logic for the endpoint handling. 36 | 2. Analyze the code of the handler to understand its functionality. 37 | 3. Fetch the code of all dependencies related to the route handler and data retrieval logic. 38 | 4. Analyze the dependencies, including their code and further dependencies if needed. 39 | 5. Describe the main components involved in handling the 'GET api/catalog-items' endpoint and explain their interaction. 40 | 41 | Ensure your description includes any abstract classes or interface implementations as well as explanations of any external library usage. 42 | Make sure to provide a structured and easy-to-understand response that demonstrates a deep understanding of the codebase. 43 | ``` 44 | 45 | ## Step 2: Plugin's Search for the Route Handler 46 | 47 | Upon receiving the prompt, AskTheCode will begin its search for the file handling the 'GET api/catalog-items' route. 48 | 49 | ![](/resources/usage/iterative/step2.png) 50 | 51 | ## Step 3: Plugin Identifying Dependencies 52 | 53 | Now we need to ask the plugin to proceed with the depndencies analysis. 54 | 55 | **Input the following prompt:** 56 | 57 | ```prompt 58 | Please continue with the dependencies analysis 59 | ``` 60 | 61 | ![](/resources/usage/iterative/step3.png) 62 | 63 | ## Step 4-6: Re-iterating with Dependency Analysis 64 | 65 | Now we can ask the plugin to proceed with the dependency analysis over and over until we are satisfied with the results. To keep the knowledge gained in context and prevent losing it, we ask ChatGPT to summarize all the knowledge gained first and only then proceed with further research. 66 | 67 | **Input the following prompt:** 68 | 69 | ```prompt 70 | Please summarize what you've learned so far and then continue with the dependencies analysis 71 | ``` 72 | 73 | This process can be repeated as many times as needed (3 times in this demo). 74 | 75 | ![](/resources/usage/iterative/step4.1.png) 76 | ![](/resources/usage/iterative/step4.2.png) 77 | ![](/resources/usage/iterative/step4.3.png) 78 | 79 | ## Step 5: Reviewing the Plugin's Response 80 | 81 | Once the analysis is complete, AskTheCode will provide a comprehensive description of the main components, their interactions, and any other relevant details as instructed in the prompt. 82 | 83 | ## Visualizing the Analysis: Mermaid Flowchart 84 | 85 | To further enhance our understanding of the 'GET api/catalog-items' endpoint and its dependencies, we can visualize the results using a Mermaid flowchart. This provides a graphical representation of the interactions and flow of the endpoint, making it easier to grasp the overall structure and logic. 86 | 87 | By prompting ChatGPT with the following: 88 | 89 | ```prompt 90 | Please build a detailed mermaid flowchart diagram based on this research. Group related entities into subgraphs, use cylindrical shaped nodes only for the database 91 | ``` 92 | 93 | We can obtain a Mermaid diagram similar to the following: 94 | 95 | ```mermaid 96 | flowchart TB 97 | subgraph Client 98 | Request["Request (GET api/catalog-items)"] 99 | end 100 | 101 | subgraph API["eShopOnWeb API"] 102 | Handler["CatalogItemListPagedEndpoint.HandleAsync()"] 103 | RequestModel["ListPagedCatalogItemRequest"] 104 | end 105 | 106 | subgraph ApplicationCore 107 | Specifications["Specifications"] 108 | CatalogFilterSpec["CatalogFilterSpecification"] 109 | CatalogFilterPaginatedSpec["CatalogFilterPaginatedSpecification"] 110 | end 111 | 112 | subgraph Infrastructure 113 | Repository["EfRepository"] 114 | DbContext["CatalogContext (EF Core)"] 115 | UriComposerService["UriComposer"] 116 | CatalogSettingsConfig["CatalogSettings"] 117 | end 118 | 119 | subgraph ExternalLibraries 120 | AutoMapper["AutoMapper"] 121 | SpecificationLib["Ardalis.Specification"] 122 | end 123 | 124 | subgraph Database 125 | db[("(Database)")] 126 | end 127 | 128 | Client -->|HTTP GET| Handler 129 | Handler -->|Uses| RequestModel 130 | Handler -->|Maps with| AutoMapper 131 | Handler -->|Composes URIs with| UriComposerService 132 | Handler -->|Reads BaseUrl| CatalogSettingsConfig 133 | Handler -->|Executes| Repository 134 | Repository -->|Uses| DbContext 135 | DbContext -->|Interacts with| db 136 | Repository -->|Applies| Specifications 137 | Specifications --> CatalogFilterSpec 138 | Specifications --> CatalogFilterPaginatedSpec 139 | AutoMapper -.->|Mapping Configurations| ApplicationCore 140 | SpecificationLib -.->|Specification Patterns| ApplicationCore 141 | 142 | %% Styling 143 | classDef database fill:#f96,stroke:#333,stroke-width:2px; 144 | class db database; 145 | 146 | ``` 147 | 148 | ## Conclusion 149 | 150 | By providing a clear and structured prompt to the AskTheCode plugin, you can harness its power to get precise insights into specific parts of a codebase. This approach can be replicated for other endpoints or repositories, demonstrating the flexibility and capability of the plugin. 151 | 152 | 153 | -------------------------------------------------------------------------------- /docs/usage/large-files.md: -------------------------------------------------------------------------------- 1 | --- 2 | label: Querying Large Files 3 | icon: file-code 4 | order: 70 5 | --- 6 | 7 | # Querying Large Files 8 | 9 | !!!warning Warning 10 | The screenshots provided in this guide are based on an older version of the AskTheCode plugin. The actual response from the plugin might differ (and hopefully be better) in the latest versions. 11 | !!! 12 | 13 | In this guide, we'll investigate how the [File Search](/features/file-search) feature can assist in analyzing large files. We'll conduct the analysis on the [Qdrant vector store](https://github.com/langchain-ai/langchain/blob/master/libs/langchain/langchain/vectorstores/qdrant.py) from the Langchain repository. This file is 91.5K characters long, so it won't fit into the GPT-4 context for analysis, which could result in model hallucinations. 14 | 15 | Full demo can be found here: 16 | [Qdrant Class and Function](https://chat.openai.com/share/64c1546a-9b0c-4cdf-a78e-34cab69d4eb9) 17 | 18 | ## Prerequisites 19 | 20 | - Access to the Qdrant vectorstore in the Langchain repository: [https://github.com/langchain-ai/langchain/blob/master/libs/langchain/langchain/vectorstores/qdrant.py](https://github.com/langchain-ai/langchain/blob/master/libs/langchain/langchain/vectorstores/qdrant.py) 21 | - AskTheCode plugin installed 22 | 23 | ## Step 1: Retrieving all defined classes and functions 24 | 25 | The first step is to retrieve all defined classes and functions of the Qdrant vectorstore. 26 | 27 | **Input the following prompt:** 28 | 29 | ```prompt 30 | https://github.com/langchain-ai/langchain/ 31 | 32 | Please find path to the file that defines the qdrant vectorstore. Once you know the file path, search for all defined classes and functions in this file. 33 | ``` 34 | 35 | ## Step 2: Plugin Searching In The File 36 | 37 | Upon receiving the prompt, AskTheCode will first iterate through the repository and search for the Qdrant vector store. Once found, it will perform the search for the class and function definitions within the file: 38 | 39 | ![](/resources/usage/large-files/step2.png) 40 | 41 | It's worth noting how ChatGPT understood which keywords it should use when searching for classes and functions in the Python code: 42 | 43 | ![](/resources/usage/large-files/step2-plugin-request.png) 44 | 45 | ## Step 3: Retrieving Body Of The Specific Function 46 | 47 | Now we want to ask the plugin to give us the body of the `_asearch_with_score_by_vector ` function, that we can use for our further analysis. 48 | 49 | **Input the following prompt:** 50 | 51 | ```prompt 52 | Please search for the definition of the _asearch_with_score_by_vector function. Grab first 300 lines. Respond with the body of this function. 53 | ``` 54 | 55 | In this prompt, we are explicitly specifying how many lines of code we want to extract to ensure that the whole function body will be contained in the plugin response. 56 | 57 | ## Step 4: Plugin Retrieves The Function 58 | 59 | Upon receiving the prompt, AskTheCode will search the Qdrant vectorstore file once again, now for a specific function: 60 | 61 | ![](/resources/usage/large-files/step4.png) 62 | 63 | ## Conclusion 64 | 65 | In this guide, we explored the powerful capabilities of the [File Search](/features/file-search) feature in the AskTheCode plugin, particularly in handling large files. Our case study involved the Qdrant vector store from the Langchain repository, a file too large for traditional analysis within the GPT-4 context. 66 | 67 | -------------------------------------------------------------------------------- /retype.yml: -------------------------------------------------------------------------------- 1 | input: docs 2 | output: docs-ui 3 | url: askthecode.github.io 4 | favicon: /resources/logo.jpg 5 | 6 | branding: 7 | title: AskTheCode 8 | label: Docs 9 | logo: /resources/logo.jpg 10 | logoAlign: left 11 | 12 | editor: 13 | enabled: false 14 | 15 | generator: 16 | paths: root 17 | 18 | integrations: 19 | googleAnalytics: 20 | id: "G-S098PCC0NL" 21 | 22 | links: 23 | - text: AskTheCode GPT 24 | link: https://chat.openai.com/g/g-3s6SJ5V7S-askthecode 25 | target: blank 26 | icon: OpenAI icon 27 | - text: Github 28 | link: https://github.com/askthecode/askthecode.github.io 29 | target: blank 30 | icon: mark-github 31 | - text: Twitter 32 | link: https://twitter.com/askthecode_ai 33 | icon: 34 | target: blank 35 | 36 | footer: 37 | copyright: "© Copyright [AskTheCode](https://askthecode.dsomok.online/). All rights reserved." -------------------------------------------------------------------------------- /robots.txt: -------------------------------------------------------------------------------- 1 | User-agent: * 2 | Disallow: /.github/ 3 | Allow: /docs/ --------------------------------------------------------------------------------