Skip to content

paiml/advanced-prompting-with-github-copilot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

4 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

Advanced Prompting with GitHub Copilot

Master the art of crafting effective prompts and conversational interactions with GitHub Copilot

Advanced Prompting Progression

CI Status PMAT Repo Score Course 1 of 4

About โ€ข Learning Objectives โ€ข Modules โ€ข Labs โ€ข Resources


๐Ÿ“š Course 1 of the GitHub Copilot Mastery Pathway โฑ๏ธ Duration: ~60 minutes

๐Ÿ“– About This Course

Overview

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.

๐ŸŽฏ Learning Objectives

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

๐Ÿ“š Course Modules

Module 1: Foundations for Advanced Prompting

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

Module 2: Mastering Conversational AI

  • ๐Ÿ’ฌ Crafting effective multi-turn prompts
  • ๐Ÿ”„ Iterative refinement techniques for code improvement
  • ๐ŸŽฏ Challenge: Refactor with conversation
  • โœ… Solution: Refactor with conversation
  • ๐Ÿ“Š Analyzing your conversational approach

Module 3: Advanced Context Scaffolding

  • ๐Ÿ“‚ 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

๐Ÿงช Labs

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.

Module 1 Labs: Foundations for Advanced Prompting

Module 2 Labs: Mastering Conversational AI

Module 3 Labs: Advanced Context Scaffolding

๐Ÿ† Bonus Exercises: Advanced Applications

๐Ÿ’ป Working Example

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-build

๐Ÿ”— Recommended Repositories

To get the most out of this course, we recommend practicing your prompting skills on these well-structured open-source repositories:

๐Ÿ Python Projects

  • Flask - A lightweight WSGI web application framework
  • Jinja - A modern and designer-friendly templating language

๐Ÿ“œ JavaScript/TypeScript Projects

  • Express - Fast, unopinionated, minimalist web framework
  • Lodash - A modern JavaScript utility library

๐Ÿ’Ž Other Languages

๐ŸŽฏ Bonus Exercise Repositories

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

๐Ÿ“ฆ Installation

Installation

Prerequisites

Before starting the labs, ensure you have:

  1. ๐Ÿค– GitHub Copilot Access: An active GitHub Copilot subscription (individual, business, or enterprise)
  2. ๐Ÿ’ป IDE Setup: Visual Studio Code or a JetBrains IDE with GitHub Copilot extension installed
  3. ๐Ÿ“ฆ Git: Installed and configured on your system
  4. ๐Ÿ”ง Programming Language Support: At least one of Python, JavaScript/TypeScript, Java, or Ruby installed

๐Ÿš€ Quick Start

  1. Clone this repository:

    git clone https://github.com/paiml/advanced-prompting-with-github-copilot
    cd advanced-prompting-with-github-copilot
  2. Install dependencies:

    make install
  3. Run tests to verify setup:

    make test
  4. Optional: Clone practice repositories:

    git clone https://github.com/pallets/flask
    cd flask

๐ŸŽฎ Usage

Usage

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.

Working with the Course

  1. Start with Module 1 labs in labs/module1/
  2. Open the repository in your IDE with GitHub Copilot enabled
  3. Follow along with video content and complete hands-on exercises
  4. Practice on recommended repositories to reinforce learning
  5. Complete bonus exercises for advanced applications

Running the Example

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-clean

Available Commands

make 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 example

๐Ÿ“š Resources

Use the following tools and resources to enhance your experience when working with this course:

๐ŸŽ“ Part of the GitHub Copilot Mastery Pathway

This course is Course 1 in a 4-course series:

  1. ๐Ÿ“š Advanced Prompting with GitHub Copilot (this course) - Repository
  2. ๐Ÿ”ง GitHub Copilot for System-Level Development - Repository
  3. ๐Ÿ›ก๏ธ Responsible AI Development with GitHub Copilot - Repository
  4. ๐Ÿ† Capstone: Building Production Features with Copilot - Repository

๐Ÿ’ก Tips for Success

  • ๐ŸŽฏ 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

๐Ÿค Contributing

Contributing

We welcome contributions to improve this course! Here's how you can help:

Ways to Contribute

  • ๐Ÿ› 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

Development Workflow

  1. Fork the repository on GitHub
  2. Clone your fork locally:
    git clone https://github.com/YOUR_USERNAME/advanced-prompting-with-github-copilot
    cd advanced-prompting-with-github-copilot
  3. Create a feature branch:
    git checkout -b feature/your-feature-name
  4. Make your changes and ensure tests pass:
    make test
  5. Commit your changes with a clear message:
    git commit -m "Add feature: your feature description"
  6. Push to your fork:
    git push origin feature/your-feature-name
  7. Open a Pull Request on GitHub

Code Quality Standards

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

๐Ÿ“„ License

License

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

About

Linkedin Learning Course on Advanced Prompting with GitHub Copilot

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors