Prerequisites Workshop Labs Resources
- Who is this for: Enterprise - Developers, Open Source Developers or Maintainers, Startups
- What you'll learn: GitHub recently introduced GitHub Copilot Extensions, enabling teams to access contextual information and perform actions with GitHub Copilot Chat across various tools used in the software development lifecycle. These extensions can now be made available to everyone through the GitHub Marketplace, and your enterprise can drive adoption by integrating your own products with GitHub Copilot. In this workshop with GitHub’s senior service delivery engineers Damien Hardy and Guilherme Teixeira, you'll learn the basics of building a custom extension and publishing it to the Marketplace.
- What you'll build: Your first Copilot Extension.
Welcome to the GitHub Copilot Extension Workshop, where we explore the process of building and publishing your own Copilot extension. Much like a pilot using a copilot, you'll work alongside GitHub Copilot to enhance your development process, solving complex problems and automating tasks through an AI-driven extension.
This workshop is for experienced developers looking to push the limits of GitHub Copilot’s capabilities. You’ll work hands-on to create a fully functional extension that handles key tasks, and ultimately, learn how to publish it to the GitHub Marketplace.
Please note that the template used in this model is lightweight and not intended for production use. It is designed to help you understand the core concepts of building a Copilot extension and how to integrate it with your own applications.
- Set up a development environment using GitHub Codespaces.
- Create your own GitHub Copilot extension.
- Implement core functionality on our Agent that connects with a Shopping List API:
- Extend the Agent context by providing metadata for the function to remove an item from the shopping list.
- Enable Copilot to understand the use of the delete function by configuring the related metadata.
- Write a function to integrate with the Shopping List API's Update endpoint and enable Copilot to understand this function.
- Change the behaviour of your agent by modifying hard-coded prompts for Copilot to understand that it could increase the quantity of an item rather than adding a new one.
- Learn how you can publish an extension to the Github Marketplace.
Hands-On Coding
. Develop a real Copilot extension with guidance.Minimal Guidance
. Take charge of your development process with assistance provided only where necessary.Advanced Problem Solving
. Dive deep into Copilot extensions to create functionality.Real-World Use Cases
. Build a functional extension as a model to integrate with your own applications.
The goal of this workshop is to help you build, refine, and publish your own GitHub Copilot extension. By the end of this workshop, you will have a deep understanding of how to create Copilot extensions, and integrate these tools into your daily development workflow.
We'll be running this workshop using Codespaces, so you don't need to install anything on your machine. You will need your GitHub Account.
This section will guide you through setting up your environment using GitHub Codespaces.
- Get started here - 1.1 - Codespaces
This section will guide you through setting up your copilot agent (as a GitHub App).
- Get started here - 1.2 - Configuring an Agent
This section will give you an overview of the template used to build our copilot agent.
- Get started here - 2.0 Understanding the Logic
You will configure the necessary metadata to enable Copilot to understand and use the delete function effectively.
- Get started here - 3.1 - Configuring Delete Metadata
This section focuses on writing a function that integrates with the Shopping List API's Update endpoint and configuring Copilot to understand how to use this function.
- Get started here - 3.2 - Integrating Update Function
You will modify Copilot’s behaviour by playing with hard-coded prompts, ensuring it understands how to increase the quantity of existing items rather than adding new ones.
- Get started here - 3.3 - Modifying Agent Behaviour
This section will guide you through preparing your extension for publication, including final testing and documentation.
- Get started here - Walkthrough - Extension Publication