GitHub Copilot SDK demo: Creating "Flight School"

By GitHub

Share:

Key Concepts

  • GitHub Copilot SDK: A software development kit allowing developers to integrate the capabilities of GitHub Copilot (specifically the Copilot CLI) into their own applications.
  • Aentic Workflows: Refers to workflows powered by AI, enabling complex interactions and automation.
  • Tool Calls: The ability for an application to request Copilot to perform specific actions, like accessing information or interacting with external services (e.g., GitHub repositories).
  • Octokit: A JavaScript library for interacting with the GitHub API.
  • Monaco Editor: A code editor component used for syntax highlighting and code editing within Flight School.
  • GitHub MCP Server: GitHub’s Model Company Platform server, used for retrieving information about repositories.

Flight School: A Personalized Learning Environment Powered by the GitHub Copilot SDK

This presentation details the development of “Flight School,” a Next.js application built to facilitate personal learning and skill development, leveraging the newly released GitHub Copilot SDK. The creator demonstrates how the SDK enables dynamic, AI-driven recommendations and evaluation within a custom application.

1. Introduction & Inspiration

The speaker began by highlighting examples of applications built using the GitHub Copilot SDK: Burke’s desktop window management app, Cassidy’s project management tool, and Kayla’s log analysis application. These examples demonstrate the SDK’s versatility in creating applications that extend Copilot’s functionality beyond the standard coding assistant. Driven by a passion for learning and helping others, the speaker decided to build Flight School, a personalized learning environment.

2. Flight School Overview & Features

Flight School is designed to run locally and utilizes several packages, including the Octokit library for GitHub profile information. The application features three primary sections:

  • Challenge: Presents coding challenges with built-in evaluation powered by the Copilot SDK.
  • Goal: Suggests learning goals based on the user’s GitHub profile and skills.
  • Learn: Offers curated learning topics tailored to the user’s interests and skill set.
  • Habits: Allows users to create and track daily learning habits.

The application’s dashboard displays recommended skills based on the user’s GitHub profile (14 years on GitHub, 110 repositories, proficiency in TypeScript, JavaScript, Python, etc.). Users can confirm or reject these recommendations, influencing future suggestions.

3. AI-Driven Recommendations & Personalization

The core functionality of Flight School relies on the Copilot SDK to generate personalized recommendations for challenges, goals, and learning topics. The SDK receives context from the user’s GitHub profile, including repositories, recent activity, and explicitly added skills (e.g., Kubernetes, Go).

The speaker demonstrated how adding new skills (Kubernetes, Go) and removing others (TypeScript, CSS) directly impacted the recommendations generated by the Copilot SDK. Regenerating learn topics after updating skills resulted in suggestions more aligned with the new focus areas. This highlights the SDK’s ability to adapt to user preferences and provide relevant learning opportunities.

4. Challenge Evaluation & GitHub Integration

The “Challenge” section provides a coding workspace with syntax highlighting powered by the Monaco editor. The “Evaluate” button sends the problem statement and the user’s solution to the Copilot SDK for assessment.

In a live demo, the speaker’s solution received feedback: “Flawless, but an incomplete deliverable. I need to add three required assertions to finish.” This demonstrates the SDK’s ability to provide constructive feedback on code quality and completeness.

Flight School also integrates with GitHub, allowing users to export their completed challenges as new repositories. The speaker demonstrated this by creating a new public repository named “implement countdown,” complete with a generated README file. This streamlines the process of sharing and showcasing learning progress.

5. Future Development & Contextual Learning

The speaker outlined plans for future development, including incorporating the application’s history (completed challenges, skipped goals) as context for future recommendations. This would allow Flight School to learn from user behavior, providing even more personalized and effective learning experiences. The intention is to leverage both positive (completed tasks) and negative (skipped tasks) signals to refine recommendations.

Additionally, the speaker mentioned the ability to initiate chat conversations about specific repositories, utilizing the GitHub MCP server to retrieve repository information. This exemplifies the SDK’s support for “tool calls,” enabling applications to interact with external services. For example, asking “What is timestamp?” would trigger a lookup of the “timestamp” repository using the GitHub MCP server.

6. Call to Action & Resources

The speaker encouraged viewers to explore the GitHub Copilot SDK and contribute to the Flight School project. The project’s repository is available at github.com/github/copilot-stk.

Conclusion

Flight School exemplifies the potential of the GitHub Copilot SDK to empower developers to create personalized, AI-driven applications that enhance learning and productivity. By integrating Copilot’s capabilities into a custom environment, the speaker has built a powerful tool for continuous skill development and knowledge acquisition. The application’s focus on personalization, evaluation, and GitHub integration demonstrates the SDK’s versatility and its potential to transform the way developers learn and work.

Chat with this Video

AI-Powered

Load the transcript when you're ready to chat so the initial page stays lighter.

Ready to summarize another video?

Summarize YouTube Video