Skip to content

eficode-academy/copilot-katas

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

22 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

GitHub Copilot Katas

GitHub Copilot

Welcome to the GitHub Copilot Katas! This hands-on workshop will take you from basic code completion to advanced AI-assisted development using GitHub Copilot.

Whether you're new to AI pair programming or looking to level up your skills, this workshop is designed to help you get the most out of GitHub Copilot.

⚑ Quick Start

git clone https://github.com/EficodeDemoOrg/copilot-katas.git
cd copilot-katas
code .            # then: Dev Containers: Reopen in Container (recommended)

Then open Lab 00 - Getting Started in VS Code and follow the steps.

🎯 What You'll Build

Throughout this workshop, you'll work with two projects using GitHub Copilot as your AI pair programmer:

Part 1: Todo Application (Labs 00–04)

  • ⌨️ Generate code with inline completion and comment-driven suggestions
  • πŸ’¬ Explore and refactor code through Chat in Ask Mode
  • πŸ€– Build full features autonomously with Agent Mode
  • πŸ“‹ Plan complex changes before coding with Plan Mode

Part 2: Recipe Book API (Labs 05–09)

  • πŸ”Œ Connect Copilot to external tools with MCP
  • πŸ“ Define coding standards with Custom Instructions
  • πŸ“„ Build reusable Prompt Templates
  • πŸ€– Create specialized Custom Agents
  • 🧠 Encode domain expertise as Skills

πŸ› οΈ Prerequisites

Before you begin, ensure you have:

  1. VS Code installed (Download)
  2. GitHub Copilot Chat extension installed
  3. A valid GitHub Copilot subscription (individual or organization)

Option A: Dev Container (recommended)

This repo ships with a Dev Container that pre-installs Node.js 20, Python 3, and the .NET 8 SDK, plus the Copilot extensions. To use it:

  1. Install Docker Desktop and the Dev Containers extension in VS Code (or open the repo in GitHub Codespaces).
  2. Open the repo in VS Code β†’ run Dev Containers: Reopen in Container.
  3. The post-create step installs all starter-code dependencies for you.

Option B: Local install β€” Choose Your Language

The first workshop supports multiple programming languages. Choose one:

Language Requirements
JavaScript Node.js 18+
Python Python 3.10+ and uv
C# .NET 8+

Part 2 (Recipe API, Labs 05–09) requires Node.js 18+ regardless of which language you chose for Part 1.

πŸ“š Workshop Structure

The workshop is divided into two parts covering core and advanced GitHub Copilot features:

Part 1: Core Features (Todo App)

Set up your environment and verify Copilot is working correctly.

Master the art of inline code suggestions, including:

  • Autocomplete suggestions
  • Code generation from comments
  • Next edit suggestions (Copilot Edits)
  • Tab completion strategies

Learn to use the Copilot Chat effectively:

  • Chatbot interaction basics
  • Useful slash commands (/explain, /fix, /tests, etc.)
  • Adding context with @workspace, @terminal, #file
  • Learning and refactoring code

Let Copilot take the wheel:

  • Creating new files and features
  • Generating unit tests
  • Autonomous multi-step tasks

Plan before you build:

  • Creating implementation plans with Copilot
  • Iterating on plans before coding
  • Executing plans step by step
  • Combining planning with agent execution

Part 2: Advanced Customization (Recipe API)

Extend Copilot with external tools and data:

  • Installing MCP servers from the gallery and configuring mcp.json
  • Server types: stdio (local) and HTTP/SSE (remote)
  • Using MCP tools, resources, prompts, and apps
  • Input variables for secure API key management
  • Server trust, management, and combining multiple servers

Teach Copilot your team's conventions:

  • Repo-level instructions (.github/copilot-instructions.md)
  • File-scoped instructions (.instructions.md with applyTo globs)
  • Auto-generating instructions with /init
  • Verifying with the diagnostics view

Create reusable task templates:

  • Building .prompt.md files with YAML frontmatter
  • Variables (${file}, ${selection}, ${input:name})
  • Configuring agent mode, model, and tools per prompt
  • Building a prompt library for your team

Build specialized AI team members:

  • Creating .agent.md files with YAML frontmatter
  • Agent tools, models, and visibility controls
  • Handoffs for multi-agent workflows
  • Agents dropdown and /agents command

Encode deep domain expertise:

  • Creating SKILL.md files in named directories
  • Progressive 3-level loading and automatic discovery
  • Including resources (scripts, templates, data) alongside skills
  • /skills command and visibility controls

πŸ“ Project Structure

copilot-katas/
β”œβ”€β”€ README.md
β”œβ”€β”€ CHEATSHEET.md
β”œβ”€β”€ labs/
β”‚   β”œβ”€β”€ 00-getting-started.md
β”‚   β”œβ”€β”€ 01-inline-completion.md
β”‚   β”œβ”€β”€ 02-chat-window.md
β”‚   β”œβ”€β”€ 03-agent-mode.md
β”‚   β”œβ”€β”€ 04-plan-mode.md
β”‚   β”œβ”€β”€ 05-mcp.md
β”‚   β”œβ”€β”€ 06-instructions.md
β”‚   β”œβ”€β”€ 07-prompts.md
β”‚   β”œβ”€β”€ 08-agents.md
β”‚   └── 09-skills.md
β”œβ”€β”€ starter-code/
β”‚   β”œβ”€β”€ javascript/          ← Todo App (Labs 00-04)
β”‚   β”‚   β”œβ”€β”€ package.json
β”‚   β”‚   β”œβ”€β”€ index.html
β”‚   β”‚   └── src/
β”‚   β”œβ”€β”€ python/              ← Todo App (Labs 00-04)
β”‚   β”‚   β”œβ”€β”€ requirements.txt
β”‚   β”‚   └── src/
β”‚   β”œβ”€β”€ csharp/              ← Todo App (Labs 00-04)
β”‚   β”‚   β”œβ”€β”€ TodoApp.csproj
β”‚   β”‚   β”œβ”€β”€ Program.cs
β”‚   β”‚   └── src/
β”‚   └── recipe-api/          ← Recipe API (Labs 05-09)
β”‚       β”œβ”€β”€ package.json
β”‚       β”œβ”€β”€ README.md
β”‚       └── src/
β”œβ”€β”€ trainer/
β”‚   └── GUIDE.md
β”œβ”€β”€ .devcontainer/           ← Dev Container config (Node, Python, .NET)
β”œβ”€β”€ .vscode/                 ← Build/debug tasks for the C# starter
└── solutions/
    └── (reference implementations)

🧭 Philosophy

This tutorial is designed to be:

  • Self-paced: Work through exercises at your own speed
  • Hands-on: Learn by doing, not just reading
  • Discovery-based: The exercises guide you but don't always give exact answers
  • Language-flexible: Use the programming language you're most comfortable with

πŸš€ Ready to Begin?

Head over to Lab 00 - Getting Started to begin your journey!

πŸ“– Quick Reference

For a quick reference of common Copilot shortcuts and commands, see CHEATSHEET.md.

🀝 Contributing

Found an issue or have a suggestion? Feel free to open an issue or submit a pull request!

πŸ“„ License

MIT License - feel free to use this material for your own training sessions.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors