Skip to main content

Using Copilot to explore a codebase

If you've been assigned to work on a project that you're not familiar with—or you've found an interesting open source project that you want to contribute to—you'll need some understanding of the codebase before you can start making changes. This guide will show you how to use Copilot Chat to explore a codebase and quickly learn about the project.

Throughout this guide, we'll work on .com, using Copilot Chat in assistive mode, which displays a Copilot Chat panel over the bottom right corner of your current page on .com.

You can expand the Copilot Chat panel, to give more space for displaying Copilot's responses, by clicking and dragging the edges of the panel.

Copilot Chat comes with a set of predefined prompts that can help you get started with exploring a codebase. You can use the prompts by clicking a button in the chat panel. The buttons are displayed when you start a new conversation with Copilot Chat. The selection of prompts varies depending on the currently displayed page on .com.

  1. Open the repository you want to explore on .com.

  2. Click the Code tab to display the main page of the repository.

  3. Press Shift+C to open Copilot Chat in assistive mode.

  4. Click the Tell me about this repository button in the chat panel.

    Screenshot of the chat panel with the 'Tell me about this repository' button highlighted.

    Tipp

    If this button is not displayed, make sure you are on the main page of the repository and click the plus sign () at the top right of the Copilot panel to start a new conversation.

    A predefined prompt is submitted to Copilot and the response is displayed in the chat panel.

  5. Optionally, after reading the response, click the plus sign () at the top right of the Copilot panel to start a new conversation, then click How to get started with this repository.

The following prompts are examples of the kind of questions you can ask Copilot to help you find out about a codebase.

  • Based on the code in this repository, give me an overview of the architecture of the codebase. Provide evidence.

  • Which languages are used in this repo? Show the percentages for each language.

  • What are the core algorithms implemented in this repo?

  • What design patterns are used in this repository? Give a brief explanation of each pattern that you find, and an example of code from this repository that uses the pattern, with a link to the file.

Whether these questions are useful will depend on the codebase you're exploring.

  • How do I build this project?

  • Where is authentication handled in this codebase?

  • Analyze the code in this repository and tell me about the entry points for this application.

  • Describe the data flow in this application.

  • Analyze the code in this repository and tell me what application-level security mechanisms are employed. Provide references.

Use Copilot to help you understand the purpose of the files in a directory, or individual files.

To find out about the files in a directory:

  1. Navigate to the directory on .com.
  2. Press Shift+C to open Copilot Chat in assistive mode.
  3. Ask Copilot: Explain the files in this directory.

To find out about a specific file:

  1. Open the file on .com.
  2. Press Shift+C to open Copilot Chat in assistive mode.
  3. For a small file, ask Copilot: Explain this file.
  4. For a large file, ask: Explain what this file does. Start with an overview of the purpose of the file. Then, in appropriately headed sections, go through each part of the file and explain what it does in detail.

One good way to familiarize yourself with a project is to look at the recent work that's been happening. You can do this by browsing the recent commits.

  1. Navigieren Sie auf zur Hauptseite des Repositorys.

  2. Wähle auf der Hauptseite des Repositorys über der Dateiliste die Option Commits aus.

    Screenshot der Hauptseite für ein Repository. Ein Uhrensymbol mit der Bezeichnung „178 Commits“ ist orange umrandet.

  3. Click a commit message to display a diff view for that commit.

  4. In the Copilot Chat panel, enter: What does this commit do?.

  5. If necessary, you can follow up by entering: Explain in more detail.

In addition to using Copilot to help you become familiar with a project, you can also use the Insights tab on .com. This gives you a high-level overview of the repository.

For more information, see Verwenden von Pulse zum Anzeigen einer Zusammenfassung der Repositoryaktivitäten and Mitwirkende eines Projekts anzeigen.