diff --git a/Using-GitHub-Copilot-CLI/README.md b/Using-GitHub-Copilot-CLI/README.md index 5388dd4..cc98c64 100644 --- a/Using-GitHub-Copilot-CLI/README.md +++ b/Using-GitHub-Copilot-CLI/README.md @@ -38,13 +38,10 @@ By the end of this module, you'll acquire the skills to be able to: 2. Install the standalone **GitHub Copilot CLI** (see Section 1 β€” the old `gh copilot` extension has been replaced by this new tool) -3. Clone [this repository with locally](https://github.com/MicrosoftDocs/mslearn-copilot-codespaces-python) +3. Fork and then clone [this repository locally](https://github.com/MicrosoftDocs/mslearn-copilot-codespaces-python) for the following exercises. ## πŸ’ͺ🏽 Exercise -**Right click the following Codespaces button to open your Codespace in a new tab** - - This workshop uses a Python FastAPI sample project. Throughout the exercises you will use the GitHub Copilot CLI and Coding Agent to understand, improve, and extend this project β€” entirely from the terminal and through agent-driven automation. --- @@ -52,9 +49,7 @@ This workshop uses a Python FastAPI sample project. Throughout the exercises you ### πŸ—’οΈ Section 1: Install and Verify the GitHub Copilot CLI 🎯 **Learning Goals** -- Install the standalone GitHub Copilot CLI -- Authenticate and launch your first session -- Understand the difference between the new `copilot` CLI and the deprecated `gh copilot` extension +- Install the GitHub Copilot CLI The **GitHub Copilot CLI** (`copilot`) is a standalone terminal application β€” distinct from the old `gh copilot` extension β€” that opens a full interactive AI chat session in your terminal. It ships with the GitHub MCP server built in, supports plan mode and auto model selection, and can autonomously read files, run commands, and interact with GitHub.com on your behalf. @@ -67,6 +62,8 @@ This workshop uses two separate CLI tools: - **`copilot`** β€” the standalone GitHub Copilot CLI (installed below) - **`gh`** β€” the GitHub CLI, required for `gh agent-task` commands in Sections 4 and 6 +**NOTE:** To complete 4 and 6, the Copilot Free tier will need to be upgraded to allow for Agent Mode + Install `gh` first if you don't already have it: **Windows:** @@ -169,10 +166,6 @@ In default mode Copilot responds to each prompt, asks clarifying questions when Copilot reads the files in the current directory and responds with a summary. -
-Copilot interactive session responding to a project overview prompt -
- 3. Ask it to make a small change β€” for example, add a `/ping` endpoint. Copilot will propose the change and ask for your approval before writing to disk: ``` @@ -195,10 +188,6 @@ Plan mode is ideal for larger or less well-defined tasks. Instead of immediately Copilot will ask clarifying questions β€” for example, which test framework to use, whether to use in-memory or mocked repositories β€” before producing a numbered plan. -
-Copilot CLI plan mode showing a structured implementation plan with numbered steps -
- 6. Review the plan. You can ask Copilot to revise a specific step before it begins: ``` @@ -217,13 +206,13 @@ Instead of manually picking a model every session, you can let Copilot automatic /model ``` - Select **Auto** from the list. With Auto enabled, Copilot picks from a pool of 1Γ— multiplier models β€” currently GPT-4.1, GPT-5 mini, GPT-5.2-Codex, GPT-5.3-Codex, Claude Haiku 4.5, and Claude Sonnet 4.5 β€” subject to your organisation's policies and your subscription. The pool changes over time as new models become available. + Select **Auto** from the list. With Auto enabled, Copilot picks from a pool of 1Γ— multiplier models β€” currently GPT-4.1, GPT-5 mini, GPT-5.2-Codex, GPT-5.3-Codex, Claude Haiku 4.5, and Claude Sonnet 4.5 β€” subject to your organization's policies and your subscription. The pool changes over time as new models become available. > **Note**: Auto will never select models excluded by administrator policy, models with a premium multiplier greater than 1Γ—, or models unavailable on your plan. -
-/model picker with Auto selected in the Copilot CLI -
+ > **Paid plan tip**: When using Auto on a paid plan (Pro, Pro+, Business, Enterprise), qualifying models receive a **10% multiplier discount** compared to selecting the same model manually. + + > **Coding agent note**: Auto model selection for `gh agent-task` (Copilot coding agent) is generally available for **Pro and Pro+ plans only**. 8. To see which model handled a response, check the CLI output β€” the model used is reported alongside each reply. @@ -233,10 +222,6 @@ Instead of manually picking a model every session, you can let Copilot automatic copilot --model claude-sonnet-4.6 ``` - > **Paid plan tip**: When using Auto on a paid plan (Pro, Pro+, Business, Enterprise), qualifying models receive a **10% multiplier discount** compared to selecting the same model manually. - - > **Coding agent note**: Auto model selection for `gh agent-task` (Copilot coding agent) is generally available for **Pro and Pro+ plans only** and currently selects from Claude Sonnet 4.5. - In the above exercises we achieved the following: - βœ… Used default mode for interactive ask/execute tasks - βœ… Used plan mode to design a multi-step implementation before writing code @@ -276,10 +261,6 @@ Every time Copilot wants to modify a file or execute a shell command it asks for Choose **2** to approve `pytest` for the rest of the session. -
-Copilot CLI tool approval prompt with three options -
- 2. Use the `--allow-tool` flag to pre-approve specific commands at launch. This is useful for CI scripts or trusted tasks: ```bash @@ -288,8 +269,7 @@ Every time Copilot wants to modify a file or execute a shell command it asks for - `shell(COMMAND)` β€” approves a specific shell command. Omit the command name to allow all shell commands. - `write` β€” approves all file modifications without individual prompts. - - `MCP_SERVER_NAME` β€” approves all tools from a named MCP server. - + 3. Use `--deny-tool` to block specific commands even when `--allow-all-tools` is set. For example, to allow everything except `rm` and `git push`: ```bash @@ -298,10 +278,6 @@ Every time Copilot wants to modify a file or execute a shell command it asks for `--deny-tool` always takes precedence over `--allow-tool` and `--allow-all-tools`. -
-Copilot CLI launched with allow-all-tools and specific deny-tool overrides -
- #### Programmatic Mode For headless use in scripts and CI pipelines, pass a prompt directly with `-p` instead of opening an interactive session: @@ -318,10 +294,6 @@ For headless use in scripts and CI pipelines, pass a prompt directly with `-p` i echo "Run pytest and report any failures" | copilot --allow-tool 'shell(pytest)' ``` -
-Copilot CLI programmatic mode completing a task and exiting -
- #### Context Management For long sessions working on large codebases, the conversation history can approach the model's token limit. The CLI manages this automatically and gives you manual control. @@ -342,10 +314,6 @@ For long sessions working on large codebases, the conversation history can appro Copilot compresses the conversation history while retaining key facts about the tasks completed so far. Press `Escape` to cancel if you change your mind. -
-/compact command output showing context compressed from 80% to 12% usage -
- 7. Auto-compaction kicks in automatically when the session approaches **95%** of the token limit, compressing history in the background without interrupting your workflow. This enables virtually unlimited session length β€” you can work on a feature from start to finish without restarting. In the above exercises we achieved the following: @@ -386,10 +354,6 @@ The standalone Copilot CLI ships with the GitHub MCP server built in and authent List all open issues assigned to me in / ``` -
-Copilot CLI listing open pull requests from GitHub.com -
- 3. Ask Copilot to start working on an issue. Replace the URL with one from your fork of the sample repo: ``` @@ -406,10 +370,6 @@ The standalone Copilot CLI ships with the GitHub MCP server built in and authent You are marked as the PR author even though Copilot did the work. -
-Copilot CLI creating a pull request on GitHub.com -
- 5. Ask Copilot to review a PR for problems: ``` @@ -426,7 +386,7 @@ The standalone Copilot CLI ships with the GitHub MCP server built in and authent #### Model Selection -7. The default model is **Claude Sonnet 4.6**. To see all available models and switch, use the `/model` slash command: +7. To see all available models and switch, use the `/model` slash command: ``` /model @@ -491,7 +451,122 @@ In the above exercises we achieved the following: --- -### πŸ—’οΈ Section 5: Custom Agents, Custom Instructions, and MCP Integrations +### πŸ—’οΈ Section 5: A Real-World End-to-End Python Workflow + +🎯 **Learning Goals** +- Combine interactive mode, plan mode, tool approval, context management, and GitHub.com integration into a single repeatable workflow +- Apply the full toolkit to a realistic Python feature-development scenario +- Use `gh agent-task` for async work that does not block your local session +- Understand when to use default mode, plan mode, autopilot, or remote agent tasks + +In this section you will bring everything together. You will use the GitHub Copilot CLI β€” including plan mode, tool approval, context management, GitHub.com integration, and `gh agent-task` β€” to take a feature from raw idea to merged pull request, touching every stage of a real development cycle. + +#### Scenario + +You have been asked to add **pagination support** to the `/token` endpoint. The endpoint currently returns all generated tokens at once; it needs to accept `page` and `page_size` query parameters, validate them, and return a paginated response with metadata. + +#### Step 1 β€” Understand the current state + +1. Launch a session in the project root and ask Copilot for an overview of the token feature: + + ```bash + copilot + ``` + + ``` + Show me all files that are involved in the /token endpoint, including models, handlers, and tests. + ``` + + Copilot reads the codebase and produces a file map β€” no shell scripting required. + +2. Ask Copilot to explain the current FastAPI route structure before modifying it: + + ``` + Explain how the token generation route is registered and what Pydantic models it uses. + ``` + +#### Step 2 β€” Plan the change using Plan Mode + +3. Press `Shift+Tab` to switch to **Plan** mode, then describe the full feature: + + ``` + Add pagination to the /token endpoint. It should accept page and page_size query parameters with validation using Pydantic, return a PaginatedResponse model with items and metadata (total, page, page_size, total_pages), update the OpenAPI spec, and include pytest tests for happy-path and edge cases. + ``` + + Review Copilot's structured plan. Confirm or revise individual steps before execution begins. + +4. Once you approve the plan, press `Shift+Tab` to switch back to default mode (or keep plan mode β€” Copilot will execute each step and check in after each one). + +#### Step 3 β€” Build and test + +5. Copilot creates `models/pagination.py`, updates the route handler in `main.py`, and scaffolds tests in `tests/`. When it requests permission to run `pytest`, approve it: + + ``` + 1. Yes, and approve pytest for the rest of this session + ``` + + Copilot runs the tests, observes any failures, and self-corrects until all tests pass. + +6. Check context usage mid-session if the conversation has been running for a while: + + ``` + /context + ``` + + If usage is above 70%, run `/compact` to free up space before the final steps. + +#### Step 4 β€” Commit and create a PR via GitHub.com integration + +7. In this next task we will work asynchronously with Copilot using the local CLI. Ask Copilot to commit the changes and open a pull request: + + ``` + Commit these changes with a conventional commit message and create a pull request against main with a description that summarises the pagination feature. + ``` + + Copilot uses the built-in GitHub MCP server to create the PR on GitHub.com, with you listed as the author. + +8. Every coding agent task runs on a fresh branch and opens a new pull request based on the current default branch. The agent does not reuse your local branch or modify existing pull requests. Instead, it starts from the latest state of the repository’s default branch (for example, main), creates its own isolated branch in the cloud, applies the requested changes, and then opens a new PR for you to review and merge + +While the agent is working locally and in the background, we are going to kick off a remote agent task to ask the remote agent to add docstrings to the new code, so it runs asynchronously in the cloud while you move on to other work: + + ```bash + gh agent-task create --repo / --issue \ + --body "Add Google-style docstrings to PaginatedResponse and the updated token route handler." + ``` + +9. Monitor Copilot's progress and after review merge: + + ```bash + gh agent-task list --repo / + gh pr view --web + ``` + +#### Workflow Summary + +The complete workflow you just executed maps to a repeatable pattern for any Python feature: + +| Stage | Tool | Action | +|---|---|---| +| Explore | Copilot CLI (default mode) | Map affected files with natural language | +| Design | Copilot CLI (plan mode) | Build and review a structured implementation plan | +| Build & test | Copilot CLI (default/plan mode) | Implement, run pytest, self-correct | +| Context | `/context` + `/compact` | Monitor and manage token usage | +| Ship | GitHub.com integration | Commit and open PR from the terminal | +| Polish | `gh agent-task` | Async documentation via remote agent | +| Review | `gh pr view` | Inspect and merge | + +πŸš€ Congratulations! You have completed the full GitHub Copilot CLI workshop. You now have a practical, end-to-end workflow that covers every stage of Python feature development β€” from interactive planning to autonomous agent-driven pull requests. + +In the above exercises we achieved the following: +- βœ… Used plan mode to design a feature before writing a single line of code +- βœ… Built, tested, and self-corrected with the Copilot CLI +- βœ… Managed conversation context with `/context` and `/compact` +- βœ… Created a pull request via GitHub.com integration from the terminal +- βœ… Kicked off an async documentation task using `gh agent-task` + +--- + +### πŸ—’οΈ Section 6: Context Optimzation with Copilot: Custom Agents, Custom Instructions, and MCP Integrations 🎯 **Learning Goals** - Understand custom agents and how to configure them for specialised tasks @@ -567,7 +642,7 @@ GitHub Copilot instructions files are markdown documents that provide essential #### Custom Agents -Custom agents are specialised versions of Copilot configured for specific tasks or roles β€” for example, a data science agent that follows your team's pandas conventions, or a security agent that checks for common vulnerabilities. +Custom agents are specialized versions of Copilot configured for specific tasks or roles β€” for example, a data science agent that follows your team's pandas conventions, or a security agent that checks for common vulnerabilities. 3. Create a custom agent configuration file at `.github/agents/fastapi-expert.md` in the sample project: @@ -696,131 +771,6 @@ In the above exercises we achieved the following: --- -### πŸ—’οΈ Section 6: A Real-World End-to-End Python Workflow - -🎯 **Learning Goals** -- Combine interactive mode, plan mode, tool approval, context management, and GitHub.com integration into a single repeatable workflow -- Apply the full toolkit to a realistic Python feature-development scenario -- Use `gh agent-task` for async work that does not block your local session -- Understand when to use default mode, plan mode, autopilot, or remote agent tasks - -In this section you will bring everything together. You will use the GitHub Copilot CLI β€” including plan mode, tool approval, context management, GitHub.com integration, and `gh agent-task` β€” to take a feature from raw idea to merged pull request, touching every stage of a real development cycle. - -#### Scenario - -You have been asked to add **pagination support** to the `/token` endpoint. The endpoint currently returns all generated tokens at once; it needs to accept `page` and `page_size` query parameters, validate them, and return a paginated response with metadata. - -#### Step 1 β€” Understand the current state - -1. Launch a session in the project root and ask Copilot for an overview of the token feature: - - ```bash - copilot - ``` - - ``` - Show me all files that are involved in the /token endpoint, including models, handlers, and tests. - ``` - - Copilot reads the codebase and produces a file map β€” no shell scripting required. - -2. Ask Copilot to explain the current FastAPI route structure before modifying it: - - ``` - Explain how the token generation route is registered and what Pydantic models it uses. - ``` - -#### Step 2 β€” Plan the change using Plan Mode - -3. Press `Shift+Tab` to switch to **Plan** mode, then describe the full feature: - - ``` - Add pagination to the /token endpoint. It should accept page and page_size query parameters with validation using Pydantic, return a PaginatedResponse model with items and metadata (total, page, page_size, total_pages), update the OpenAPI spec, and include pytest tests for happy-path and edge cases. - ``` - - Review Copilot's structured plan. Confirm or revise individual steps before execution begins. - -
-Plan mode showing numbered steps for the pagination feature -
- -4. Once you approve the plan, press `Shift+Tab` to switch back to default mode (or keep plan mode β€” Copilot will execute each step and check in after each one). - -#### Step 3 β€” Build and test - -5. Copilot creates `models/pagination.py`, updates the route handler in `main.py`, and scaffolds tests in `tests/`. When it requests permission to run `pytest`, approve it: - - ``` - 1. Yes, and approve pytest for the rest of this session - ``` - - Copilot runs the tests, observes any failures, and self-corrects until all tests pass. - -
-Copilot CLI running tests, observing a failure, and self-correcting -
- -6. Check context usage mid-session if the conversation has been running for a while: - - ``` - /context - ``` - - If usage is above 70%, run `/compact` to free up space before the final steps. - -#### Step 4 β€” Commit and create a PR via GitHub.com integration - -7. Ask Copilot to commit the changes and open a pull request: - - ``` - Commit these changes with a conventional commit message and create a pull request against main with a description that summarises the pagination feature. - ``` - - Copilot uses the built-in GitHub MCP server to create the PR on GitHub.com, with you listed as the author. - -
-Copilot CLI creating a pull request via GitHub.com integration -
- -8. Kick off a remote agent task to add docstrings to the new code, so it runs asynchronously in the cloud while you move on to other work: - - ```bash - gh agent-task create --repo / --issue \ - --body "Add Google-style docstrings to PaginatedResponse and the updated token route handler." - ``` - -9. Monitor and merge: - - ```bash - gh agent-task list --repo / - gh pr view --web - ``` - -#### Workflow Summary - -The complete workflow you just executed maps to a repeatable pattern for any Python feature: - -| Stage | Tool | Action | -|---|---|---| -| Explore | Copilot CLI (default mode) | Map affected files with natural language | -| Design | Copilot CLI (plan mode) | Build and review a structured implementation plan | -| Build & test | Copilot CLI (default/plan mode) | Implement, run pytest, self-correct | -| Context | `/context` + `/compact` | Monitor and manage token usage | -| Ship | GitHub.com integration | Commit and open PR from the terminal | -| Polish | `gh agent-task` | Async documentation via remote agent | -| Review | `gh pr view` | Inspect and merge | - -πŸš€ Congratulations! You have completed the full GitHub Copilot CLI workshop. You now have a practical, end-to-end workflow that covers every stage of Python feature development β€” from interactive planning to autonomous agent-driven pull requests. - -In the above exercises we achieved the following: -- βœ… Used plan mode to design a feature before writing a single line of code -- βœ… Built, tested, and self-corrected with the Copilot CLI -- βœ… Managed conversation context with `/context` and `/compact` -- βœ… Created a pull request via GitHub.com integration from the terminal -- βœ… Kicked off an async documentation task using `gh agent-task` - ---- - ### Useful Links and Further Learning - [About GitHub Copilot CLI](https://docs.github.com/copilot/concepts/agents/about-copilot-cli) diff --git a/Using-GitHub-Copilot-Coding-Agent/README.md b/Using-GitHub-Copilot-Coding-Agent/README.md index 0686f84..e703846 100644 --- a/Using-GitHub-Copilot-Coding-Agent/README.md +++ b/Using-GitHub-Copilot-Coding-Agent/README.md @@ -23,20 +23,14 @@ By the end of this module, you'll acquire the skills to: ## πŸ“– Prerequisite reading -- [About GitHub Copilot coding agent](https://docs.github.com/en/copilot/concepts/agents/coding-agent/about-coding-agent) +- [About GitHub Copilot coding agent](https://docs.github.com/copilot/concepts/agents/coding-agent/about-coding-agent) - [Introduction to prompt engineering with GitHub Copilot](https://learn.microsoft.com/training/modules/introduction-prompt-engineering-with-github-copilot/?WT.mc_id=academic-113596-abartolo) -- [GitHub Copilot coding agent vs. agent mode](https://docs.github.com/en/copilot/concepts/agents/coding-agent/about-coding-agent#copilot-coding-agent-versus-agent-mode) +- [GitHub Copilot coding agent vs. agent mode](https://docs.github.com/copilot/concepts/agents/coding-agent/about-coding-agent#copilot-coding-agent-versus-agent-mode) ## πŸ“‹ Requirements 1. Enable your [GitHub Copilot service](https://github.com/github-copilot/signup) (Pro, Pro+, Business, or Enterprise plan required for coding agent) -2. Open [this repository with Codespaces](https://codespaces.new/github-samples/node-recipe-app?quickstart=1) β€” a Node.js recipe app with known missing features that serves as our working example throughout this module. - -**Right click the following Codespaces button to open your Codespace in a new tab** - -[![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/github-samples/node-recipe-app?quickstart=1) - -> **Note:** If you have an existing Codespace with this project, please create a new one for this module. +2. Fork and then clone [this repository locally](https://github.com/github-samples/node-recipe-app?quickstart=1) for the following exercises. You can also run this lab in a GitHub Codespace from your forked repository. --- @@ -276,9 +270,9 @@ Custom instructions are Markdown files you store in your repository that tell Co > **Tip:** You can also define custom instructions at the organization level from your organization's settings. -### Part 2: Custom Agents β€” Agent Profiles +### Part 2: Custom Agents -**Custom agents** are specialized versions of Copilot you define once using a Markdown file called an **agent profile**. Each profile encodes a specific persona, set of tools, and behavior. +**Custom agents** are specialized versions of Copilot you define once using a Markdown file. Each profile encodes a specific persona, set of tools, and behavior. Custom agent profiles can also be defined at the [organization level](https://docs.github.com/copilot/how-tos/administer-copilot/manage-for-organization/prepare-for-custom-agents) in a `.github-private` repository, making them available across all repositories in your organization. 1. Create the file `.github/agents/documentation-agent.md`: @@ -322,11 +316,11 @@ Custom instructions are Markdown files you store in your repository that tell Co 3. Commit both files. When you assign a task from the agents panel or an issue, you can now select a specific custom agent to use. -> **Note:** Custom agent profiles can also be defined at the organization level in a `.github-private` repository, making them available across all repositories in your organization. - ### Part 3: Model Context Protocol (MCP) Servers -**MCP servers** give Copilot coding agent access to external data sources and tools β€” such as a project management system, internal documentation, or a database β€” that it wouldn't be able to reach otherwise. +**MCP servers** give Copilot coding agent access to external data sources and tools β€” such as a project management system, internal documentation, or a database β€” that it wouldn't be able to reach otherwise. For organization-level or enterprise-level custom agents, the agent definition is managed centrally (not just in a repo under `.github/agents/`). + +In those centrally managed agent profiles, you can define MCP servers directly in the YAML frontmatter of the agent profile. This allows administrators to centrally define which external tools the agent can access, eliminating the need for developers to configure MCP servers locally. This gives the agent access to those tools, allowing them to be policy-controlled and centralizing governance. 1. Create the file `.github/mcp.json` in your repository: @@ -343,9 +337,7 @@ Custom instructions are Markdown files you store in your repository that tell Co 2. The default GitHub MCP server is pre-configured and gives the agent access to your repository's issues, historic pull requests, and code search β€” grounding its responses in real project context. -3. To add a third-party MCP server (for example, a Jira integration), follow the [MCP integration guide](https://docs.github.com/en/copilot/how-tos/use-copilot-agents/coding-agent/extend-coding-agent-with-mcp) and add the server configuration to `.github/mcp.json`. - -> **Note:** Organization and enterprise-level agent profiles can embed MCP server configuration directly within the agent profile YAML frontmatter. +3. To add a third-party MCP server (for example: a Jira integration, an Azure DevOps integration, or other 3rd party service), follow the [MCP integration guide](https://docs.github.com/copilot/how-tos/use-copilot-agents/coding-agent/extend-coding-agent-with-mcp) and add the server configuration to `.github/mcp.json`. ### Part 4: Hooks β€” Lifecycle Automation @@ -411,11 +403,11 @@ Every session Copilot runs includes automatic security validation before the pul Details of all security checks are visible in the session log. -> **Note:** These built-in checks do **not** require a GitHub Advanced Security, Secret Protection, or Code Security license. +> **Note:** These built-in checks require a GitHub Advanced Security (GHAS license) ### Exercise 5A: Assign a Security Alert to Copilot via a Security Campaign -**Security campaigns** let you fix groups of security alerts at scale by assigning them to the coding agent. +[Security campaigns](https://docs.github.com/enterprise-cloud@latest/code-security/how-tos/manage-security-alerts/remediate-alerts-at-scale/creating-managing-security-campaigns) let you fix groups of security alerts at scale by assigning them to the coding agent. 1. Navigate to your repository's **Security** tab β†’ **Code scanning alerts**. 2. If there are open alerts, click **Campaigns** in the left nav (available for orgs with GitHub Advanced Security). @@ -448,6 +440,8 @@ In the above exercises we achieved the following: - Use Raycast to start and monitor tasks without leaving your desktop. - Understand how the coding agent fits into the full SDLC β€” from backlog to merge. +> **Note:** You can also execute the coding agent into a full SDLC using Copilot Chat in VSCode + ### Exercise 6A: Using the GitHub CLI > Requires GitHub CLI v2.80.0 or later. Run `gh --version` to check. @@ -471,7 +465,11 @@ gh agent-task view --repo YOUR-ORG/YOUR-REPO 45 --log --follow 1. Install [Raycast](https://www.raycast.com/). 2. Install the [GitHub Copilot extension for Raycast](https://www.raycast.com/github/github-copilot). 3. Open Raycast and search for **Copilot β†’ View Tasks** to see all your sessions. -4. Press `Command+L` to view the session log for any task. +4. To view the session log for any task, open the log using the following command: + **Windows:** +`Ctrl + L` +**macOS:** +`Command+L` 5. Start a new session directly from Raycast without opening a browser. ### The Coding Agent in the Full SDLC @@ -514,58 +512,19 @@ To change the model: 2. Select your preferred model. 3. The model selection applies to that session only. -For more details, see [Changing the AI model for GitHub Copilot coding agent](https://docs.github.com/en/copilot/how-tos/use-copilot-agents/coding-agent/changing-the-ai-model). - ---- - -## βœ… Module Summary - -Across this module, the key capabilities you exercised include: - -``` -Assigning Tasks - βœ… Issue assignment via the Assignees dropdown - βœ… @copilot mentions in PR comments - βœ… New tasks from the agents panel - βœ… Tasks from VS Code, JetBrains, Eclipse, GitHub CLI, and Raycast - -Tracking & Steering - βœ… Session logs and internal monologue - βœ… Live log streaming with the GitHub CLI - βœ… Steering an in-progress session - βœ… Stopping a session - -Review & Iteration - βœ… Reviewing and commenting on Copilot PR output - βœ… Requesting Copilot as a code reviewer on your own PRs - -Customization - βœ… Custom instructions (.github/copilot-instructions.md) - βœ… Custom agent profiles (.github/agents/*.md) - βœ… MCP server integration (.github/mcp.json) - βœ… Lifecycle hooks (.github/copilot/hooks.yaml) - βœ… Copilot Memory (Pro/Pro+) - -Security & Compliance - βœ… Built-in CodeQL, secret scanning, and dependency checks - βœ… Security campaign bulk assignment - βœ… Governance model and audit trail - -SDLC Integration - βœ… Every phase of delivery β€” planning through merge -``` +For more details, see [Changing the AI model for GitHub Copilot coding agent](https://docs.github.com/copilot/how-tos/use-copilot-agents/coding-agent/changing-the-ai-model). --- ## πŸ“– Further Reading -- [GitHub Copilot coding agent β€” all how-to articles](https://docs.github.com/en/copilot/how-tos/use-copilot-agents) -- [About custom agents](https://docs.github.com/en/copilot/concepts/agents/coding-agent/about-custom-agents) -- [Extending the coding agent with MCP](https://docs.github.com/en/copilot/how-tos/use-copilot-agents/coding-agent/extend-coding-agent-with-mcp) -- [About hooks](https://docs.github.com/en/copilot/concepts/agents/coding-agent/about-hooks) -- [About agent skills](https://docs.github.com/en/copilot/concepts/agents/about-agent-skills) -- [Responsible use of GitHub Copilot coding agent](https://docs.github.com/en/copilot/responsible-use-of-github-copilot-features/responsible-use-of-copilot-coding-agent-on-githubcom) -- [Piloting Copilot coding agent in your organization](https://docs.github.com/en/copilot/tutorials/pilot-copilot-coding-agent) +- [GitHub Copilot coding agent β€” all how-to articles](https://docs.github.com/copilot/how-tos/use-copilot-agents) +- [About custom agents](https://docs.github.com/copilot/concepts/agents/coding-agent/about-custom-agents) +- [Extending the coding agent with MCP](https://docs.github.com/copilot/how-tos/use-copilot-agents/coding-agent/extend-coding-agent-with-mcp) +- [About hooks](https://docs.github.com/copilot/concepts/agents/coding-agent/about-hooks) +- [About agent skills](https://docs.github.com/copilot/concepts/agents/about-agent-skills) +- [Responsible use of GitHub Copilot coding agent](https://docs.github.com/copilot/responsible-use-of-github-copilot-features/responsible-use-of-copilot-coding-agent-on-githubcom) +- [Piloting Copilot coding agent in your organization](https://docs.github.com/copilot/tutorials/pilot-copilot-coding-agent) - [GitHub Copilot Trust Center](https://copilot.github.trust.page/) - [GitHub Changelog β€” Copilot](https://github.blog/changelog/?label=copilot) - [Skills exercise: Expand your team with Copilot coding agent](https://github.com/skills/expand-your-team-with-copilot/)