About โข Learning Objectives โข Modules โข Labs โข Resources
๐ Course 1 of the GitHub Copilot Mastery Pathway โฑ๏ธ Duration: ~60 minutes
Welcome to "Advanced Prompting with GitHub Copilot"! This course is the first in the GitHub Copilot Mastery Pathway, designed to elevate your GitHub Copilot skills from basic completions to advanced conversational interactions. You'll learn how to craft effective multi-turn prompts, refine your requests iteratively, and work with complex codebases across multiple files. By mastering these techniques, you'll dramatically improve your productivity and code quality.
By the end of this course, you will be able to:
- โ Transition from basic autocomplete to conversational interactions with GitHub Copilot
- โ Understand and leverage different chat input methods and modes
- โ Craft effective multi-turn prompts for complex coding tasks
- โ Apply iterative refinement techniques to improve code quality
- โ Provide context from multiple files to enhance Copilot's accuracy
- โ Leverage open files strategically for better code suggestions
- โ Generate implementation code from API documentation
- โ Navigate and understand unfamiliar codebases efficiently
- Introduction to the course and learning pathway
- Transitioning from basic to conversational AI
- Understanding the power of multi-turn interactions
- Overview of chat inputs and interaction methods
- Overview of chat modes (inline, chat, and editor)
- ๐ฌ Crafting effective multi-turn prompts
- ๐ Iterative refinement techniques for code improvement
- ๐ฏ Challenge: Refactor with conversation
- โ Solution: Refactor with conversation
- ๐ Analyzing your conversational approach
- ๐ Providing context from multiple files
- ๐ฏ Leveraging open files for accuracy
- ๐ฏ Challenge: Generate code from API docs
- โ Solution: Generate code from API docs
- ๐ Working with unknown codebases
This course includes hands-on labs organized by module to reinforce your learning. Each lab provides practical experience with the concepts covered in the videos.
- Lab 4: Multi-File Context Management
- Lab 5: Documentation Generation and Code Creation
- Lab 6: Exploring Unknown Codebases
- Bonus 1: Python to Rust CLI Conversion - ๐ฆ Use AI to transpile Python argparse scripts to Rust
- Bonus 2: Customizing PMAT Test Generation - ๐จ Override default prompts for language-specific test goals
This repository includes a complete working example demonstrating Python-to-Rust CLI conversion:
๐ Python to Rust CLI Example - A fully functional greeter CLI with:
- ๐ Python implementation using argparse
- ๐ฆ Rust implementation using clap
- โ Comprehensive test suites for both versions
- ๐ I/O equivalence validation tests
- โก Performance comparison
Run the example:
# Build and test
make example-test
# Just build
make example-buildTo get the most out of this course, we recommend practicing your prompting skills on these well-structured open-source repositories:
- Flask - A lightweight WSGI web application framework
- Jinja - A modern and designer-friendly templating language
- Express - Fast, unopinionated, minimalist web framework
- Lodash - A modern JavaScript utility library
- Ruby on Rails - A web application framework in Ruby
- Reprorusted Python CLI - ๐ฆ Python to Rust transpilation examples with performance benchmarks
- PMAT Agent Toolkit - ๐ค AI-powered test generation and quality tools
These repositories are ideal for practicing because they:
- โ Have clear code structure and organization
- โ Include comprehensive documentation
- โ Feature multiple interconnected files
- โ Represent real-world production codebases
- โ Have active communities and good examples
Before starting the labs, ensure you have:
- ๐ค GitHub Copilot Access: An active GitHub Copilot subscription (individual, business, or enterprise)
- ๐ป IDE Setup: Visual Studio Code or a JetBrains IDE with GitHub Copilot extension installed
- ๐ฆ Git: Installed and configured on your system
- ๐ง Programming Language Support: At least one of Python, JavaScript/TypeScript, Java, or Ruby installed
-
Clone this repository:
git clone https://github.com/paiml/advanced-prompting-with-github-copilot cd advanced-prompting-with-github-copilot -
Install dependencies:
make install
-
Run tests to verify setup:
make test -
Optional: Clone practice repositories:
git clone https://github.com/pallets/flask cd flask
This course focuses on using GitHub Copilot with Visual Studio Code. You may use other text editors but note that there might be slight differences in features.
- Start with Module 1 labs in
labs/module1/ - Open the repository in your IDE with GitHub Copilot enabled
- Follow along with video content and complete hands-on exercises
- Practice on recommended repositories to reinforce learning
- Complete bonus exercises for advanced applications
Build and test the Python-to-Rust CLI example:
# Run all tests (Python, Rust, and I/O equivalence)
make example-test
# Just build the Rust binary
make example-build
# Clean build artifacts
make example-cleanmake help # Show all available commands
make install # Install all dependencies
make lint # Run all linting
make test # Run all tests
make validate # Validate repository structure
make example-test # Test the working exampleUse the following tools and resources to enhance your experience when working with this course:
- GitHub Copilot Documentation
- GitHub Copilot Chat
- GitHub Copilot in VS Code
- JetBrains GitHub Copilot Plugin
- Pragmatic AI Labs
This course is Course 1 in a 4-course series:
- ๐ Advanced Prompting with GitHub Copilot (this course) - Repository
- ๐ง GitHub Copilot for System-Level Development - Repository
- ๐ก๏ธ Responsible AI Development with GitHub Copilot - Repository
- ๐ Capstone: Building Production Features with Copilot - Repository
- ๐ฏ Be Specific: The more context you provide, the better Copilot's suggestions
- ๐ Iterate Often: Don't expect perfection on the first try - refine your prompts
- ๐ Keep Files Open: Copilot uses open files as context - leverage this strategically
- ๐ฌ Use Comments: Write clear comments to guide Copilot's understanding
- โ Review Suggestions: Always review and test Copilot's code before accepting
- ๐งช Experiment: Try different prompting approaches to find what works best
We welcome contributions to improve this course! Here's how you can help:
- ๐ Report Issues: Found a bug or broken link? Open an issue
- ๐ก Suggest Improvements: Have ideas for new labs or content? Share them!
- ๐ Fix Documentation: Improve clarity, fix typos, or add examples
- โจ Add Examples: Contribute additional working examples or exercises
- ๐งช Improve Tests: Enhance test coverage or add new test cases
- Fork the repository on GitHub
- Clone your fork locally:
git clone https://github.com/YOUR_USERNAME/advanced-prompting-with-github-copilot cd advanced-prompting-with-github-copilot - Create a feature branch:
git checkout -b feature/your-feature-name
- Make your changes and ensure tests pass:
make test - Commit your changes with a clear message:
git commit -m "Add feature: your feature description" - Push to your fork:
git push origin feature/your-feature-name
- Open a Pull Request on GitHub
All contributions must meet these standards:
- โ
Pass all linting checks (
make lint) - โ
Pass all tests (
make test) - โ Include documentation for new features
- โ Follow existing code style and patterns
- โ Update CLAUDE.md if repository structure changes
Copyright ยฉ 2025 Pragmatic AI Labs
This course material is provided for educational purposes. All rights reserved.
For licensing inquiries, contact Pragmatic AI Labs.
Made with โค๏ธ by Pragmatic AI Labs
