Skip to content

eficode-academy/copilot-katas

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

16 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.

🎯 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)

Choose Your Language

The first workshop supports multiple programming languages. Choose one:

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

πŸ“š 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
β”‚   β”‚   └── src/
β”‚   └── recipe-api/          ← Recipe API (Labs 05-09)
β”‚       β”œβ”€β”€ package.json
β”‚       β”œβ”€β”€ README.md
β”‚       └── src/
β”œβ”€β”€ trainer/
β”‚   └── GUIDE.md
└── 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