From 3d81dea33b381bb530f0b84238fcc89637560dc9 Mon Sep 17 00:00:00 2001 From: FidelusAleksander Date: Thu, 2 Oct 2025 09:23:42 +0000 Subject: [PATCH 01/36] fix: clarify explanation of @workspace in onboarding steps --- .github/steps/1-preparing.md | 8 ++++---- .github/steps/2-first-introduction.md | 7 ------- 2 files changed, 4 insertions(+), 11 deletions(-) diff --git a/.github/steps/1-preparing.md b/.github/steps/1-preparing.md index 6c55e2a..3d470ff 100644 --- a/.github/steps/1-preparing.md +++ b/.github/steps/1-preparing.md @@ -68,7 +68,9 @@ Let's start up our development environment, use copilot to learn a bit about the
What is @workspace? - Nice job noticing the details, but let's just use it for now. 🤓 We promise to explain in the next step. + + Great question! This is a specialized [chat participant](https://docs.github.com/en/copilot/using-github-copilot/copilot-chat/github-copilot-chat-cheat-sheet?tool=vscode#chat-participants) that will explore the project repository and try to include relevant additional context. +
1. Now that we know a bit more about the project, let's actually try running it! In the left sidebar, select the `Run and Debug` tab and then press the **Start Debugging** icon. @@ -85,9 +87,7 @@ Let's start up our development environment, use copilot to learn a bit about the Great work! Now that we are familiar with the app and we know it works, let's ask copilot for help starting a branch so we can do some customizing. -1. If not already there, return to VS Code. - -1. In the bottom panel, select the **Terminal** tab. On the right side, click the plus `+` sign to create a new terminal window. +1. In VS Code's bottom panel, select the **Terminal** tab and on the right side click the plus `+` sign to create a new terminal window. > **Note:** This will avoid stopping the existing debug session that is hosting our web application service. diff --git a/.github/steps/2-first-introduction.md b/.github/steps/2-first-introduction.md index 9914261..db3eafc 100644 --- a/.github/steps/2-first-introduction.md +++ b/.github/steps/2-first-introduction.md @@ -32,13 +32,6 @@ In short, you can think of Copilot like a very specialized coworker. To be effec > Where could this bug be coming from? > ``` -
- What is @workspace? - - Great question! This is a specialized [chat participant](https://docs.github.com/en/copilot/using-github-copilot/copilot-chat/github-copilot-chat-cheat-sheet?tool=vscode#chat-participants) that will explore the project repository and try to include relevant additional context. - -
- 1. Now that we know the issue is in the `src/app.py` file and the `signup_for_activity` method, let's follow Copilot's recommendation and go fix it (semi-manually). We'll start with a comment and let Copilot finish the correction. 1. In VS Code, select the file **Explorer tab** to show the project files and open the `src/app.py` file. From 2a069313e5f7b70358f417d8904f09c9f8efb4e6 Mon Sep 17 00:00:00 2001 From: FidelusAleksander Date: Thu, 2 Oct 2025 09:30:26 +0000 Subject: [PATCH 02/36] chore: update tips and notes with emoji styling --- .github/steps/1-preparing.md | 6 +++--- .github/steps/2-first-introduction.md | 6 +++--- .github/steps/3-copilot-edits.md | 6 +++--- .github/steps/4-copilot-on-github.md | 2 +- 4 files changed, 10 insertions(+), 10 deletions(-) diff --git a/.github/steps/1-preparing.md b/.github/steps/1-preparing.md index 3d470ff..96275ad 100644 --- a/.github/steps/1-preparing.md +++ b/.github/steps/1-preparing.md @@ -64,7 +64,7 @@ Let's start up our development environment, use copilot to learn a bit about the > What should I do to run it? > ``` - > **Note**: It is not necessary to follow Copilot's recommended instructions. We have already prepared the environment for you. + > 🪧 **Note:** It is not necessary to follow Copilot's recommended instructions. We have already prepared the environment for you.
What is @workspace? @@ -89,7 +89,7 @@ Great work! Now that we are familiar with the app and we know it works, let's as 1. In VS Code's bottom panel, select the **Terminal** tab and on the right side click the plus `+` sign to create a new terminal window. - > **Note:** This will avoid stopping the existing debug session that is hosting our web application service. + > 🪧 **Note:** This will avoid stopping the existing debug session that is hosting our web application service. 1. Within the new terminal window use the keyboard shortcut `Ctrl + I` (windows) or `Cmd + I` (mac) to bring up **Copilot's Terminal Inline Chat**. @@ -101,7 +101,7 @@ Great work! Now that we are familiar with the app and we know it works, let's as > Hey copilot, how can I create and publish a new Git branch called "accelerate-with-copilot"? > ``` - > **Tip:** If Copilot doesn't give you quite what you want, you can always continue explaining what you need. Copilot will remember the conversation history for follow-up responses. + > 💡 **Tip:** If Copilot doesn't give you quite what you want, you can always continue explaining what you need. Copilot will remember the conversation history for follow-up responses. 1. Press the `Run` button to let Copilot insert the terminal command for us. No need to copy and paste! diff --git a/.github/steps/2-first-introduction.md b/.github/steps/2-first-introduction.md index db3eafc..67b781e 100644 --- a/.github/steps/2-first-introduction.md +++ b/.github/steps/2-first-introduction.md @@ -48,7 +48,7 @@ In short, you can think of Copilot like a very specialized coworker. To be effec 1. Press `Tab` to accept Copilot's suggestion and convert the shadow text to code. - > **Tip:** If you would like to see other suggestions, instead of pressing `Tab`, hover over the shadow text suggestion and a toolbar will appear. Use the arrows to select other suggestions or the three dots `...` and `Open Completions Panel` option to show all suggestions in a dedicated panel. + > 💡 **Tip:** If you would like to see other suggestions, instead of pressing `Tab`, hover over the shadow text suggestion and a toolbar will appear. Use the arrows to select other suggestions or the three dots `...` and `Open Completions Panel` option to show all suggestions in a dedicated panel.
Example Results
@@ -89,7 +89,7 @@ In new project developments, it's often helpful to have some realistic looking f 1. Click on any of the related lines and bring up Copilot inline chat by using the keyboard command `Ctrl + I` (windows) or `Cmd + I` (mac). - > **Tip:** Another way to bring up Copilot inline chat is: `right click` on any of the selected lines -> `Copilot` -> `Editor Inline Chat`. + > 💡 **Tip:** Another way to bring up Copilot inline chat is: `right click` on any of the selected lines -> `Copilot` -> `Editor Inline Chat`. 1. Enter the following prompt text and press enter or the **Send and Dispatch** button. @@ -175,7 +175,7 @@ Nice work fixing that bug and expanding the example activities! Now let's get ou 1. In the left sidebar, select the `Source Control` tab. - > **Tip:** Opening a file from the source control area will show the differences to the original rather than simply opening it. + > 💡 **Tip:** Opening a file from the source control area will show the differences to the original rather than simply opening it. 1. Find the `app.py` file and press the `+` sign to collect your changes together in the staging area. diff --git a/.github/steps/3-copilot-edits.md b/.github/steps/3-copilot-edits.md index 5a23d52..9dd13aa 100644 --- a/.github/steps/3-copilot-edits.md +++ b/.github/steps/3-copilot-edits.md @@ -33,7 +33,7 @@ In our previous steps, we used features of Copilot that require more hands-on gu - `src/static/index.html` - `src/static/styles.css` - > **Tip:** You can also use the **Add Context...** button to provide other sources of context items, like a GitHub issue, the entire codebase, or the results of a terminal window. + > 💡 **Tip:** You can also use the **Add Context...** button to provide other sources of context items, like a GitHub issue, the entire codebase, or the results of a terminal window. 1. Ask Copilot to update our project to display the current participants of activities. Wait a moment for the edit suggestions to arrive and be applied. @@ -65,7 +65,7 @@ In our previous steps, we used features of Copilot that require more hands-on gu Activity card with participant info - > **Note:** Your activity card may look different. Copilot won't always produce the same results. + > 🪧 **Note:** Your activity card may look different. Copilot won't always produce the same results.
Need help? 🤷
@@ -79,7 +79,7 @@ In our previous steps, we used features of Copilot that require more hands-on gu 1. Now that we have confirmed our changes are good, use the panel to cycle through each suggested edit and press **Keep** to apply the change. - > **Tip:** You can accept the changes directly, modify them, or provide additional instruction to refine them using the chat interface. + > 💡 **Tip:** You can accept the changes directly, modify them, or provide additional instruction to refine them using the chat interface. 1. With our new feature complete, please **commit** and **push** the changes to GitHub. diff --git a/.github/steps/4-copilot-on-github.md b/.github/steps/4-copilot-on-github.md index 7c6a772..6be015d 100644 --- a/.github/steps/4-copilot-on-github.md +++ b/.github/steps/4-copilot-on-github.md @@ -36,7 +36,7 @@ Both **Copilot pull request summaries** and **Copilot code review** have limited Copilot review button - > **Tip:** Notice a log entry that Copilot was requested for a review. + > 💡 **Tip:** Notice a log entry that Copilot was requested for a review. 1. At the bottom, press the **Merge pull request** button. Nice work! You are all done! :tada: From 9c1d0ad59d08c36870effd51982413c8c3512696 Mon Sep 17 00:00:00 2001 From: FidelusAleksander Date: Thu, 2 Oct 2025 09:43:25 +0000 Subject: [PATCH 03/36] feat: update workflow to check branch name and handle comments for step validation --- .github/workflows/1-preparing.yml | 79 +++++++++++++++++++++++++++++-- 1 file changed, 76 insertions(+), 3 deletions(-) diff --git a/.github/workflows/1-preparing.yml b/.github/workflows/1-preparing.yml index 1d4d9ee..d549407 100644 --- a/.github/workflows/1-preparing.yml +++ b/.github/workflows/1-preparing.yml @@ -2,8 +2,9 @@ name: Step 1 # Preparing to make your extension on: push: - branches: - - "accelerate-with-copilot" + # Trigger on pushes to any branch except the protected `main` branch + branches-ignore: + - main permissions: contents: read @@ -18,9 +19,80 @@ jobs: name: Find Exercise Issue uses: skills/exercise-toolkit/.github/workflows/find-exercise-issue.yml@v0.7.0 + check_step_work: + name: Check step work + runs-on: ubuntu-latest + needs: [find_exercise] + env: + ISSUE_REPOSITORY: ${{ github.repository }} + ISSUE_NUMBER: ${{ needs.find_exercise.outputs.issue-number }} + + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Get response templates + uses: actions/checkout@v4 + with: + repository: skills/exercise-toolkit + path: exercise-toolkit + ref: v0.7.0 + + - name: Find last comment + id: find-last-comment + uses: peter-evans/find-comment@v3 + with: + repository: ${{ env.ISSUE_REPOSITORY }} + issue-number: ${{ env.ISSUE_NUMBER }} + direction: last + + - name: Update comment - checking work + uses: GrantBirki/comment@v2.1.1 + with: + repository: ${{ env.ISSUE_REPOSITORY }} + issue-number: ${{ env.ISSUE_NUMBER }} + comment-id: ${{ steps.find-last-comment.outputs.comment-id }} + file: exercise-toolkit/markdown-templates/step-feedback/checking-work.md + edit-mode: replace + + # START: Check practical exercise + + - name: Check branch name is correct + id: check-branch + continue-on-error: true + uses: skills/action-keyphrase-checker@v1 + with: + # Check the branch ref directly + text: ${{ github.ref }} + keyphrase: accelerate-with-copilot + case-sensitive: true + minimum-occurrences: 1 + maximum-occurrences: 1 + + - name: Update comment - step results + uses: GrantBirki/comment@v2.1.1 + with: + repository: ${{ env.ISSUE_REPOSITORY }} + issue-number: ${{ env.ISSUE_NUMBER }} + comment-id: ${{ steps.find-last-comment.outputs.comment-id }} + edit-mode: replace + file: exercise-toolkit/markdown-templates/step-feedback/step-results-table.md + vars: | + step_number: 1 + results_table: + - description: "Checked that branch name is accelerate-with-copilot" + passed: ${{ steps.check-branch.outcome == 'success' }} + + # END: Check practical exercise + + - name: Fail job if check failed + if: ${{ steps.check-branch.outcome != 'success' }} + run: exit 1 + + post_next_step_content: name: Post next step content - needs: [find_exercise] + needs: [find_exercise, check_step_work] runs-on: ubuntu-latest env: ISSUE_REPOSITORY: ${{ github.repository }} @@ -37,6 +109,7 @@ jobs: path: exercise-toolkit ref: v0.7.0 + - name: Create comment - step finished uses: GrantBirki/comment@v2.1.1 with: From 28add90a6240f6f924148ad374334d4c077d6490 Mon Sep 17 00:00:00 2001 From: FidelusAleksander Date: Thu, 2 Oct 2025 09:45:30 +0000 Subject: [PATCH 04/36] chore: upgrade actions/checkout from v4 to v5 across workflow files --- .github/workflows/0-start-exercise.yml | 4 ++-- .github/workflows/1-preparing.yml | 6 ++---- .github/workflows/2-first-introduction.yml | 7 ++----- .github/workflows/3-copilot-edits.yml | 4 ++-- .github/workflows/4-copilot-on-github.yml | 4 ++-- 5 files changed, 10 insertions(+), 15 deletions(-) diff --git a/.github/workflows/0-start-exercise.yml b/.github/workflows/0-start-exercise.yml index 009158d..a977089 100644 --- a/.github/workflows/0-start-exercise.yml +++ b/.github/workflows/0-start-exercise.yml @@ -33,10 +33,10 @@ jobs: steps: - name: Checkout - uses: actions/checkout@v4 + uses: actions/checkout@v5 - name: Get response templates - uses: actions/checkout@v4 + uses: actions/checkout@v5 with: repository: skills/exercise-toolkit path: exercise-toolkit diff --git a/.github/workflows/1-preparing.yml b/.github/workflows/1-preparing.yml index d549407..1717df5 100644 --- a/.github/workflows/1-preparing.yml +++ b/.github/workflows/1-preparing.yml @@ -29,10 +29,10 @@ jobs: steps: - name: Checkout - uses: actions/checkout@v4 + uses: actions/checkout@v5 - name: Get response templates - uses: actions/checkout@v4 + uses: actions/checkout@v5 with: repository: skills/exercise-toolkit path: exercise-toolkit @@ -89,7 +89,6 @@ jobs: if: ${{ steps.check-branch.outcome != 'success' }} run: exit 1 - post_next_step_content: name: Post next step content needs: [find_exercise, check_step_work] @@ -109,7 +108,6 @@ jobs: path: exercise-toolkit ref: v0.7.0 - - name: Create comment - step finished uses: GrantBirki/comment@v2.1.1 with: diff --git a/.github/workflows/2-first-introduction.yml b/.github/workflows/2-first-introduction.yml index d00e25e..412f3f2 100644 --- a/.github/workflows/2-first-introduction.yml +++ b/.github/workflows/2-first-introduction.yml @@ -30,10 +30,10 @@ jobs: steps: - name: Checkout - uses: actions/checkout@v4 + uses: actions/checkout@v5 - name: Get response templates - uses: actions/checkout@v4 + uses: actions/checkout@v5 with: repository: skills/exercise-toolkit path: exercise-toolkit @@ -47,7 +47,6 @@ jobs: issue-number: ${{ env.ISSUE_NUMBER }} direction: last - - name: Update comment - checking work uses: GrantBirki/comment@v2.1.1 with: @@ -87,7 +86,6 @@ jobs: if: contains(steps.*.outcome, 'failure') run: exit 1 - post_next_step_content: name: Post next step content needs: [find_exercise, check_step_work] @@ -116,7 +114,6 @@ jobs: vars: | next_step_number: 3 - - name: Create comment - add step content uses: GrantBirki/comment@v2.1.1 with: diff --git a/.github/workflows/3-copilot-edits.yml b/.github/workflows/3-copilot-edits.yml index 5201906..cdc33e6 100644 --- a/.github/workflows/3-copilot-edits.yml +++ b/.github/workflows/3-copilot-edits.yml @@ -30,10 +30,10 @@ jobs: steps: - name: Checkout - uses: actions/checkout@v4 + uses: actions/checkout@v5 - name: Get response templates - uses: actions/checkout@v4 + uses: actions/checkout@v5 with: repository: skills/exercise-toolkit path: exercise-toolkit diff --git a/.github/workflows/4-copilot-on-github.yml b/.github/workflows/4-copilot-on-github.yml index 1ab47a0..46e0f62 100644 --- a/.github/workflows/4-copilot-on-github.yml +++ b/.github/workflows/4-copilot-on-github.yml @@ -30,10 +30,10 @@ jobs: steps: - name: Checkout - uses: actions/checkout@v4 + uses: actions/checkout@v5 - name: Get response templates - uses: actions/checkout@v4 + uses: actions/checkout@v5 with: repository: skills/exercise-toolkit path: exercise-toolkit From 111476f9e7a02b64cd04e17e810987f3fa234385 Mon Sep 17 00:00:00 2001 From: FidelusAleksander Date: Thu, 2 Oct 2025 10:53:12 +0000 Subject: [PATCH 05/36] fix: update section title and improve tips for GitHub Copilot usage --- .github/steps/1-preparing.md | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/.github/steps/1-preparing.md b/.github/steps/1-preparing.md index 96275ad..a7e9426 100644 --- a/.github/steps/1-preparing.md +++ b/.github/steps/1-preparing.md @@ -6,7 +6,7 @@ In this exercise, you will be using different GitHub Copilot features to work on screenshot of Mergington High School WebApp -### What is GitHub Copilot? +### 📖 Theory: Getting to know GitHub Copilot copilot logo @@ -21,13 +21,11 @@ Your most common interactions will likely be: - **Copilot - Edit Mode**: Similar to Ask mode, but less conversational. Copilot will make changes to your selected files to implement your request. - **Copilot - Agent Mode**: Copilot will run iteratively until it achieves your request. It will select context, make code changes, run terminal commands, run tools, and most importantly review its work to make adjustments. -> [!TIP] -> You can learn more about current and upcoming features in the [GitHub Copilot Features](https://docs.github.com/en/copilot/about-github-copilot/github-copilot-features) documentation. You can also select different [models](https://docs.github.com/en/github-models) and make your own [extensions](https://github.com/features/copilot/extensions), but that's for a different lesson! - -### How can I use GitHub Copilot? - As you work, you'll find GitHub Copilot can help out in several places across the website and in your favorite coding environments such as VS Code, Jet Brains, and Xcode! For today's coding though, we will practice with VS Code in a pre-configured development environment known as [Codespace](https://github.com/features/codespaces). +> [!TIP] +> You can learn more about current and upcoming features in the [GitHub Copilot Features](https://docs.github.com/en/copilot/about-github-copilot/github-copilot-features) documentation. + ### :keyboard: Activity: Get a project intro from Copilot Chat Let's start up our development environment, use copilot to learn a bit about the project, and then give it a test run. From 518a778535b3746bebaf20a40541c8a983f3f9dc Mon Sep 17 00:00:00 2001 From: FidelusAleksander Date: Thu, 2 Oct 2025 11:13:30 +0000 Subject: [PATCH 06/36] feat: enhance Copilot interaction modes with detailed descriptions and examples --- .github/steps/1-preparing.md | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/.github/steps/1-preparing.md b/.github/steps/1-preparing.md index a7e9426..6beb3a7 100644 --- a/.github/steps/1-preparing.md +++ b/.github/steps/1-preparing.md @@ -14,14 +14,19 @@ GitHub Copilot is an AI coding assistant that helps you write code faster and wi GitHub Copilot has been proven to increase developer productivity and accelerate the pace of software development. For more information, see [Research: quantifying GitHub Copilot’s impact on developer productivity and happiness in the GitHub blog.](https://github.blog/news-insights/research/research-quantifying-github-copilots-impact-on-developer-productivity-and-happiness/) -Your most common interactions will likely be: +As you work in your IDE, you'll most often interact with GitHub Copilot in the following ways: -- **Inline suggestions**: As you type, Copilot uses the nearby context to suggest code directly in your editor. This will be a familiar interaction if you have used code completion tools like [Intellisense](https://code.visualstudio.com/docs/editor/intellisense), except that the completions may be entire functions. -- **Copilot - Ask Mode**: A dedicated chat panel that lets you ask coding related questions. This will feel familiar if you have used online AI assistant chats. The big difference however, is that your project files will provide automatic context to provide tailored responses. -- **Copilot - Edit Mode**: Similar to Ask mode, but less conversational. Copilot will make changes to your selected files to implement your request. -- **Copilot - Agent Mode**: Copilot will run iteratively until it achieves your request. It will select context, make code changes, run terminal commands, run tools, and most importantly review its work to make adjustments. +| Interaction Mode | 📝 Description | 🎯 Best For | +| ------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | +| **⚡ Inline suggestions** | AI-powered code suggestions that appear as you type, offering context-aware completions from single lines to entire functions. | Completion of the current line, sometimes a whole new block of code | +| **💬 Ask Mode** | Optimized for answering questions about your codebase, coding, and general technology concepts. | Understanding how code works, brainstorming ideas, asking questions | +| **✏️ Edit Mode** | Optimized for making code edits across multiple files in your project. VS Code directly applies the code changes in the editor for in-place review. | Coding tasks when you have a good understanding of the changes you want to make and which files you want to edit | +| **🤖 Agent Mode** | Optimized for making autonomous edits across multiple files in your project. | Coding tasks when you have a less well-defined task that might also require running terminal commands and tools | +| **💭 Inline Chat** | Interactive chat scoped to your current file or selection. Ask questions about specific code blocks. | Code explanations, debugging specific functions, targeted improvements | -As you work, you'll find GitHub Copilot can help out in several places across the website and in your favorite coding environments such as VS Code, Jet Brains, and Xcode! For today's coding though, we will practice with VS Code in a pre-configured development environment known as [Codespace](https://github.com/features/codespaces). +As you work, you'll find GitHub Copilot can help out in several places across the `github.com` website and in your favorite coding environments such as VS Code, Jet Brains, and Xcode! + +For today's coding though, we will practice with VS Code in a pre-configured development environment known as a [GitHub Codespace](https://github.com/features/codespaces). > [!TIP] > You can learn more about current and upcoming features in the [GitHub Copilot Features](https://docs.github.com/en/copilot/about-github-copilot/github-copilot-features) documentation. From d35c2a4ef0fef45502622339b6d6c51ff765d2d3 Mon Sep 17 00:00:00 2001 From: FidelusAleksander Date: Thu, 2 Oct 2025 11:54:19 +0000 Subject: [PATCH 07/36] fix: adjust formatting and clarify instructions for Ask Mode in Copilot usage --- .github/steps/1-preparing.md | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/.github/steps/1-preparing.md b/.github/steps/1-preparing.md index 6beb3a7..923ed34 100644 --- a/.github/steps/1-preparing.md +++ b/.github/steps/1-preparing.md @@ -16,7 +16,7 @@ GitHub Copilot has been proven to increase developer productivity and accelerate As you work in your IDE, you'll most often interact with GitHub Copilot in the following ways: -| Interaction Mode | 📝 Description | 🎯 Best For | +| Interaction Mode | 📝 Description | 🎯 Best For | | ------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | | **⚡ Inline suggestions** | AI-powered code suggestions that appear as you type, offering context-aware completions from single lines to entire functions. | Completion of the current line, sometimes a whole new block of code | | **💬 Ask Mode** | Optimized for answering questions about your codebase, coding, and general technology concepts. | Understanding how code works, brainstorming ideas, asking questions | @@ -58,7 +58,11 @@ Let's start up our development environment, use copilot to learn a bit about the 1. If this is your first time using GitHub Copilot, you will need to accept the usage terms to continue. -1. Enter the below prompt to ask Copilot to introduce you to the project. Use Copilot **Ask Mode** for this prompt. +1. Make sure you are in **Ask Mode** for our first interaction + + + +1. Enter the below prompt to ask Copilot to introduce you to the project. > ![Static Badge](https://img.shields.io/badge/-Prompt-text?style=social&logo=github%20copilot) > From eb19149fea291c62ce75ef80f923cfc3739d1f48 Mon Sep 17 00:00:00 2001 From: Aleksander Fidelus <63016446+FidelusAleksander@users.noreply.github.com> Date: Thu, 2 Oct 2025 14:02:19 +0200 Subject: [PATCH 08/36] Update images --- .github/steps/1-preparing.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/steps/1-preparing.md b/.github/steps/1-preparing.md index 923ed34..24d7836 100644 --- a/.github/steps/1-preparing.md +++ b/.github/steps/1-preparing.md @@ -52,16 +52,16 @@ Let's start up our development environment, use copilot to learn a bit about the python extension for VS Code -1. At the top of VS Code, locate and click the **Copilot icon** to open a Copilot Chat panel. +1. At the top of VS Code, locate and click the **Copilot Chat icon** to open a Copilot Chat side panel. - image + image -1. If this is your first time using GitHub Copilot, you will need to accept the usage terms to continue. + > 🪧 **Note:** If this is your first time using GitHub Copilot, you will need to accept the usage terms to continue. 1. Make sure you are in **Ask Mode** for our first interaction - + screenshot showing Ask Mode selection in Copilot Chat 1. Enter the below prompt to ask Copilot to introduce you to the project. > ![Static Badge](https://img.shields.io/badge/-Prompt-text?style=social&logo=github%20copilot) From 32c7236933ed5f88d9f25683170ddb6a8efef56e Mon Sep 17 00:00:00 2001 From: FidelusAleksander Date: Thu, 2 Oct 2025 12:15:33 +0000 Subject: [PATCH 09/36] emphasize bug description in step two --- .github/steps/2-first-introduction.md | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/.github/steps/2-first-introduction.md b/.github/steps/2-first-introduction.md index 67b781e..a9dfde2 100644 --- a/.github/steps/2-first-introduction.md +++ b/.github/steps/2-first-introduction.md @@ -2,11 +2,12 @@ In the previous step, GitHub Copilot was able to help us onboard to the project. That alone is a huge time saver, but now let's get some work done! -We recently learned there is a bug where students are registering for the same activities twice. That simply isn't acceptable, so let's get it fixed! +:bug: **THERE IS A BUG ON THE WEBSITE** :bug: -Unfortunately, we were given little information to solve this problem. So, let's enlist Copilot to help find the problem area and get a potential solution made. +We’ve discovered that something’s off in the signup flow. +Students can currently register for the same activity **more than once**! Let’s see how far Copilot can take us in uncovering the cause and shaping a clean fix. -But before we do that, let's learn a bit more about Copilot! 🧑‍🚀 +Before we dive in, a quick primer on how Copilot works 🧑‍🚀 ### How does Copilot work? From 03dcf1643ac95304e55fd704dba8a147f00dba87 Mon Sep 17 00:00:00 2001 From: FidelusAleksander Date: Thu, 2 Oct 2025 12:22:29 +0000 Subject: [PATCH 10/36] Theory header --- .github/steps/2-first-introduction.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/steps/2-first-introduction.md b/.github/steps/2-first-introduction.md index a9dfde2..1204041 100644 --- a/.github/steps/2-first-introduction.md +++ b/.github/steps/2-first-introduction.md @@ -7,9 +7,9 @@ In the previous step, GitHub Copilot was able to help us onboard to the project. We’ve discovered that something’s off in the signup flow. Students can currently register for the same activity **more than once**! Let’s see how far Copilot can take us in uncovering the cause and shaping a clean fix. -Before we dive in, a quick primer on how Copilot works 🧑‍🚀 +Before we dive in, a quick primer on how Copilot works. 🧑‍🚀 -### How does Copilot work? +### 📖 Theory: How Copilot works In short, you can think of Copilot like a very specialized coworker. To be effective with them, you need to provide them background (context) and clear direction (prompts). Additionally, different people are better at different things because of their unique experiences (models). From a4865ef82e8f0a819b818ac003fe2d43fc84cc40 Mon Sep 17 00:00:00 2001 From: FidelusAleksander Date: Thu, 2 Oct 2025 12:27:31 +0000 Subject: [PATCH 11/36] Remove tip about open completions panel which is not available anymore --- .github/steps/2-first-introduction.md | 2 -- 1 file changed, 2 deletions(-) diff --git a/.github/steps/2-first-introduction.md b/.github/steps/2-first-introduction.md index 1204041..4780fb0 100644 --- a/.github/steps/2-first-introduction.md +++ b/.github/steps/2-first-introduction.md @@ -49,8 +49,6 @@ In short, you can think of Copilot like a very specialized coworker. To be effec 1. Press `Tab` to accept Copilot's suggestion and convert the shadow text to code. - > 💡 **Tip:** If you would like to see other suggestions, instead of pressing `Tab`, hover over the shadow text suggestion and a toolbar will appear. Use the arrows to select other suggestions or the three dots `...` and `Open Completions Panel` option to show all suggestions in a dedicated panel. -
Example Results
From ea8dd13e4828dd7ec814e7e02ac97d2e1a73ce43 Mon Sep 17 00:00:00 2001 From: FidelusAleksander Date: Thu, 2 Oct 2025 12:36:39 +0000 Subject: [PATCH 12/36] fix: clarify differences between Inline Chat and Copilot Chat --- .github/steps/2-first-introduction.md | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/.github/steps/2-first-introduction.md b/.github/steps/2-first-introduction.md index 4780fb0..31f74ac 100644 --- a/.github/steps/2-first-introduction.md +++ b/.github/steps/2-first-introduction.md @@ -80,11 +80,9 @@ In short, you can think of Copilot like a very specialized coworker. To be effec In new project developments, it's often helpful to have some realistic looking fake data for testing. Copilot is excellent at this task, so let's add some more sample activities and introduce another way to interact with Copilot using **Inline Chat** -**Inline Chat** and the **Copilot Chat** panel are very similar tools, but with slightly different automatic context. As such, while Copilot Chat is good at explaining about the project, inline chat might feel more natural for asking about a particular line or function. +**Inline Chat** and the **Copilot Chat** panel are similar, but differ in scope: Copilot Chat handles broader, multi-file or exploratory questions; Inline Chat is faster when you want targeted help on the exact line or block in front of you. -1. If not already open, open the `src/app.py` file. - -1. Near the top (about line 23), find the `activities` variable, where our example extracurricular activities are configured. +1. Near the top of the `src/app.py` file (about line 23), find the `activities` variable, where our example extracurricular activities are configured. 1. Click on any of the related lines and bring up Copilot inline chat by using the keyboard command `Ctrl + I` (windows) or `Cmd + I` (mac). From 703c196c55c4643d53ccd8321029fe4b3cace847 Mon Sep 17 00:00:00 2001 From: FidelusAleksander Date: Thu, 2 Oct 2025 14:18:32 +0000 Subject: [PATCH 13/36] Update Copilot Edit Mode theory --- .github/steps/3-copilot-edits.md | 31 +++++++++++++++++++------------ 1 file changed, 19 insertions(+), 12 deletions(-) diff --git a/.github/steps/3-copilot-edits.md b/.github/steps/3-copilot-edits.md index 9dd13aa..3e3ddc5 100644 --- a/.github/steps/3-copilot-edits.md +++ b/.github/steps/3-copilot-edits.md @@ -1,24 +1,31 @@ -## Step 3: Getting work done even _faster_ with Copilot Edits +## Step 3: Getting work done even _faster_ with Copilot Edit Mode -In our previous steps, we used features of Copilot that require more hands-on guidance and they produced mostly localized results. Now, we will explore Copilot Edits, a feature that allows working more holistically on our repo. +In our previous steps, we used features of Copilot that require more hands-on guidance and they produced mostly localized results. Now, we will explore Copilot **Edit Mode**, a feature that allows working more holistically on our repo. -[Copilot - Edit Mode](https://code.visualstudio.com/docs/copilot/copilot-edits) is an AI-powered code editing session to make changes across **multiple files** using **natural language**, and applies the edits directly in the editor, where you can review them in-place, with the full context of the surrounding code. +### 📖 Theory: Copilot Edit Mode -#### Key features +Copilot **Edit Mode** and **Agent Mode** both let you apply **natural‑language** driven changes across **multiple files**, however there are some differences between them. + +In this step we will focus on **Edit Mode** and explore **Agent Mode** in the next step. + + +#### When to use Edit Mode + +Edit Mode is best used for **well defined** tasks where you **know the scope** of the needed changes. + +Edit Mode is not ideal for **vague, exploratory, or multi‑phase tasks** +> In the next step you will see that Agent Mode works better in those scenarios -- **Multi-file Editing**: Copilot Edits can make changes across multiple files in your workspace. -- **Iterative Workflow**: Designed for fast iteration, allowing you to review, accept, or discard AI-generated code. -- **In-place Edits**: Shows generated code directly in your editor, providing a code review-like flow. -- **Working Set**: Allows you to define which files the edits should be applied to. #### How it works -1. **Set Context**: Select files to be in the working set. -1. **Provide Instructions**: Use natural language to describe the required changes. +1. **Set Context**: Select files that Copilot should consider in it's changes +1. **Prompt Copilot**: Use natural language to describe the required changes. 1. **Review Changes**: See proposed changes in-place in your code. 1. **Accept or Discard**: Review each suggested edit and choose which to keep. 1. **Iterate**: If needed, provide follow-up instructions to refine the changes. + ### :keyboard: Activity: Use Copilot to add a new feature! :rocket: 1. If the Copilot Chat panel is not visible, please reopen it. @@ -55,9 +62,9 @@ In our previous steps, we used features of Copilot that require more hands-on gu
Need help? 🤷
- Remember, to add the relevant files to the working set. + Remember to add the relevant context files (drag them in or use Add Context...). - ![screenshot of working set](https://github.com/user-attachments/assets/d3eadc8e-583e-4a28-9e82-be128eab843b) + ![screenshot of context files list](https://github.com/user-attachments/assets/d3eadc8e-583e-4a28-9e82-be128eab843b)
From f564ef28120c21631d6a00fd3f267741aab78225 Mon Sep 17 00:00:00 2001 From: FidelusAleksander Date: Thu, 2 Oct 2025 14:38:16 +0000 Subject: [PATCH 14/36] fix: improve clarity on Edit Mode usage and workflow --- .github/steps/3-copilot-edits.md | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/.github/steps/3-copilot-edits.md b/.github/steps/3-copilot-edits.md index 3e3ddc5..cbdab70 100644 --- a/.github/steps/3-copilot-edits.md +++ b/.github/steps/3-copilot-edits.md @@ -8,16 +8,20 @@ Copilot **Edit Mode** and **Agent Mode** both let you apply **natural‑language In this step we will focus on **Edit Mode** and explore **Agent Mode** in the next step. - -#### When to use Edit Mode - Edit Mode is best used for **well defined** tasks where you **know the scope** of the needed changes. -Edit Mode is not ideal for **vague, exploratory, or multi‑phase tasks** -> In the next step you will see that Agent Mode works better in those scenarios +#### How Edit Mode works +```mermaid +flowchart LR + A[Select Context Files] --> B[Prompt Copilot] + B --> C[Proposed Changes] + C --> D{Review Change} + D --> E[Accept] + D --> F[Discard] + D -->|Refine Prompt| B -#### How it works +``` 1. **Set Context**: Select files that Copilot should consider in it's changes 1. **Prompt Copilot**: Use natural language to describe the required changes. @@ -25,10 +29,11 @@ Edit Mode is not ideal for **vague, exploratory, or multi‑phase tasks** 1. **Accept or Discard**: Review each suggested edit and choose which to keep. 1. **Iterate**: If needed, provide follow-up instructions to refine the changes. - ### :keyboard: Activity: Use Copilot to add a new feature! :rocket: -1. If the Copilot Chat panel is not visible, please reopen it. +Our website lists activities, but it's keeping the guest list secret 🤫 + +Let's use Copilot to change the website to display signed up students under each activity! 1. At the bottom of Copilot Chat window, use the dropdown to switch to **Edit** mode. @@ -92,11 +97,6 @@ Edit Mode is not ideal for **vague, exploratory, or multi‑phase tasks** 1. Wait a moment for Mona to check your work, provide feedback, and share the final lesson. Almost done! -1. (optional) If you would like an ungraded bonus step to briefly introduce Agent mode, **add an issue comment** asking **@professortocat** about Copilot Agent mode. 🚀 - - ```txt - Hey @professortocat, Agent mode sounds pretty cool. Can you please tell me more about it? - ```
Having trouble? 🤷
From 1e71ea99047134609d0360fc50f2be7ef2ee1df8 Mon Sep 17 00:00:00 2001 From: FidelusAleksander Date: Thu, 2 Oct 2025 14:48:32 +0000 Subject: [PATCH 15/36] feat: add Copilot Agent Mode and update workflow configurations --- ...-agent-mode.md => 4-copilot-agent-mode.md} | 39 ++++++++--- ...ot-on-github.md => 5-copilot-on-github.md} | 0 .github/steps/x-review.md | 1 + .github/workflows/3-copilot-edits.yml | 2 +- .github/workflows/3b-copilot-agent-mode.yml | 64 ----------------- .github/workflows/4-copilot-agent-mode.yml | 70 +++++++++++++++++++ ...-on-github.yml => 5-copilot-on-github.yml} | 2 +- 7 files changed, 104 insertions(+), 74 deletions(-) rename .github/steps/{3b-copilot-agent-mode.md => 4-copilot-agent-mode.md} (67%) rename .github/steps/{4-copilot-on-github.md => 5-copilot-on-github.md} (100%) delete mode 100644 .github/workflows/3b-copilot-agent-mode.yml create mode 100644 .github/workflows/4-copilot-agent-mode.yml rename .github/workflows/{4-copilot-on-github.yml => 5-copilot-on-github.yml} (98%) diff --git a/.github/steps/3b-copilot-agent-mode.md b/.github/steps/4-copilot-agent-mode.md similarity index 67% rename from .github/steps/3b-copilot-agent-mode.md rename to .github/steps/4-copilot-agent-mode.md index 0f837b6..41644ef 100644 --- a/.github/steps/3b-copilot-agent-mode.md +++ b/.github/steps/4-copilot-agent-mode.md @@ -1,18 +1,41 @@ ### :keyboard: Bonus Activity - GitHub Copilot Agent Mode -> [!NOTE] -> This activity is optional and not graded. +> 🪧 **Note:** This bonus activity is optional and not graded. -### What is "Agent" Mode? +### 📖 Theory: What is Copilot Agent Mode? -**Agent** mode enhances Copilot by automatically providing it feedback, typically the types of feedback you would provide after reviewing Copilot's suggested edits. +Copilot **Agent Mode** extends beyond single-pass edits: it can plan, execute, inspect results (including build/terminal output), and iteratively refine its own work without you re‑prompting each micro-step. -**Agent** mode gives Copilot a feedback loop, enabling it to inspect its own results for issues, bugs, inconsistency, etc. in the code and even the terminal! This allows it to automatically revise its work in many situations. Similarly this means **Agent** mode can -typically handle more complex and multi-step tasks. +**How it differs from Edit Mode** (at a glance): -That's just a brief intro and there is much more to learn, but that's for a dedicated future exercise. (hint) +| Ask / Inline Chat | Edit Mode | Agent Mode | +| ------------------- | ------------------------------- | --------------------------------------- | +| One answer/snippet | Multi‑file patch (single cycle) | Multi‑step adaptive workflow | +| You curate context | You supply context files | Agent may add/read files & run commands | +| No self‑review loop | Minimal implicit review | Explicit feedback & retry loop | -Now, let's give **Agent** mode a try! 👩‍🚀 +#### Key capabilities + +- Feedback loop: can detect errors or incomplete changes and attempt fixes automatically. +- Multi-step reasoning: chains several edit + verify cycles toward a broader goal. +- Tool usage: may run commands / examine terminal output (depending on your environment & permissions). +- Cross-file consistency: attempts to coordinate backend + frontend or related modules. + +#### Good use cases + +- Coordinated refactors (model + route + tests) +- Adding “glue” code across layers +- Resolving a bug that requires reading logs or compiler errors + +#### Limitations / cautions + +- Can produce more changes than you expect—always review the diff before keeping. +- Longer runs may drift; give it concise, outcome-focused follow-ups (“The API returns 500; inspect server logs and fix”). +- Side-effectful commands (like installing services) may fail or leave partial state—treat them as experiments. + +> 💡 **Tip:** If Agent Mode starts to feel “lost,” stop, accept/undo what’s useful, and start a fresh Agent session with a clearer goal. + +Now, let's give **Agent Mode** a try! 👩‍🚀 ### :keyboard: Activity: Use Agent mode to add functional "unregister" buttons diff --git a/.github/steps/4-copilot-on-github.md b/.github/steps/5-copilot-on-github.md similarity index 100% rename from .github/steps/4-copilot-on-github.md rename to .github/steps/5-copilot-on-github.md diff --git a/.github/steps/x-review.md b/.github/steps/x-review.md index 96e5dbf..e029f79 100644 --- a/.github/steps/x-review.md +++ b/.github/steps/x-review.md @@ -6,6 +6,7 @@ _Congratulations, you've completed this exercise and learned a lot about GitHub Here's a recap of your accomplishments: + - Set up your GitHub Codespace and environment. - Learned how to use Copilot inline suggestions, Chat, and Edits. - Used Copilot to generate commit messages and pull request summaries. diff --git a/.github/workflows/3-copilot-edits.yml b/.github/workflows/3-copilot-edits.yml index cdc33e6..14955e4 100644 --- a/.github/workflows/3-copilot-edits.yml +++ b/.github/workflows/3-copilot-edits.yml @@ -13,7 +13,7 @@ permissions: issues: write env: - STEP_4_FILE: ".github/steps/4-copilot-on-github.md" + STEP_4_FILE: ".github/steps/4-copilot-agent-mode.md" jobs: find_exercise: diff --git a/.github/workflows/3b-copilot-agent-mode.yml b/.github/workflows/3b-copilot-agent-mode.yml deleted file mode 100644 index f531107..0000000 --- a/.github/workflows/3b-copilot-agent-mode.yml +++ /dev/null @@ -1,64 +0,0 @@ -name: Step 3b # Copilot Agent Mode - -on: - issue_comment: - types: [created] - -permissions: - contents: read - actions: write - issues: write - -env: - # Keywords required in the issue comment to allow this workflow to run - STEP_3B_FILE: ".github/steps/3b-copilot-agent-mode.md" - -jobs: - check_keywords: - name: Check issue comment text for required keyword - runs-on: ubuntu-latest - steps: - - name: Check for professortocat reference - id: check_professortocat - uses: skills/action-keyphrase-checker@v1 - with: - text: ${{ github.event.comment.body }} - keyphrase: "professortocat" - case-sensitive: false - minimum-occurrences: 1 - - name: Check for alert reference - id: check_alert - uses: skills/action-keyphrase-checker@v1 - with: - text: ${{ github.event.comment.body }} - keyphrase: "agent" - case-sensitive: false - minimum-occurrences: 1 - - find_exercise: - name: Find Exercise Issue - uses: skills/exercise-toolkit/.github/workflows/find-exercise-issue.yml@v0.7.0 - - post_next_step_content: - name: Post next step content - needs: [find_exercise, check_keywords] - runs-on: ubuntu-latest - env: - ISSUE_URL: ${{ needs.find_exercise.outputs.issue-url }} - - steps: - - name: Checkout - uses: actions/checkout@v4 - - - name: Create comment - add step content - uses: GrantBirki/comment@v2.1.1 - with: - repository: ${{ env.ISSUE_REPOSITORY }} - issue-number: ${{ env.ISSUE_NUMBER }} - file: ${{ env.STEP_3B_FILE }} - - - name: Disable current workflow - run: | - gh workflow disable "${{github.workflow}}" - env: - GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/4-copilot-agent-mode.yml b/.github/workflows/4-copilot-agent-mode.yml new file mode 100644 index 0000000..26c0497 --- /dev/null +++ b/.github/workflows/4-copilot-agent-mode.yml @@ -0,0 +1,70 @@ +name: Step 4 # Copilot Agent Mode + +on: + push: + branches: + - "accelerate-with-copilot" + paths: + - "src/static/**" + +permissions: + contents: read + actions: write + issues: write + +env: + STEP_5_FILE: ".github/steps/5-copilot-on-github.md" + +jobs: + find_exercise: + name: Find Exercise Issue + uses: skills/exercise-toolkit/.github/workflows/find-exercise-issue.yml@v0.7.0 + + post_next_step_content: + name: Post next step content + needs: [find_exercise] + runs-on: ubuntu-latest + env: + ISSUE_REPOSITORY: ${{ github.repository }} + ISSUE_NUMBER: ${{ needs.find_exercise.outputs.issue-number }} + + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Get response templates + uses: actions/checkout@v4 + with: + repository: skills/exercise-toolkit + path: exercise-toolkit + ref: v0.7.0 + + - name: Create comment - step finished + uses: GrantBirki/comment@v2.1.1 + with: + repository: ${{ env.ISSUE_REPOSITORY }} + issue-number: ${{ env.ISSUE_NUMBER }} + file: exercise-toolkit/markdown-templates/step-feedback/step-finished-prepare-next-step.md + vars: | + next_step_number: 5 + + - name: Create comment - add step content + uses: GrantBirki/comment@v2.1.1 + with: + repository: ${{ env.ISSUE_REPOSITORY }} + issue-number: ${{ env.ISSUE_NUMBER }} + file: ${{ env.STEP_4_FILE }} + + - name: Create comment - watching for progress + uses: GrantBirki/comment@v2.1.1 + with: + repository: ${{ env.ISSUE_REPOSITORY }} + issue-number: ${{ env.ISSUE_NUMBER }} + file: exercise-toolkit/markdown-templates/step-feedback/watching-for-progress.md + + - name: Disable current workflow and enable next one + run: | + gh workflow disable "${{github.workflow}}" + gh workflow enable "Step 5" + env: + GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/4-copilot-on-github.yml b/.github/workflows/5-copilot-on-github.yml similarity index 98% rename from .github/workflows/4-copilot-on-github.yml rename to .github/workflows/5-copilot-on-github.yml index 46e0f62..71abd54 100644 --- a/.github/workflows/4-copilot-on-github.yml +++ b/.github/workflows/5-copilot-on-github.yml @@ -1,4 +1,4 @@ -name: Step 4 # Copilot on GitHub +name: Step 5 # Copilot on GitHub on: pull_request: From 0ffbbcfad5ee0b577ba6cd8f6dab2e52d79917a3 Mon Sep 17 00:00:00 2001 From: FidelusAleksander Date: Fri, 3 Oct 2025 08:34:14 +0000 Subject: [PATCH 16/36] refactor: update Copilot Agent Mode section for clarity and structure --- .github/steps/4-copilot-agent-mode.md | 46 ++++++++++++--------------- 1 file changed, 20 insertions(+), 26 deletions(-) diff --git a/.github/steps/4-copilot-agent-mode.md b/.github/steps/4-copilot-agent-mode.md index 41644ef..3efa9ce 100644 --- a/.github/steps/4-copilot-agent-mode.md +++ b/.github/steps/4-copilot-agent-mode.md @@ -1,39 +1,33 @@ -### :keyboard: Bonus Activity - GitHub Copilot Agent Mode - -> 🪧 **Note:** This bonus activity is optional and not graded. +## Step 4: Engage Hyperdrive - Copilot Agent Mode 🚀 ### 📖 Theory: What is Copilot Agent Mode? -Copilot **Agent Mode** extends beyond single-pass edits: it can plan, execute, inspect results (including build/terminal output), and iteratively refine its own work without you re‑prompting each micro-step. - -**How it differs from Edit Mode** (at a glance): +Copilot [agent mode](https://code.visualstudio.com/docs/copilot/chat/chat-agent-mode) is the next evolution in AI-assisted coding. Acting as an autonomous peer programmer, it performs multi-step coding tasks at your command. -| Ask / Inline Chat | Edit Mode | Agent Mode | -| ------------------- | ------------------------------- | --------------------------------------- | -| One answer/snippet | Multi‑file patch (single cycle) | Multi‑step adaptive workflow | -| You curate context | You supply context files | Agent may add/read files & run commands | -| No self‑review loop | Minimal implicit review | Explicit feedback & retry loop | +Copilot Agent Mode responds to compile and lint errors, monitors terminal and test output, and auto-corrects in a loop until the task is completed. -#### Key capabilities +#### Edit Mode vs Agent Mode (at a glance) -- Feedback loop: can detect errors or incomplete changes and attempt fixes automatically. -- Multi-step reasoning: chains several edit + verify cycles toward a broader goal. -- Tool usage: may run commands / examine terminal output (depending on your environment & permissions). -- Cross-file consistency: attempts to coordinate backend + frontend or related modules. +| Aspect | ✏️ Edit Mode | 👩‍🚀 Agent Mode | +| -------------- | --------------------------------- | -------------------------------------------------------------------------------- | +| Context scope | Only the files you explicitly add | May read/add additional files & surfaces as needed | +| Self‑review | Minimal (you drive iteration) | Built‑in feedback & retry loop on errors/failures | +| Change scope | Highly scoped & surgical | Broader; may touch related layers for consistency | +| When to choose | You know exactly what to change | Goal is broader or uncertain; requires exploration | +| Tool calling | None (you run commands manually) | Can invoke tools (read/edit files, run commands, inspect terminal & test output) | -#### Good use cases +#### 🧰 Agent Mode Tools -- Coordinated refactors (model + route + tests) -- Adding “glue” code across layers -- Resolving a bug that requires reading logs or compiler errors +Agent mode uses tools to accomplish specialized tasks while processing a user request. Examples of such tasks are: -#### Limitations / cautions +- Finding relevant files to complete your prompt +- Fetching contents of a webpage +- Running tests or terminal commands -- Can produce more changes than you expect—always review the diff before keeping. -- Longer runs may drift; give it concise, outcome-focused follow-ups (“The API returns 500; inspect server logs and fix”). -- Side-effectful commands (like installing services) may fail or leave partial state—treat them as experiments. - -> 💡 **Tip:** If Agent Mode starts to feel “lost,” stop, accept/undo what’s useful, and start a fresh Agent session with a clearer goal. +> [!TIP] +> While VS Code provides many built‑in tools you can also provide Agent Mode more domain‑specific powers through **MCP tools**. +> +> Read more on [MCP servers](https://code.visualstudio.com/docs/copilot/customization/mcp-servers) and [GitHub MCP Server](https://github.com/github/github-mcp-server) Now, let's give **Agent Mode** a try! 👩‍🚀 From 37592baffcc661ba4fc1e5a1b2083679fd4c06fd Mon Sep 17 00:00:00 2001 From: FidelusAleksander Date: Fri, 3 Oct 2025 08:56:55 +0000 Subject: [PATCH 17/36] fix: clarify instructions for using Agent Mode and refine activity prompts --- .github/steps/4-copilot-agent-mode.md | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/.github/steps/4-copilot-agent-mode.md b/.github/steps/4-copilot-agent-mode.md index 3efa9ce..269c216 100644 --- a/.github/steps/4-copilot-agent-mode.md +++ b/.github/steps/4-copilot-agent-mode.md @@ -33,11 +33,18 @@ Now, let's give **Agent Mode** a try! 👩‍🚀 ### :keyboard: Activity: Use Agent mode to add functional "unregister" buttons -Let's experiment with some more open-ended requests that will add more functionality to our web application. Remember, AI assistants often produce different results, even if the same prompt is provided. If you don't get the desired results, you can try other models or provided followup feedback to refine the results. +Let's experiment with some more open-ended requests that will add more functionality to our web application. + +If you don't get the desired results, you can try other models or provided followup feedback to refine the results. 1. Open the **Copilot** chat panel and use the dropdown menu to switch to **Agent** mode. - image + + + + +1. Click on the **Tools** icon and explore all Tools currently available to Copilot Agent Mode. + 1. Time for our test! Let's ask Copilot to add functionality for removing participants. @@ -48,8 +55,8 @@ Let's experiment with some more open-ended requests that will add more functiona > When clicked, it will unregister that participant from the activity. > ``` - - If you try this prompt in **Edit** mode, you will probably find that the changes to the frontend and backend were made in a theoretical way. Although no syntax or runtime errors occurred, the changes were not compatible and didn't achieve the goal. - - In **Agent** mode, Copilot reviewed its own work and refined it to ensure all changes were error free and coordinated together. + > 🪧 **Note:** In this lab we explicitly include the `#codebase` tool to get the most repeatable results. + Feel free to try the prompt **without** `#codebase` and observe whether Agent Mode decides to gather broader project context on its own. 1. When Copilot is finished, restart the debugger and inspect the results. If you like the results, press the **Keep** button. If not, try providing Copilot some feedback to refined the results. @@ -58,12 +65,10 @@ Let's experiment with some more open-ended requests that will add more functiona > ![Static Badge](https://img.shields.io/badge/-Prompt-text?style=social&logo=github%20copilot) > > ```prompt - > #codebase I've noticed there seems to be a bug. + > I've noticed there seems to be a bug. > When a participant is registered, the page must be refreshed to see the change on the activity. > ``` - - If you try this prompt in **Edit** mode, it may or may not work. - 1. When Copilot is finished, inspect the results. If you like the results, press the **Keep** button. If not, try providing Copilot some feedback. ### :keyboard: Activity: Use Agent mode to change the database! 🧑‍🚀 From 9c74a6ab5b48b0a7a05fb0eaae32451321a7c8cb Mon Sep 17 00:00:00 2001 From: FidelusAleksander Date: Fri, 3 Oct 2025 09:32:33 +0000 Subject: [PATCH 18/36] Test step --- .github/steps/4-copilot-agent-mode.md | 41 ++++++++------------------- pytest.ini | 2 ++ 2 files changed, 14 insertions(+), 29 deletions(-) create mode 100644 pytest.ini diff --git a/.github/steps/4-copilot-agent-mode.md b/.github/steps/4-copilot-agent-mode.md index 269c216..b077517 100644 --- a/.github/steps/4-copilot-agent-mode.md +++ b/.github/steps/4-copilot-agent-mode.md @@ -55,8 +55,8 @@ If you don't get the desired results, you can try other models or provided follo > When clicked, it will unregister that participant from the activity. > ``` - > 🪧 **Note:** In this lab we explicitly include the `#codebase` tool to get the most repeatable results. - Feel free to try the prompt **without** `#codebase` and observe whether Agent Mode decides to gather broader project context on its own. + > 🪧 **Note:** In this lab we explicitly include the `#codebase` tool to get the most repeatable results. + > Feel free to try the prompt **without** `#codebase` and observe whether Agent Mode decides to gather broader project context on its own. 1. When Copilot is finished, restart the debugger and inspect the results. If you like the results, press the **Keep** button. If not, try providing Copilot some feedback to refined the results. @@ -71,40 +71,23 @@ If you don't get the desired results, you can try other models or provided follo 1. When Copilot is finished, inspect the results. If you like the results, press the **Keep** button. If not, try providing Copilot some feedback. -### :keyboard: Activity: Use Agent mode to change the database! 🧑‍🚀 +### :keyboard: Activity: Use Agent mode to get test coverage 🧑‍🚀 -Just for fun, let's try something even more difficult and open-ended to see what happens! +Your backend is now feature‑rich—but still has zero test coverage. Use Copilot **Agent Mode** to add test dependencies, scaffold starter tests and run them. -> [!TIP] -> In our experiments, we got working results most of the time, but not every time. -> You might try other models or pausing to provide Copilot feedback. - -1. (optional) If it is available for you, you might try another model such as `Claude 3.5 Sonnet`. - - image +1. Ask Copilot in **Agent mode** to set up and run tests for your backend. -1. Ask Copilot to install a local database service. - - > ![Static Badge](https://img.shields.io/badge/-Prompt-text?style=social&logo=github%20copilot) + > ![Static Badge](https://img.shields.io/badge/-Prompt-placeholder?style=social&logo=github%20copilot) > > ```prompt - > Please install a local mongodb server for development reasons. - > Afterward, run a command that lists the collections to verify the service is active and working. - > Do not modify our program yet. + > Add fastapi tests using pytest in a new tests directory and run them. + > Make sure to add any new dependencies to requirements.txt > ``` - - We purposely made the default development environment not ready for installing a local MongoDB server. - - You will see Copilot make mistakes, analyze the error messages, and ask to run various extra commands to make the environment suitable. Nice! +1. As Copilot works on your prompt, different tools might need your approval. -1. Ask Copilot to change our app to use the database service. 🤯 + **🎯 Goal: Get all tests passing (green) — aim for a clean run! ✅** - > ![Static Badge](https://img.shields.io/badge/-Prompt-text?style=social&logo=github%20copilot) - > - > ```prompt - > #codebase I don't like that we are storing the data in memory. - > Let's switch to using mongodb. - > For now use the local development instance. - > Please pre-populate the database with the existing hardcoded json activities, keeping the activity name as the key. - > ``` + > 🪧 **Note:** Copilot may one-shot this with the initial prompt or need more guidance from you. -1. That's your preview for now. We hope it was fun and please check back soon on the [Skills page](https://skills.github.com) for a dedicated exercise to explore even more of Agent Mode! 🧑‍🚀 🚀 +1. Once the tests are passing - **commit** and **push** all changes to your `accelerate-with-copilot` branch to get a final review from Mona! diff --git a/pytest.ini b/pytest.ini new file mode 100644 index 0000000..aaf283f --- /dev/null +++ b/pytest.ini @@ -0,0 +1,2 @@ +[pytest] +pythonpath = . From f3ffa07fb016a86d38087f595fff81e805e2909e Mon Sep 17 00:00:00 2001 From: FidelusAleksander Date: Fri, 3 Oct 2025 09:45:11 +0000 Subject: [PATCH 19/36] fix: correct step numbering and enhance recap of Copilot features --- .github/steps/5-copilot-on-github.md | 2 +- .github/steps/x-review.md | 14 ++++++++------ 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/.github/steps/5-copilot-on-github.md b/.github/steps/5-copilot-on-github.md index 6be015d..f21347e 100644 --- a/.github/steps/5-copilot-on-github.md +++ b/.github/steps/5-copilot-on-github.md @@ -1,4 +1,4 @@ -## Step 4: Using GitHub Copilot within a pull request +## Step 5: Using GitHub Copilot within a pull request Congratulations! You are finished with coding for this exercise (and VS Code). Now it's time to merge our work. :tada: To wrap up, let's learn about two limited-access Copilot features that can speed up our pull requests! diff --git a/.github/steps/x-review.md b/.github/steps/x-review.md index e029f79..7e1bc55 100644 --- a/.github/steps/x-review.md +++ b/.github/steps/x-review.md @@ -4,15 +4,17 @@ _Congratulations, you've completed this exercise and learned a lot about GitHub celebrate -Here's a recap of your accomplishments: +Here's a recap of the GitHub Copilot features you learned: - -- Set up your GitHub Codespace and environment. -- Learned how to use Copilot inline suggestions, Chat, and Edits. -- Used Copilot to generate commit messages and pull request summaries. -- Learned how to request Copilot to review your code. +- **Ask Mode**: Used @workspace to explore and understand your codebase +- **Inline suggestions**: Completed code with Tab acceptance +- **Inline Chat**: Generated code and data with Ctrl/Cmd + I +- **Edit Mode**: Made multi-file changes with targeted prompts +- **Agent Mode**: Built features and tests autonomously +- **GitHub integration**: Generated commit messages, PR summaries, and code reviews ### What's next? + - Check out the other [GitHub Skills exercises](https://learn.github.com/skills). - Learn how to [Integrate MCP with Copilot](https://github.com/skills/integrate-mcp-with-copilot) to give Copilot extra capabilities! - Tailor Copilot to your project needs in [Customize your GitHub Copilot Experience](https://github.com/skills/customize-your-github-copilot-experience) From 3d900b135767ef11accaf1415524f745d4c4c64b Mon Sep 17 00:00:00 2001 From: FidelusAleksander Date: Fri, 3 Oct 2025 09:49:15 +0000 Subject: [PATCH 20/36] fix: update permissions and enhance step checking workflow --- .github/workflows/4-copilot-agent-mode.yml | 86 +++++++++++++++++++++- 1 file changed, 83 insertions(+), 3 deletions(-) diff --git a/.github/workflows/4-copilot-agent-mode.yml b/.github/workflows/4-copilot-agent-mode.yml index 26c0497..d3699a9 100644 --- a/.github/workflows/4-copilot-agent-mode.yml +++ b/.github/workflows/4-copilot-agent-mode.yml @@ -8,7 +8,7 @@ on: - "src/static/**" permissions: - contents: read + contents: write actions: write issues: write @@ -20,9 +20,89 @@ jobs: name: Find Exercise Issue uses: skills/exercise-toolkit/.github/workflows/find-exercise-issue.yml@v0.7.0 + check_step_work: + name: Check step work + runs-on: ubuntu-latest + needs: [find_exercise] + env: + ISSUE_REPOSITORY: ${{ github.repository }} + ISSUE_NUMBER: ${{ needs.find_exercise.outputs.issue-number }} + + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Get response templates + uses: actions/checkout@v4 + with: + repository: skills/exercise-toolkit + path: exercise-toolkit + ref: v0.7.0 + + - name: Find last comment + id: find-last-comment + uses: peter-evans/find-comment@v3 + with: + repository: ${{ env.ISSUE_REPOSITORY }} + issue-number: ${{ env.ISSUE_NUMBER }} + direction: last + + - name: Update comment - checking work + uses: GrantBirki/comment@v2.1.1 + with: + repository: ${{ env.ISSUE_REPOSITORY }} + issue-number: ${{ env.ISSUE_NUMBER }} + comment-id: ${{ steps.find-last-comment.outputs.comment-id }} + file: exercise-toolkit/markdown-templates/step-feedback/checking-work.md + edit-mode: replace + + # START: Check practical exercise + + - name: Check for pytest keyphrase in requirements.txt + id: check-for-pytest + continue-on-error: true + uses: skills/action-keyphrase-checker@v1 + with: + text-file: requirements.txt + keyphrase: pytest + + - name: Check if tests directory exists + id: check-tests-dir + continue-on-error: true + run: | + if find . -name "tests" -type d | grep -q .; then + echo "Tests directory found" + exit 0 + else + echo "Tests directory not found" + exit 1 + fi + + - name: Update comment - step results + uses: GrantBirki/comment@v2.1.1 + with: + repository: ${{ env.ISSUE_REPOSITORY }} + issue-number: ${{ env.ISSUE_NUMBER }} + comment-id: ${{ steps.find-last-comment.outputs.comment-id }} + edit-mode: replace + file: exercise-toolkit/markdown-templates/step-feedback/step-results-table.md + vars: | + step_number: 4 + results_table: + - description: "Checked for pytest in requirements.txt" + passed: ${{ steps.check-for-pytest.outcome == 'success' }} + - description: "Checked if tests are added in a separate directory" + passed: ${{ steps.check-tests-dir.outcome == 'success' }} + + # END: Check practical exercise + + - name: Fail job if not all checks passed + if: contains(steps.*.outcome, 'failure') + run: exit 1 + post_next_step_content: name: Post next step content - needs: [find_exercise] + needs: [find_exercise, check_step_work] runs-on: ubuntu-latest env: ISSUE_REPOSITORY: ${{ github.repository }} @@ -53,7 +133,7 @@ jobs: with: repository: ${{ env.ISSUE_REPOSITORY }} issue-number: ${{ env.ISSUE_NUMBER }} - file: ${{ env.STEP_4_FILE }} + file: ${{ env.STEP_5_FILE }} - name: Create comment - watching for progress uses: GrantBirki/comment@v2.1.1 From a457aee757c1adaadef5842f1fbdad1555b2c913 Mon Sep 17 00:00:00 2001 From: FidelusAleksander Date: Fri, 3 Oct 2025 09:51:01 +0000 Subject: [PATCH 21/36] fix: update actions/checkout version to v5 in workflow files --- .github/workflows/1-preparing.yml | 4 ++-- .github/workflows/2-first-introduction.yml | 4 ++-- .github/workflows/3-copilot-edits.yml | 4 ++-- .github/workflows/4-copilot-agent-mode.yml | 10 +++++----- 4 files changed, 11 insertions(+), 11 deletions(-) diff --git a/.github/workflows/1-preparing.yml b/.github/workflows/1-preparing.yml index 1717df5..b933933 100644 --- a/.github/workflows/1-preparing.yml +++ b/.github/workflows/1-preparing.yml @@ -99,10 +99,10 @@ jobs: steps: - name: Checkout - uses: actions/checkout@v4 + uses: actions/checkout@v5 - name: Get response templates - uses: actions/checkout@v4 + uses: actions/checkout@v5 with: repository: skills/exercise-toolkit path: exercise-toolkit diff --git a/.github/workflows/2-first-introduction.yml b/.github/workflows/2-first-introduction.yml index 412f3f2..0662562 100644 --- a/.github/workflows/2-first-introduction.yml +++ b/.github/workflows/2-first-introduction.yml @@ -96,10 +96,10 @@ jobs: steps: - name: Checkout - uses: actions/checkout@v4 + uses: actions/checkout@v5 - name: Get response templates - uses: actions/checkout@v4 + uses: actions/checkout@v5 with: repository: skills/exercise-toolkit path: exercise-toolkit diff --git a/.github/workflows/3-copilot-edits.yml b/.github/workflows/3-copilot-edits.yml index 14955e4..5731b64 100644 --- a/.github/workflows/3-copilot-edits.yml +++ b/.github/workflows/3-copilot-edits.yml @@ -106,10 +106,10 @@ jobs: steps: - name: Checkout - uses: actions/checkout@v4 + uses: actions/checkout@v5 - name: Get response templates - uses: actions/checkout@v4 + uses: actions/checkout@v5 with: repository: skills/exercise-toolkit path: exercise-toolkit diff --git a/.github/workflows/4-copilot-agent-mode.yml b/.github/workflows/4-copilot-agent-mode.yml index d3699a9..31e8786 100644 --- a/.github/workflows/4-copilot-agent-mode.yml +++ b/.github/workflows/4-copilot-agent-mode.yml @@ -8,7 +8,7 @@ on: - "src/static/**" permissions: - contents: write + contents: read actions: write issues: write @@ -30,10 +30,10 @@ jobs: steps: - name: Checkout - uses: actions/checkout@v4 + uses: actions/checkout@v5 - name: Get response templates - uses: actions/checkout@v4 + uses: actions/checkout@v5 with: repository: skills/exercise-toolkit path: exercise-toolkit @@ -110,10 +110,10 @@ jobs: steps: - name: Checkout - uses: actions/checkout@v4 + uses: actions/checkout@v5 - name: Get response templates - uses: actions/checkout@v4 + uses: actions/checkout@v5 with: repository: skills/exercise-toolkit path: exercise-toolkit From 48fe6b85a950f4f10115f3dc45c6c2f62b62e181 Mon Sep 17 00:00:00 2001 From: Aleksander Fidelus <63016446+FidelusAleksander@users.noreply.github.com> Date: Fri, 3 Oct 2025 11:56:13 +0200 Subject: [PATCH 22/36] Add screenshots --- .github/steps/4-copilot-agent-mode.md | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/.github/steps/4-copilot-agent-mode.md b/.github/steps/4-copilot-agent-mode.md index b077517..4f086f3 100644 --- a/.github/steps/4-copilot-agent-mode.md +++ b/.github/steps/4-copilot-agent-mode.md @@ -39,12 +39,13 @@ If you don't get the desired results, you can try other models or provided follo 1. Open the **Copilot** chat panel and use the dropdown menu to switch to **Agent** mode. - - + agent mode 1. Click on the **Tools** icon and explore all Tools currently available to Copilot Agent Mode. - + + tools icon + 1. Time for our test! Let's ask Copilot to add functionality for removing participants. From 77e2be76e8cf528421a9d92f5636d36219beb643 Mon Sep 17 00:00:00 2001 From: FidelusAleksander Date: Fri, 3 Oct 2025 09:56:46 +0000 Subject: [PATCH 23/36] Remove paths filter from agent mode step trigger --- .github/workflows/4-copilot-agent-mode.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/.github/workflows/4-copilot-agent-mode.yml b/.github/workflows/4-copilot-agent-mode.yml index 31e8786..48498c0 100644 --- a/.github/workflows/4-copilot-agent-mode.yml +++ b/.github/workflows/4-copilot-agent-mode.yml @@ -4,8 +4,6 @@ on: push: branches: - "accelerate-with-copilot" - paths: - - "src/static/**" permissions: contents: read From ad52d02b8380ca57328bb274a10e988ee048898b Mon Sep 17 00:00:00 2001 From: FidelusAleksander Date: Fri, 3 Oct 2025 12:38:33 +0000 Subject: [PATCH 24/36] fix: update lesson prompts for clarity in Copilot steps --- .github/steps/3-copilot-edits.md | 2 +- .github/steps/4-copilot-agent-mode.md | 2 +- .github/steps/5-copilot-on-github.md | 6 ++++-- 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/.github/steps/3-copilot-edits.md b/.github/steps/3-copilot-edits.md index cbdab70..c9be35c 100644 --- a/.github/steps/3-copilot-edits.md +++ b/.github/steps/3-copilot-edits.md @@ -95,7 +95,7 @@ Let's use Copilot to change the website to display signed up students under each 1. With our new feature complete, please **commit** and **push** the changes to GitHub. -1. Wait a moment for Mona to check your work, provide feedback, and share the final lesson. Almost done! +1. Wait a moment for Mona to check your work, provide feedback, and share the next lesson.
diff --git a/.github/steps/4-copilot-agent-mode.md b/.github/steps/4-copilot-agent-mode.md index 4f086f3..5dccd1f 100644 --- a/.github/steps/4-copilot-agent-mode.md +++ b/.github/steps/4-copilot-agent-mode.md @@ -91,4 +91,4 @@ Your backend is now feature‑rich—but still has zero test coverage. Use Copil > 🪧 **Note:** Copilot may one-shot this with the initial prompt or need more guidance from you. -1. Once the tests are passing - **commit** and **push** all changes to your `accelerate-with-copilot` branch to get a final review from Mona! +1. Once the tests are passing - **commit** and **push** all changes to your `accelerate-with-copilot` branch to progress to the last step! Almost done! diff --git a/.github/steps/5-copilot-on-github.md b/.github/steps/5-copilot-on-github.md index f21347e..d17fc79 100644 --- a/.github/steps/5-copilot-on-github.md +++ b/.github/steps/5-copilot-on-github.md @@ -2,6 +2,8 @@ Congratulations! You are finished with coding for this exercise (and VS Code). Now it's time to merge our work. :tada: To wrap up, let's learn about two limited-access Copilot features that can speed up our pull requests! +### 📖 Theory: GitHub Copilot for pull requests + #### Copilot pull request summaries Typically, you would review your notes and commit messages then summarize them for your pull request description. This may take some time, especially if commit messages are inconsistent or code is not documented well. Fortunately, Copilot can consider all changes in the pull request and provide the important highlights, and with references too! @@ -26,9 +28,9 @@ Both **Copilot pull request summaries** and **Copilot code review** have limited - **base:** `main` - **compare:** `accelerate-with-copilot` - - **title:** `Add registration validation and more activities` + - **title:** `Improve student activity registration system` -1. (Optional) In the **Add a description** area, enter edit mode if needed, then click the **Copilot actions** icon and **Summary** action. After a moment, Copilot will add a description. :memo: +1. (Optional) In the PR description toolbar click the **Copilot** icon and **Summary** action. After a moment, Copilot will add a description based on your changes. :memo: Copilot summarize button From 835e13c66b35d6103bc4d0827d74e7dc3740b610 Mon Sep 17 00:00:00 2001 From: FidelusAleksander Date: Fri, 3 Oct 2025 12:39:31 +0000 Subject: [PATCH 25/36] Bump finish-exercise version --- .github/workflows/5-copilot-on-github.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/5-copilot-on-github.yml b/.github/workflows/5-copilot-on-github.yml index 71abd54..25925e3 100644 --- a/.github/workflows/5-copilot-on-github.yml +++ b/.github/workflows/5-copilot-on-github.yml @@ -61,7 +61,7 @@ jobs: finish_exercise: name: Finish Exercise needs: [find_exercise, post_review_content] - uses: skills/exercise-toolkit/.github/workflows/finish-exercise.yml@v0.7.0 + uses: skills/exercise-toolkit/.github/workflows/finish-exercise.yml@v0.7.1 with: issue-url: ${{ needs.find_exercise.outputs.issue-url }} exercise-title: "Getting Started with GitHub Copilot" From 55e98e8aacb4b5547db8eff24bf08dcf64c57ea9 Mon Sep 17 00:00:00 2001 From: FidelusAleksander Date: Fri, 3 Oct 2025 12:43:19 +0000 Subject: [PATCH 26/36] Remove notes from workflows --- .github/workflows/1-preparing.yml | 2 +- .github/workflows/2-first-introduction.yml | 3 +-- .github/workflows/3-copilot-edits.yml | 2 +- .github/workflows/4-copilot-agent-mode.yml | 2 +- .github/workflows/5-copilot-on-github.yml | 2 +- 5 files changed, 5 insertions(+), 6 deletions(-) diff --git a/.github/workflows/1-preparing.yml b/.github/workflows/1-preparing.yml index b933933..dd57c15 100644 --- a/.github/workflows/1-preparing.yml +++ b/.github/workflows/1-preparing.yml @@ -1,4 +1,4 @@ -name: Step 1 # Preparing to make your extension +name: Step 1 on: push: diff --git a/.github/workflows/2-first-introduction.yml b/.github/workflows/2-first-introduction.yml index 0662562..5335f6d 100644 --- a/.github/workflows/2-first-introduction.yml +++ b/.github/workflows/2-first-introduction.yml @@ -1,5 +1,4 @@ -name: Step 2 # Copilot chat - +name: Step 2 on: push: branches: diff --git a/.github/workflows/3-copilot-edits.yml b/.github/workflows/3-copilot-edits.yml index 5731b64..1686627 100644 --- a/.github/workflows/3-copilot-edits.yml +++ b/.github/workflows/3-copilot-edits.yml @@ -1,4 +1,4 @@ -name: Step 3 # Copilot edits +name: Step 3 on: push: diff --git a/.github/workflows/4-copilot-agent-mode.yml b/.github/workflows/4-copilot-agent-mode.yml index 48498c0..dd11dee 100644 --- a/.github/workflows/4-copilot-agent-mode.yml +++ b/.github/workflows/4-copilot-agent-mode.yml @@ -1,4 +1,4 @@ -name: Step 4 # Copilot Agent Mode +name: Step 4 on: push: diff --git a/.github/workflows/5-copilot-on-github.yml b/.github/workflows/5-copilot-on-github.yml index 25925e3..84b546f 100644 --- a/.github/workflows/5-copilot-on-github.yml +++ b/.github/workflows/5-copilot-on-github.yml @@ -1,4 +1,4 @@ -name: Step 5 # Copilot on GitHub +name: Step 5 on: pull_request: From 568adcde3d4cdda2a715f74952eaeeea6102ecbd Mon Sep 17 00:00:00 2001 From: FidelusAleksander Date: Fri, 3 Oct 2025 12:46:30 +0000 Subject: [PATCH 27/36] Explain codebase tool --- .github/steps/4-copilot-agent-mode.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/steps/4-copilot-agent-mode.md b/.github/steps/4-copilot-agent-mode.md index 5dccd1f..acdaac5 100644 --- a/.github/steps/4-copilot-agent-mode.md +++ b/.github/steps/4-copilot-agent-mode.md @@ -39,11 +39,10 @@ If you don't get the desired results, you can try other models or provided follo 1. Open the **Copilot** chat panel and use the dropdown menu to switch to **Agent** mode. - agent mode 1. Click on the **Tools** icon and explore all Tools currently available to Copilot Agent Mode. - + tools icon @@ -56,6 +55,8 @@ If you don't get the desired results, you can try other models or provided follo > When clicked, it will unregister that participant from the activity. > ``` + The `#codebase` tool is used by Copilot to find relevant files, code chunks that are relevant to the task at hand. + > 🪧 **Note:** In this lab we explicitly include the `#codebase` tool to get the most repeatable results. > Feel free to try the prompt **without** `#codebase` and observe whether Agent Mode decides to gather broader project context on its own. From 1fbf99a5a37048f06e90a07ad716a18f161d1718 Mon Sep 17 00:00:00 2001 From: Aleksander Fidelus <63016446+FidelusAleksander@users.noreply.github.com> Date: Fri, 3 Oct 2025 15:35:01 +0200 Subject: [PATCH 28/36] Rename lesson to exercise Updated wording from 'lesson' to 'exercise' for clarity. --- .github/steps/5-copilot-on-github.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/steps/5-copilot-on-github.md b/.github/steps/5-copilot-on-github.md index d17fc79..337ce9b 100644 --- a/.github/steps/5-copilot-on-github.md +++ b/.github/steps/5-copilot-on-github.md @@ -42,4 +42,4 @@ Both **Copilot pull request summaries** and **Copilot code review** have limited 1. At the bottom, press the **Merge pull request** button. Nice work! You are all done! :tada: -1. Wait a moment for Mona to check your work, provide feedback, and post a final review of this lesson! +1. Wait a moment for Mona to check your work, provide feedback, and post a final review of this exercise! From a196656538e696efcff15566b66791be27c45cf7 Mon Sep 17 00:00:00 2001 From: Aleksander Fidelus <63016446+FidelusAleksander@users.noreply.github.com> Date: Fri, 3 Oct 2025 15:38:17 +0200 Subject: [PATCH 29/36] Revise Copilot features and access notes Updated notes on Copilot features and access limitations. --- .github/steps/5-copilot-on-github.md | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/.github/steps/5-copilot-on-github.md b/.github/steps/5-copilot-on-github.md index 337ce9b..e9f6bc8 100644 --- a/.github/steps/5-copilot-on-github.md +++ b/.github/steps/5-copilot-on-github.md @@ -8,19 +8,16 @@ Congratulations! You are finished with coding for this exercise (and VS Code). N Typically, you would review your notes and commit messages then summarize them for your pull request description. This may take some time, especially if commit messages are inconsistent or code is not documented well. Fortunately, Copilot can consider all changes in the pull request and provide the important highlights, and with references too! -> [!NOTE] -> This feature is not available in **GitHub Copilot Free**. [[docs]](https://docs.github.com/en/enterprise-cloud@latest/copilot/using-github-copilot/using-github-copilot-for-pull-requests/creating-a-pull-request-summary-with-github-copilot) - #### Copilot code review More eyes on our work is always useful so let's ask Copilot to do a first pass before we do a normal peer review process. Copilot is great at catching common mistakes that are fixed by simple adjustments, but please remember to use it responsibly. > [!NOTE] -> This feature is not available in **GitHub Copilot Free**. [[docs]](https://docs.github.com/en/copilot/using-github-copilot/code-review/using-copilot-code-review) +> Unfortunately both features are not available in **GitHub Copilot Free**. [[docs]](https://docs.github.com/en/copilot/using-github-copilot/code-review/using-copilot-code-review) ### :keyboard: Activity: Summarize and review a PR with Copilot -Both **Copilot pull request summaries** and **Copilot code review** have limited access, so this activity is mostly optional. If you have access, go ahead and try them though! If not, you can skip the optional steps. +Both **Copilot pull request summaries** and **Copilot code review** have limited access, so this activity is mostly optional. If you don't have access, skip the optional steps of this activity. 1. In a web browser, open another tab and navigate to your exercise repository. @@ -32,7 +29,7 @@ Both **Copilot pull request summaries** and **Copilot code review** have limited 1. (Optional) In the PR description toolbar click the **Copilot** icon and **Summary** action. After a moment, Copilot will add a description based on your changes. :memo: - Copilot summarize button + Copilot summarize button 1. (Optional) In the right side information panel at the top, locate the **Reviewers** section and click the **Request** button next to a **Copilot icon**. Wait a moment for Copilot to add a review comment to your pull request! From 0eb359eb66a090dac2ef55c45a580875efebd140 Mon Sep 17 00:00:00 2001 From: Aleksander Fidelus <63016446+FidelusAleksander@users.noreply.github.com> Date: Fri, 3 Oct 2025 15:56:28 +0200 Subject: [PATCH 30/36] Update context section with image and clean up Added an image showing files added to context and removed help details. --- .github/steps/3-copilot-edits.md | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/.github/steps/3-copilot-edits.md b/.github/steps/3-copilot-edits.md index c9be35c..d39e0cf 100644 --- a/.github/steps/3-copilot-edits.md +++ b/.github/steps/3-copilot-edits.md @@ -45,6 +45,8 @@ Let's use Copilot to change the website to display signed up students under each - `src/static/index.html` - `src/static/styles.css` + image showing files added to context + > 💡 **Tip:** You can also use the **Add Context...** button to provide other sources of context items, like a GitHub issue, the entire codebase, or the results of a terminal window. 1. Ask Copilot to update our project to display the current participants of activities. Wait a moment for the edit suggestions to arrive and be applied. @@ -64,14 +66,6 @@ Let's use Copilot to change the website to display signed up students under each edit navigation panel -
- Need help? 🤷
- - Remember to add the relevant context files (drag them in or use Add Context...). - - ![screenshot of context files list](https://github.com/user-attachments/assets/d3eadc8e-583e-4a28-9e82-be128eab843b) - -
1. Before we simply accept the changes, please check our website again and verify everything is updated as expected. Here is an example of an updated activity card. You may need to restart the app or refresh the page. From ef5dbfbaeae740ac9a82cc6c2d549293e1faa593 Mon Sep 17 00:00:00 2001 From: Ari LiVigni Date: Fri, 3 Oct 2025 10:06:28 -0400 Subject: [PATCH 31/36] Apply suggestion from @Copilot Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --- .github/steps/4-copilot-agent-mode.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/steps/4-copilot-agent-mode.md b/.github/steps/4-copilot-agent-mode.md index acdaac5..84f9128 100644 --- a/.github/steps/4-copilot-agent-mode.md +++ b/.github/steps/4-copilot-agent-mode.md @@ -25,7 +25,7 @@ Agent mode uses tools to accomplish specialized tasks while processing a user re - Running tests or terminal commands > [!TIP] -> While VS Code provides many built‑in tools you can also provide Agent Mode more domain‑specific powers through **MCP tools**. +> While VS Code provides many built‑in tools, you can also provide Agent Mode more domain‑specific powers through **MCP tools**. > > Read more on [MCP servers](https://code.visualstudio.com/docs/copilot/customization/mcp-servers) and [GitHub MCP Server](https://github.com/github/github-mcp-server) From 9f6214809026f75df6be13c690ccb3e08f9eb352 Mon Sep 17 00:00:00 2001 From: Aleksander Fidelus <63016446+FidelusAleksander@users.noreply.github.com> Date: Fri, 3 Oct 2025 16:18:29 +0200 Subject: [PATCH 32/36] Update pytest.ini Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --- pytest.ini | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pytest.ini b/pytest.ini index aaf283f..a635c5c 100644 --- a/pytest.ini +++ b/pytest.ini @@ -1,2 +1,2 @@ -[pytest] +[pytest] pythonpath = . From f671337f9dee7e70b15d07ebddb7552996bd1b48 Mon Sep 17 00:00:00 2001 From: "Christopher W. Blake" Date: Mon, 6 Oct 2025 09:37:32 -0500 Subject: [PATCH 33/36] fix: button name --- .github/steps/1-preparing.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/steps/1-preparing.md b/.github/steps/1-preparing.md index 24d7836..3f7fe3d 100644 --- a/.github/steps/1-preparing.md +++ b/.github/steps/1-preparing.md @@ -52,7 +52,7 @@ Let's start up our development environment, use copilot to learn a bit about the python extension for VS Code -1. At the top of VS Code, locate and click the **Copilot Chat icon** to open a Copilot Chat side panel. +1. At the top of VS Code, locate and click the **Toggle Chat icon** to open a Copilot Chat side panel. image From d8d01e3f903129ec2e3ae44bd61a3d3e304f0f8b Mon Sep 17 00:00:00 2001 From: "Christopher W. Blake" Date: Mon, 6 Oct 2025 09:49:20 -0500 Subject: [PATCH 34/36] fix: different button name --- .github/steps/2-first-introduction.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/steps/2-first-introduction.md b/.github/steps/2-first-introduction.md index 31f74ac..85ac686 100644 --- a/.github/steps/2-first-introduction.md +++ b/.github/steps/2-first-introduction.md @@ -182,7 +182,7 @@ Nice work fixing that bug and expanding the example activities! Now let's get ou - Typically, you would write a short description of the changes here, but now we have Copilot to help out! -1. To the right of the **Message** text box, find and click the **Generate Commit Message with Copilot** button (sparkles icon). +1. To the right of the **Message** text box, find and click the **Generate Commit Message** button (sparkles icon). 1. Press the **Commit** button and **Sync Changes** button to push your changes to GitHub. From f087814690c0b9db173df858d230fc7ee9fcd436 Mon Sep 17 00:00:00 2001 From: "Christopher W. Blake" Date: Mon, 6 Oct 2025 10:27:49 -0500 Subject: [PATCH 35/36] docs: Adjust wording to mention paid tiers of copilot --- .github/steps/5-copilot-on-github.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/steps/5-copilot-on-github.md b/.github/steps/5-copilot-on-github.md index e9f6bc8..8111908 100644 --- a/.github/steps/5-copilot-on-github.md +++ b/.github/steps/5-copilot-on-github.md @@ -13,7 +13,7 @@ Typically, you would review your notes and commit messages then summarize them f More eyes on our work is always useful so let's ask Copilot to do a first pass before we do a normal peer review process. Copilot is great at catching common mistakes that are fixed by simple adjustments, but please remember to use it responsibly. > [!NOTE] -> Unfortunately both features are not available in **GitHub Copilot Free**. [[docs]](https://docs.github.com/en/copilot/using-github-copilot/code-review/using-copilot-code-review) +> These features are only available on paid plans of **GitHub Copilot**. [[docs]](https://docs.github.com/en/copilot/get-started/plans) ### :keyboard: Activity: Summarize and review a PR with Copilot From 39d090d1c8072b8b5497373480bd26e75f8d5a85 Mon Sep 17 00:00:00 2001 From: "Christopher W. Blake" Date: Mon, 6 Oct 2025 10:31:01 -0500 Subject: [PATCH 36/36] docs: make create instructions more obvious --- .github/steps/5-copilot-on-github.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/steps/5-copilot-on-github.md b/.github/steps/5-copilot-on-github.md index 8111908..146c9c2 100644 --- a/.github/steps/5-copilot-on-github.md +++ b/.github/steps/5-copilot-on-github.md @@ -21,7 +21,7 @@ Both **Copilot pull request summaries** and **Copilot code review** have limited 1. In a web browser, open another tab and navigate to your exercise repository. -1. You might notice a **notification banner** suggesting to create a new pull request. Click that or use the **Pull Requests** tab at the top to create a new pull request. Please use the following details: +1. You might notice a **notification banner** suggesting to create a new pull request. Click that or use the **Pull Requests** tab at the top to **create a new pull request**. Please use the following details: - **base:** `main` - **compare:** `accelerate-with-copilot`