diff --git a/docs/core/porting/github-copilot-app-modernization/faq.yml b/docs/core/porting/github-copilot-app-modernization/faq.yml
index fea4f4993c5fd..088bbd4f8c3eb 100644
--- a/docs/core/porting/github-copilot-app-modernization/faq.yml
+++ b/docs/core/porting/github-copilot-app-modernization/faq.yml
@@ -4,11 +4,11 @@ metadata:
description: "This article answers frequently asked questions about GitHub Copilot app modernization for .NET."
titleSuffix: ""
ms.topic: faq
- ms.date: 12/08/2025
+ ms.date: 03/05/2026
title: GitHub Copilot app modernization FAQ
summary: |
- GitHub Copilot app modernization is an interactive GitHub Copilot agent that adds powerful capabilities to Visual Studio. This article answers frequently asked questions. For more information about the modernization agent, see [What is GitHub Copilot app modernization](overview.md).
+ GitHub Copilot app modernization is an interactive GitHub Copilot agent that adds capabilities to your development environment. This article answers frequently asked questions. For more information, see [What is GitHub Copilot app modernization](overview.md).
The tool requires one of the following GitHub Copilot subscriptions:
@@ -18,77 +18,85 @@ summary: |
- Copilot Business
- Copilot Enterprise
- GitHub Copilot app modernization is included in [Visual Studio 2026](https://visualstudio.microsoft.com/downloads/) (or Visual Studio 2022 version 17.14.17 and newer).
+ GitHub Copilot app modernization is available in Visual Studio, Visual Studio Code, GitHub Copilot CLI, and on GitHub.com. For Visual Studio, it's included in [Visual Studio 2026](https://visualstudio.microsoft.com/downloads/) (or Visual Studio 2022 version 17.14.17 and newer).
+
+ For more information about installation, [Install GitHub Copilot app modernization](install.md).
sections:
- name: Modernization agent
questions:
- question: What can the agent do?
answer: |
- Currently, GitHub Copilot app modernization helps you upgrade your .NET (.NET, .NET Core, and .NET Framework) projects to newer versions of .NET. It also helps migrate services to Azure. It also upgrades dependencies and fixes errors in the code post-migration. The agent performs the following steps in a GitHub Copilot chat session:
+ GitHub Copilot app modernization helps you upgrade your .NET (.NET, .NET Core, and .NET Framework) projects to newer versions of .NET. It also helps migrate services to Azure, upgrades dependencies, and fixes errors in code after migration. The agent performs the following steps in a Copilot chat session:
- - Analyzes your projects and proposes an modernization plan.
- - According to the plan, runs a series of tasks to modernize your projects.
+ - Analyzes your projects and proposes a modernization plan.
+ - Runs a series of tasks to modernize your projects according to the plan.
- Operates in a working branch under a local Git repository.
- - Automatically fixes issues during the code transformation.
- - Reports progress and allow access to code changes & logs.
- - Learns from the interactive experience with you (within the context of the session) to improve subsequent transformations.
+ - Fixes issues automatically during the code transformation.
+ - Reports progress and allows access to code changes and logs.
+ - Learns from your interactions during the session to improve subsequent transformations.
- question: What limitations are there?
answer: |
- - Only Git repositories are supported.
- - There's no guarantee that the upgrade or migration suggestions are considered best practices.
- - The LLM doesn't persist learning from the upgrade. Meaning, code fixes and corrections you provide during the upgrade process don't persist and can't be remembered for future upgrades.
- - It only runs on Windows.
+ - The agent requires a local Git repository.
+ - The upgrade or migration suggestions aren't guaranteed to follow best practices.
+ - Code fixes and corrections you provide to Copilot during the upgrade process don't persist and aren't remembered for future upgrades.
- question: Which model should I use?
answer: |
- You should use a good coding model, such as Claude Sonnet 4.5 or GPT 5.2-codex.
+ Use a good coding model. Model availability is dependent on your Copilot subscription and environment. For a comparison of models, see [GitHub Copilot AI model comparison](https://docs.github.com/copilot/reference/ai-models/model-comparison).
- question: Can I train the model based on my code base?
answer: |
- No. Unlike traditional AI tools where you might enter freeform prompts, the agent operates in a more structured way. The AI is embedded within the build-and-fix process, meaning the prompts it uses are predefined and tied to the upgrade plan. So it's not something you can train on your codebase, and it's not something you can manually steer with custom instructions, beyond the changes you can make to the plan Markdown file.
+ No. Unlike traditional AI tools where you might enter freeform prompts, the agent operates in a structured way. The AI is embedded in the build-and-fix process, so the prompts it uses are predefined and tied to the upgrade plan. You can't train it on your codebase, but it's used as context by the agent.
- However, the agent does have some adaptability within a session. If you manually adjust a fix, it learns from that interaction in the short term and applies similar corrections if it encounters the same issue again. Think of it as refining its approach within the scope of that upgrade.
+ - question: Can I customize or guide the agent?
+ answer: |
+ The agent uses customization Copilot provides, such as instruction files and skills. Customization is based on what your Copilot supports.
+
+ If you manually adjust a fix, provide additional instructions in chat, or update the Markdown in the plan file, it learns from that interaction in the short term.
- question: Does the agent store my source code?
answer: |
- The agent never stores a user's codebase and never uses your code for training the model. Once an upgrade or migration is complete, session data is deleted.
+ The agent never stores your codebase or uses your code to train the model. Once an upgrade or migration completes, the agent deletes session data.
- question: Can I provide feedback?
answer: |
- Yes! Use the [Suggest a feature](/visualstudio/ide/suggest-a-feature) and [Report a Problem](/visualstudio/ide/report-a-problem) features of in Visual Studio to provide feedback.
+ Yes! There are two ways to provide feedback:
+
+ - In Visual Studio, use the [Suggest a feature](/visualstudio/ide/suggest-a-feature) and [Report a Problem](/visualstudio/ide/report-a-problem) features.
+ - File an issue at the [@modernize-dotnet GitHub repository](https://github.com/dotnet/modernize-dotnet).
- question: What data is collected?
answer: |
- The agent only collects telemetry information about project types, intent to upgrade, and upgrade duration. The data is aggregated through Visual Studio itself and doesn't contain any user-identifiable information. For more information about Microsoft's privacy policy, see [Visual Studio Customer Experience Improvement Program](/visualstudio/ide/visual-studio-experience-improvement-program?view=visualstudio&preserve-view=true).
+ The agent collects telemetry only about project types, intent to upgrade, and upgrade duration. The data is aggregated through your development environment and doesn't contain user-identifiable information. For more information about Microsoft's privacy policy, see [Visual Studio Customer Experience Improvement Program](/visualstudio/ide/visual-studio-experience-improvement-program?view=visualstudio&preserve-view=true).
- question: Can I disable telemetry?
answer: |
- Yes, you can disable telemetry. In Visual Studio, select **Help** > **Privacy** > **Privacy Settings** > **"No, I would not like to participate."**
+ Yes. In Visual Studio, select **Help** > **Privacy** > **Privacy Settings** > **"No, I would not like to participate."** Telemetry settings might vary by development environment. Check your tool's privacy settings for more information.
- name: Upgrade .NET apps
questions:
- question: What can the agent upgrade?
answer: |
- GitHub Copilot app modernization helps you upgrade your .NET projects or migrate them to Azure. Besides upgrading the target framework, the agent can work with the following types of projects:
+ GitHub Copilot app modernization helps you upgrade your .NET projects or migrate them to Azure. Besides upgrading the target framework, the agent works with these project types:
- - Azure Functions.
- - Console apps and class libraries.
+ - Azure Functions
+ - Console apps and class libraries
- Web technologies such as:
- MVC
- Blazor
- Razor Pages
- Web API
- - Desktop technologies such as Windows Forms and Windows Presentation Foundation.
- - Test projects such as MSTest and NUnit.
- - .NET Framework projects.
+ - Desktop technologies such as Windows Forms and Windows Presentation Foundation
+ - Test projects such as MSTest and NUnit
+ - .NET Framework projects
- name: Migrate to Azure
questions:
- question: What can the agent migrate?
answer: |
- The agent can assist in migrating and deploying your .NET applications to Azure, including:
+ The agent helps migrate and deploy your .NET applications to Azure, including:
- Web apps
- API apps
@@ -110,16 +118,16 @@ sections:
- question: Can I monitor assessment progress?
answer: |
- Yes, you can monitor the progress of the assessment through the Visual Studio interface. The agent provides real-time feedback and updates on the status of the migration process.
+ Yes. Monitor the assessment progress through the Visual Studio interface. The agent provides real-time feedback and status updates on the migration process. Other development environments might offer different monitoring options.
- While the assessment is running, you can monitor its progress by viewing the command-line output:
+ In Visual Studio, monitor assessment progress by viewing the command-line output while the assessment runs:
- 1. In Visual Studio, go to **View** > **Output** to open the Output window.
- 2. In the Output window, find the **Show output from:** dropdown.
- 3. Select **AppModernizationExtension** from the dropdown list.
- 4. The command-line output from the assessment tool appears here, showing real-time progress.
+ 1. Go to **View** > **Output** to open the **Output** window.
+ 1. In the **Output** window, find the **Show output from** dropdown.
+ 1. Select **AppModernizationExtension** from the dropdown list.
+ 1. The command-line output from the assessment tool appears here, showing real-time progress.
- You can also access the **Output** window using the keyboard shortcut Ctrl+Alt+O.
+ Or, access the **Output** window with the keyboard shortcut Ctrl+Alt+O.
additionalContent: |
## Related content
diff --git a/docs/core/porting/github-copilot-app-modernization/how-to-custom-upgrade-instructions.md b/docs/core/porting/github-copilot-app-modernization/how-to-custom-upgrade-instructions.md
index aa7b4e4448f42..ad14e292e29f3 100644
--- a/docs/core/porting/github-copilot-app-modernization/how-to-custom-upgrade-instructions.md
+++ b/docs/core/porting/github-copilot-app-modernization/how-to-custom-upgrade-instructions.md
@@ -1,9 +1,9 @@
---
title: Apply custom upgrade instructions for .NET upgrades
-description: "Create and apply custom upgrade instructions with GitHub Copilot to automate .NET upgrades. Learn to write, test, and integrate instructions for consistent transformations."
+description: "Create and apply custom upgrade instructions with GitHub Copilot app modernization to automate .NET upgrades. Write, test, and integrate instructions for consistent transformations."
author: kschlobohm
ms.topic: how-to
-ms.date: 12/12/2025
+ms.date: 03/04/2026
ai-usage: ai-assisted
#customer intent: As a developer, I want to apply custom upgrade instructions during a .NET upgrade so that I can automate specific changes consistently.
@@ -12,15 +12,13 @@ ai-usage: ai-assisted
# Apply custom upgrade instructions for .NET upgrades
-Custom upgrade instructions are markdown files that guide GitHub Copilot app modernization to apply specific transformations during an upgrade. Create these files to automate repetitive changes, such as replacing one library with another or guiding how to apply a specific upgrade of an API.
+Custom upgrade instructions are Markdown files that guide GitHub Copilot app modernization to apply specific transformations during an upgrade. Create these files to automate repetitive changes, such as replacing one library with another or applying a specific API upgrade.
-This article explains how to create a custom upgrade instruction file, test it in isolation, and use it during the assessment stage of an upgrade. You learn how to structure the instruction file, verify it works correctly, and integrate it into the upgrade workflow.
+This article explains how to create and structure a custom upgrade instruction file, test it in isolation, and integrate it into the assessment stage of an upgrade workflow.
## Prerequisites
-Before you begin, ensure you have these requirements:
-
-[!INCLUDE [github-copilot-app-modernization-prereqs](../../../includes/github-copilot-app-modernization-prereqs.md)]
+Set up GitHub Copilot app modernization in your development environment before creating custom instructions. For installation steps, see [Install GitHub Copilot app modernization](install.md).
## Understand custom upgrade instructions
@@ -37,11 +35,21 @@ Structure your instruction files with:
- Explicit step logic ("If X is found, do Y")—avoid vague language.
- (Recommended) One or more diff examples captured from actual local edits to guide transformations.
+Beyond custom upgrade instructions, GitHub Copilot app modernization is extensible through the standard skills and instructions system that your development environment and Copilot support. Skills let you extend the agent with extra capabilities, and instruction files (like `copilot-instructions.md`) provide global guidance to the agent.
+
## Create a custom upgrade instruction
-Follow these steps to generate and refine a new instruction file. These sections focus on replacing `Newtonsoft.Json` with `System.Text.Json` to explain this feature with an example.
+Follow these steps to generate and refine a new instruction file. These sections focus on replacing `Newtonsoft.Json` with `System.Text.Json` as an example.
1. In the **Solution Explorer** window, right-click the **solution** > **Modernize**.
+
+ \-or-
+
+ Open the Copilot chat panel and type `@Modernize` to start a conversation with the agent.
+
+ > [!NOTE]
+ > These steps apply to Visual Studio. In Visual Studio Code and other environments, invoke the `modernize-dotnet` agent directly from the Copilot chat panel. In Visual Studio, the agent is named `Modernize`.
+
1. In the chat, type: `I want to generate a custom upgrade instruction`.
1. When asked, provide a scenario like `I want to replace Newtonsoft with System.Text.Json` to have Copilot create the file.
1. When Copilot creates the new file, such as `replace_newtonsoft_with_system_text_json.md`, review the content and refine it in chat. For example, ask Copilot to "clarify detection criteria" or "add a prerequisite section."
@@ -66,10 +74,14 @@ Follow these guidelines to write clear, effective custom upgrade instructions th
## Test a custom upgrade instruction (one-time run)
-Before running the instruction during an upgrade, validate it in isolation. This fast inner loop helps you refine detection and validate the code changes.
+Before running the instruction during an upgrade, validate it in isolation. This fast inner loop helps you refine detection and verify the code changes.
1. In the **Solution Explorer** window, right-click the **solution** > **Modernize**.
-1. In chat, invoke the instruction by using wording similar to the file name. For example, `replace Newtonsoft with System.Text.Json`.
+
+ > [!NOTE]
+ > These steps apply to Visual Studio. In VS Code and other environments, invoke the `modernize-dotnet` agent directly from the Copilot chat panel.
+
+1. In chat, invoke the instruction with wording similar to the file name. For example, `replace Newtonsoft with System.Text.Json`.
1. Confirm in the chat window that Copilot retrieved the instruction file:
```text
@@ -78,15 +90,15 @@ Before running the instruction during an upgrade, validate it in isolation. This
Perfect! I've retrieved the scenario instructions for migrating from Newtonsoft.Json to System.Text.Json. Now I'll begin the analysis following the scenario-specific instructions.
```
- If you don't see an indication that the instructions were found, retry using key words from the file's name, such as the same verb and noun combinations.
+ If you don't see an indication that the instructions were found, retry with keywords from the file's name, such as the same verb and noun combinations.
-1. Review the proposed changes (solution diffs, pending commits, or previewed modifications) to validate the custom upgrade instruction behaves as planned.
+1. Review the proposed changes (solution diffs, pending commits, or previewed modifications) to confirm the custom upgrade instruction behaves as expected.
### Validation tips
If the test run doesn't produce the expected results, use these troubleshooting tips to refine your instruction file:
-- If Copilot only updates package versions instead of performing a replacement, ensure the instruction explicitly says to remove or replace the old package.
+- If Copilot only updates package versions instead of replacing the package, ensure the instruction explicitly says to remove or replace the old package.
- Use consistent naming so natural language activation matches. For example, the file name starts with `replace_` and your chat request begins with "Replace ...".
- Add missing code patterns you discover during testing as more examples to improve coverage.
@@ -95,22 +107,26 @@ If the test run doesn't produce the expected results, use these troubleshooting
Use these steps to incorporate an existing custom upgrade instruction into the assessment stage of an upgrade.
1. In the **Solution Explorer** window, right-click the **solution** > **Modernize**.
+
+ > [!NOTE]
+ > These steps apply to Visual Studio. In VS Code and other environments, invoke the `modernize-dotnet` agent directly from the Copilot chat panel.
+
1. In the chat, choose `Upgrade to a newer version of .NET`. Answer Copilot's questions until it begins the assessment.
-1. Monitor the chat to see if Copilot automatically retrieves your custom instruction file during the assessment. You should see a message indicating it opened the markdown instruction file.
+1. Monitor the chat to see if Copilot automatically retrieves your custom instruction file during the assessment. Look for a message indicating it opened the markdown instruction file.
- If the custom instructions aren't automatically applied, explicitly request them. Use wording similar to the file name. For example, `use the custom instructions to replace Newtonsoft with System.Text.Json during the assessment`.
+ If Copilot doesn't automatically apply the custom instructions, explicitly request them. Use wording similar to the file name. For example, `use the custom instructions to replace Newtonsoft with System.Text.Json during the assessment`.
1. Wait for Copilot to confirm it retrieved the file. If you don't see a reference to the instruction file, restate the request using the file's key verbs (replace, update, remove) and package names.
-1. Review the generated `assessment.md` file in the `.github/upgrades` folder. Confirm the assessment includes issues and changes identified by your custom instruction.
+1. Review the generated `assessment.md` file in the `.github/upgrades` folder. Confirm the assessment includes issues and changes that your custom instruction identified.
For example, when replacing Newtonsoft, the assessment identifies:
- Projects using `Newtonsoft.Json` packages.
- - Code patterns that need refactoring to use `System.Text.Json`.
- - Dependencies that need to be removed or replaced.
+ - Code patterns to refactor for `System.Text.Json`.
+ - Dependencies to remove or replace.
1. If needed, edit the `assessment.md` file to add context or adjust the identified issues before proceeding.
1. Tell Copilot to continue to the planning stage once the assessment reflects your custom instruction.
-1. Review the `plan.md` file that Copilot generates. It should include strategies for addressing the issues identified during assessment.
+1. Review the `plan.md` file that Copilot generates. This file includes strategies for addressing the issues from the assessment.
1. Continue through the execution stage by telling Copilot to proceed. Monitor the `tasks.md` file as Copilot applies the transformations.
### Tips for better activation
@@ -137,6 +153,7 @@ If you create temporary instruction files for experimentation, remove or consoli
## Related content
-- [How to upgrade a .NET app with GitHub Copilot app modernization](how-to-upgrade-with-github-copilot.md)
+- [Upgrade a .NET app with GitHub Copilot app modernization](how-to-upgrade-with-github-copilot.md)
- [GitHub Copilot app modernization FAQ](faq.yml)
-- [What is GitHub Copilot app modernization](overview.md)
+- [What is GitHub Copilot app modernization?](overview.md)
+- [Install GitHub Copilot app modernization](install.md)
diff --git a/docs/core/porting/github-copilot-app-modernization/how-to-upgrade-with-github-copilot.md b/docs/core/porting/github-copilot-app-modernization/how-to-upgrade-with-github-copilot.md
index 52e54c3919fff..8b0b060dea877 100644
--- a/docs/core/porting/github-copilot-app-modernization/how-to-upgrade-with-github-copilot.md
+++ b/docs/core/porting/github-copilot-app-modernization/how-to-upgrade-with-github-copilot.md
@@ -1,8 +1,8 @@
---
title: How to upgrade a .NET app with GitHub Copilot app modernization
-description: "Learn how to upgrade your .NET applications to newer versions using GitHub Copilot app modernization in Visual Studio. This step-by-step guide covers the three-stage workflow: assessment, planning, and execution."
+description: "Learn how to upgrade your .NET applications to newer versions using GitHub Copilot app modernization. This step-by-step guide covers the three-stage workflow: assessment, planning, and execution."
ms.topic: how-to
-ms.date: 12/12/2025
+ms.date: 03/04/2026
ai-usage: ai-assisted
#customer intent: As a developer, I want to upgrade my .NET app using GitHub Copilot app modernization so that I can modernize my codebase efficiently with AI assistance through a structured three-stage process.
@@ -11,19 +11,17 @@ ai-usage: ai-assisted
# Upgrade a .NET app with GitHub Copilot app modernization
-GitHub Copilot app modernization is an AI-powered agent in Visual Studio that upgrades .NET projects to newer versions and migrates applications to Azure. This article guides you through upgrading your .NET applications using a structured three-stage workflow: assessment, planning, and execution.
+GitHub Copilot app modernization is an AI-powered agent that upgrades .NET projects to newer versions and migrates applications to Azure. This article guides you through upgrading your .NET applications using a structured three-stage workflow: assessment, planning, and execution.
-The modernization agent analyzes your projects and dependencies, creates detailed upgrade documentation at each stage, and assists with code fixes throughout the process. It supports upgrading from older .NET versions to the latest, including migrations from .NET Framework to modern .NET.
+The modernization agent analyzes your projects and dependencies, creates detailed upgrade documentation at each stage, and helps with code fixes throughout the process. It supports upgrading from older .NET versions to the latest, including migrations from .NET Framework to modern .NET.
## Prerequisites
-Before you begin, ensure you have the following requirements:
-
-[!INCLUDE [github-copilot-app-modernization-prereqs](../../../includes/github-copilot-app-modernization-prereqs.md)]
+Set up GitHub Copilot app modernization in your development environment before starting an upgrade. For installation steps, see [Install GitHub Copilot app modernization](install.md).
## Initiate the upgrade
-To start an upgrade, interact with GitHub Copilot chat to initiate the modernization agent:
+To start an upgrade, use the `modernize-dotnet` agent in Copilot:
[!INCLUDE[github-copilot-how-to-initiate](./includes/how-to-initiate.md)]
@@ -39,7 +37,7 @@ The three stages are:
The assessment stage examines your project structure, dependencies, and code patterns to identify what needs to change. Copilot automatically starts this stage and generates an `assessment.md` file in `.github/upgrades`.
-The assessment lists breaking changes, API compatibility problems, deprecated patterns, and the upgrade scope so you know exactly what needs attention. The following example shows part of an assessment for an ASP.NET Core project upgrading from .NET 6.0 to .NET 9.0:
+The assessment lists breaking changes, API compatibility problems, deprecated patterns, and the upgrade scope so you know what needs attention. The following example shows part of an assessment for an ASP.NET Core project upgrading from .NET 6.0 to .NET 10.0:
```markdown
# Projects and dependencies analysis
@@ -70,7 +68,7 @@ This document provides a comprehensive overview of the projects and their depend
...
```
-To review and customize the plan:
+To review and customize the assessment:
1. Open the `assessment.md` file in `.github/upgrades`.
1. Review the identified breaking changes and compatibility problems.
@@ -131,7 +129,7 @@ To review and customize the plan:
The execution stage breaks the plan into sequential, concrete tasks with validation criteria. When you tell Copilot to proceed to execution, it generates a `tasks.md` file in `.github/upgrades`.
-The task list describes each task and explains how Copilot confirms it succeeded. The following example shows the task list for a solution containing ASP.NET Core and WPF projects:
+The task list describes each task and how Copilot validates success. The following example shows the task list for a solution containing ASP.NET Core and WPF projects:
```markdown
# MvcMovieNet6 .NET 10 Upgrade Tasks
@@ -185,13 +183,15 @@ To run the upgrade:
1. Tell Copilot to start the upgrade.
1. Monitor progress by reviewing the `tasks.md` file as Copilot updates task statuses.
1. If Copilot encounters a problem it can't resolve, provide the requested help.
-1. Let Copilot learn from your interventions and continue the upgrade.
+1. Copilot learns from your changes and continues the upgrade.
The tool creates a Git commit for every portion of the process, so you can easily roll back changes or get detailed information about what changed.
## Verify the upgrade
-When the upgrade finishes, Copilot shows next steps in the chat response to guide you on what to do after the process. Review the `tasks.md` file for the status of every step. The tool creates a Git commit for every portion of the upgrade process, so you can easily roll back changes or get detailed information about what changed.
+When the upgrade finishes, Copilot shows recommended next steps in the chat response. Review the `tasks.md` file for the status of every step.
+
+The tool creates a Git commit for every portion of the upgrade process, so you can easily roll back changes or get detailed information about what changed.
The following example shows completed tasks for an ASP.NET Core project upgrade:
@@ -228,4 +228,5 @@ To verify the upgrade:
## Related content
- [What is GitHub Copilot app modernization?](overview.md)
+- [Install GitHub Copilot app modernization](install.md)
- [GitHub Copilot app modernization FAQ](faq.yml)
diff --git a/docs/core/porting/github-copilot-app-modernization/includes/how-to-initiate.md b/docs/core/porting/github-copilot-app-modernization/includes/how-to-initiate.md
index c83273460907a..ea5629de56c29 100644
--- a/docs/core/porting/github-copilot-app-modernization/includes/how-to-initiate.md
+++ b/docs/core/porting/github-copilot-app-modernization/includes/how-to-initiate.md
@@ -1,17 +1,16 @@
---
author: adegeo
ms.author: adegeo
-ms.date: 12/11/2025
+ms.date: 03/04/2026
ms.topic: include
---
-1. Open your .NET project or solution in Visual Studio.
-1. Access the GitHub Copilot app modernization agent using one of these methods:
+1. Open your .NET project or solution in your development environment.
+1. Start the agent using one of these methods:
- Right-click on the solution or project in **Solution Explorer** and select **Modernize**.
+ - **Visual Studio**: Right-click the solution or project in **Solution Explorer** and select **Modernize**. Or open the **GitHub Copilot Chat** window and type `@Modernize`.
+ - **Visual Studio Code**: Open the **GitHub Copilot Chat** panel and type `@modernize-dotnet`.
+ - **GitHub Copilot CLI**: Type `@modernize-dotnet` followed by your upgrade or migration request.
+ - **GitHub.com**: Use the `modernize-dotnet` coding agent in your repository.
- —or—
-
- Open the **GitHub Copilot Chat** window and type `@modernize` followed by your upgrade or migration request.
-
-1. Tell the `@modernize` agent what you want to upgrade or migrate.
+1. Tell the agent what to upgrade or migrate.
diff --git a/docs/core/porting/github-copilot-app-modernization/index.yml b/docs/core/porting/github-copilot-app-modernization/index.yml
index 5248d0e41e9b2..02a2a0dbbccc3 100644
--- a/docs/core/porting/github-copilot-app-modernization/index.yml
+++ b/docs/core/porting/github-copilot-app-modernization/index.yml
@@ -1,13 +1,13 @@
### YamlMime:Landing
-title: Use GitHub Copilot to upgrade and migrate .NET apps
-summary: Learn about updating and migrating .NET apps with GitHub Copilot.
+title: Use GitHub Copilot app modernization to upgrade and migrate .NET apps
+summary: Learn about updating and migrating .NET apps with GitHub Copilot app modernization.
metadata:
- title: Use GitHub Copilot to upgrade and migrate .NET apps
- description: Learn about updating and migrating .NET apps with GitHub Copilot.
+ title: Use GitHub Copilot app modernization to upgrade and migrate .NET apps
+ description: Learn about updating and migrating .NET apps with GitHub Copilot app modernization.
ms.topic: landing-page
- ms.date: 12/11/2025
+ ms.date: 03/04/2026
landingContent:
@@ -17,6 +17,8 @@ landingContent:
links:
- text: Upgrade .NET apps
url: overview.md
+ - text: Install
+ url: install.md
- text: FAQ
url: faq.yml
- linkListType: how-to-guide
@@ -30,7 +32,7 @@ landingContent:
linkLists:
- linkListType: overview
links:
- - text: Migrate .NET apps to Azure (app modernization)
+ - text: Migrate .NET apps to Azure
url: ../../../azure/migration/appmod/overview.md?toc=/dotnet/navigate/github-copilot-modernize/toc.json&bc=/dotnet/breadcrumb/toc.json
- text: Azure migration quickstart
url: ../../../azure/migration/appmod/quickstart.md?toc=/dotnet/navigate/github-copilot-modernize/toc.json&bc=/dotnet/breadcrumb/toc.json
diff --git a/docs/core/porting/github-copilot-app-modernization/install.md b/docs/core/porting/github-copilot-app-modernization/install.md
new file mode 100644
index 0000000000000..62e98e264fddf
--- /dev/null
+++ b/docs/core/porting/github-copilot-app-modernization/install.md
@@ -0,0 +1,121 @@
+---
+title: Install GitHub Copilot app modernization
+description: "Learn how to install and set up GitHub Copilot app modernization across Visual Studio, Visual Studio Code, GitHub Copilot CLI, and GitHub.com."
+ms.topic: install-set-up-deploy
+ms.date: 03/04/2026
+ai-usage: ai-assisted
+zone_pivot_groups: copilot-modernization-install
+
+#customer intent: As a developer, I want to install GitHub Copilot app modernization so that I can upgrade and migrate my .NET applications.
+
+---
+
+# Install GitHub Copilot app modernization
+
+GitHub Copilot app modernization is available across multiple development environments. Choose your preferred environment to get started with installation and setup.
+
+::: zone pivot="visualstudio"
+
+## Prerequisites
+
+Before you install, make sure you have the following:
+
+- Windows operating system.
+- [Visual Studio 2026](https://visualstudio.microsoft.com/downloads/) (or Visual Studio 2022 version 17.14.17+).
+- [.NET desktop development workload](/visualstudio/install/modify-visual-studio?view=visualstudio&preserve-view=true#change-workloads-or-individual-components) with these optional components enabled: **GitHub Copilot**, **GitHub Copilot app modernization**.
+- GitHub Copilot subscription (paid or free).
+- [Sign in to Visual Studio with a GitHub account](/visualstudio/ide/work-with-github-accounts) that has [Copilot access](https://docs.github.com/copilot/get-started/plans#ready-to-choose-a-plan).
+- Code written in C#.
+
+## Install
+
+GitHub Copilot app modernization is included in Visual Studio and doesn't require a separate installation. Enable the **GitHub Copilot** and **GitHub Copilot app modernization** optional components in the **.NET desktop development** workload through the Visual Studio Installer.
+
+## Verify the installation
+
+1. Open a solution in Visual Studio.
+1. Right-click a project in **Solution Explorer** and select **Modernize**, or open **GitHub Copilot Chat** and type `@Modernize`.
+
+::: zone-end
+
+::: zone pivot="vscode"
+
+## Prerequisites
+
+Before you install, make sure you have the following:
+
+- Visual Studio Code.
+- GitHub Copilot extension installed.
+- GitHub Copilot subscription (paid or free).
+
+## Install
+
+Install the [GitHub Copilot app modernization extension](https://marketplace.visualstudio.com/items?itemName=vscjava.migrate-java-to-azure) from the VS Code Marketplace.
+
+## Verify the installation
+
+1. Open a project in Visual Studio Code.
+1. Open the Copilot chat and type `@modernize-dotnet`.
+
+::: zone-end
+
+::: zone pivot="copilot-cli"
+
+## Prerequisites
+
+Before you install, make sure you have the following:
+
+- GitHub Copilot CLI installed.
+- GitHub Copilot subscription (paid or free).
+
+## Install
+
+Complete these three steps to install:
+
+1. Open the GitHub Copilot chat window.
+
+1. Add the marketplace plugin:
+
+ ```console
+ /plugin marketplace add dotnet/modernize-dotnet
+ ```
+
+1. Install the plugin:
+
+ ```console
+ /plugin install modernize-dotnet@modernize-dotnet-plugins
+ ```
+
+## Verify the installation
+
+Run `/agent` to confirm that `modernize-dotnet` appears in the agent list.
+
+::: zone-end
+
+::: zone pivot="github-com"
+
+## Prerequisites
+
+Before you install, make sure you have the following:
+
+- GitHub Copilot Enterprise or Business subscription with coding agents enabled.
+- Repository admin access.
+
+## Install
+
+Add the custom coding agent to your repository:
+
+1. Learn about [adding custom coding agents to your repo](https://docs.github.com/en/copilot/how-tos/use-copilot-agents/coding-agent/create-custom-agents).
+1. Add the `modernize-dotnet` agent. See the [coding agent README](https://github.com/dotnet/modernize-dotnet/blob/main/coding-agent/README.md) for details.
+
+## Verify the installation
+
+The `modernize-dotnet` agent appears as an available coding agent in your repository.
+
+::: zone-end
+
+## Related content
+
+- [What is GitHub Copilot app modernization?](overview.md)
+- [Upgrade a .NET app with GitHub Copilot app modernization](how-to-upgrade-with-github-copilot.md)
+- [GitHub Copilot app modernization FAQ](faq.yml)
diff --git a/docs/core/porting/github-copilot-app-modernization/overview.md b/docs/core/porting/github-copilot-app-modernization/overview.md
index 3928d2935fc2b..7c5bb34ab8c4f 100644
--- a/docs/core/porting/github-copilot-app-modernization/overview.md
+++ b/docs/core/porting/github-copilot-app-modernization/overview.md
@@ -1,22 +1,20 @@
---
title: GitHub Copilot app modernization overview
-description: "Learn more about GitHub Copilot app modernization. This Visual Studio extension helps you upgrade your code and projects. Upgrades can include .NET versioning or migrating code from one technology to another."
+description: "Learn about GitHub Copilot app modernization, a Copilot agent available across Visual Studio, Visual Studio Code, GitHub Copilot CLI, and GitHub.com that upgrades .NET projects and migrates apps to Azure."
titleSuffix: ""
ms.topic: overview
-ms.date: 12/09/2025
+ms.date: 03/04/2026
ai-usage: ai-assisted
-#customer intent: As a developer, I want to learn about what the GitHub Copilot app modernization is, so that I understand its capabilities and how I can take advantage of it.
+#customer intent: As a developer, I want to learn about what GitHub Copilot app modernization is, so that I understand its capabilities and how I can take advantage of it.
---
# What is GitHub Copilot app modernization?
-GitHub Copilot app modernization is a GitHub Copilot agent that helps you upgrade projects to newer versions of .NET and migrate .NET applications to Azure quickly and confidently. It guides you through assessment, solution recommendations, code fixes, and validation—all within Visual Studio.
+GitHub Copilot app modernization is a GitHub Copilot agent that helps you upgrade projects to newer versions of .NET and migrate .NET applications to Azure quickly and confidently. It guides you through assessment, solution recommendations, code fixes, and validation across Visual Studio, Visual Studio Code, GitHub Copilot CLI, and GitHub.com.
-This process streamlines modernization and boosts developer productivity and confidence. GitHub Copilot app modernization is an all-in-one upgrade and migration agent that uses AI to improve developer velocity, quality, and results.
-
-With this agent, you can:
+Use this agent to:
- Upgrade to a newer version of .NET.
- Migrate technologies and deploy to Azure.
@@ -28,30 +26,29 @@ With this agent, you can:
## Provide feedback
-Feedback is important to Microsoft and the efficiency of this agent. Use the [Suggest a feature](/visualstudio/ide/suggest-a-feature) and [Report a problem](/visualstudio/ide/report-a-problem) features of Visual Studio to provide feedback.
+Microsoft values your feedback and uses it to improve this agent. There are two ways to leave feedback:
-## Prerequisites
+- In Visual Studio, use the [Suggest a feature](/visualstudio/ide/suggest-a-feature) and [Report a problem](/visualstudio/ide/report-a-problem) options.
-Before using GitHub Copilot app modernization, you need these items:
+- File an issue at the [@modernize-dotnet GitHub repository](https://github.com/dotnet/modernize-dotnet).
-[!INCLUDE [github-copilot-app-modernization-prereqs](../../../includes/github-copilot-app-modernization-prereqs.md)]
+## Prerequisites
-> [!NOTE]
-> GitHub Copilot app modernization is supported in Visual Studio Code through the [marketplace extension](https://marketplace.visualstudio.com/items?itemName=vscjava.migrate-java-to-azure).
+Set up GitHub Copilot app modernization in your development environment before using the agent. For installation steps, see [Install GitHub Copilot app modernization](install.md).
## Upgrade .NET projects
-The modernization agent supports upgrading projects coded in C#. The agent supports the following project types:
+The modernization agent supports upgrading C# projects of the following types:
- ASP.NET Core (and related technologies such as MVC, Razor Pages, and Web API)
- Blazor
- Azure Functions
-- Windows Presentation Foundation
+- Windows Presentation Foundation (WPF)
- Windows Forms
- Class libraries
- Console apps
-To learn how to start an upgrade, see [How to upgrade a .NET app with GitHub Copilot app modernization](how-to-upgrade-with-github-copilot.md).
+To start an upgrade, see [Upgrade a .NET app with GitHub Copilot app modernization](how-to-upgrade-with-github-copilot.md).
### Upgrade paths
@@ -59,36 +56,36 @@ The agent supports the following upgrade paths:
- Upgrade projects from older .NET versions to the latest.
- Upgrade .NET Framework projects to .NET.
-- Modernize your code base with new features.
+- Modernize your code base by using new features.
- Migrate components and services to Azure.
## Migrate .NET projects to Azure
-The modernization agent combines automated analysis, AI-driven code remediation, build and vulnerability checks, and deployment automation to simplify migrations to Azure. The agent assesses readiness, applies fixes, and streamlines the migration process through these capabilities:
+The modernization agent simplifies Azure migrations through automated analysis, AI-driven code remediation, build and vulnerability checks, and deployment automation:
-- Analysis & Intelligent Recommendations.
+- Analysis and intelligent recommendations
- Assess your application's readiness for Azure migration and receive tailored guidance based on its dependencies and identified issues.
+ Assess your application's readiness for Azure migration and receive tailored guidance based on its dependencies and identified problems.
-- AI-Powered Code Remediation.
+- AI-powered code remediation
Apply predefined best-practice code patterns to accelerate modernization with minimal manual effort.
-- Automatic Build and CVE Resolution.
+- Automatic build and CVE resolution
- Automatically build your app and resolve compilation errors and vulnerabilities, streamlining development.
+ Build your app and resolve compilation errors and vulnerabilities, streamlining development.
-- Seamless Deployment.
+- Seamless deployment
- Deploy to Azure effortlessly, taking your code from development to cloud faster than ever.
+ Deploy to Azure, taking your code from development to production faster.
### Predefined tasks for migration
-Predefined tasks capture industry best practices for using Azure services. Currently, GitHub Copilot app modernization for .NET offers predefined tasks that cover common migration scenarios.
+GitHub Copilot app modernization for .NET offers predefined tasks that capture industry best practices and cover common migration scenarios.
- **Migrate to Managed Identity based Database on Azure, including Azure SQL DB, Azure SQL MI, and Azure PostgreSQL**
- Modernize your data layer by migrating from on-premises or legacy databases (such as DB2, Oracle DB, or SQL Server) to Azure SQL DB, Azure SQL Managed Instance, or Azure PostgreSQL, using secure managed identity authentication.
+ Modernize your data layer by migrating from on-premises or legacy databases (such as DB2, Oracle DB, or SQL Server) to Azure SQL DB, Azure SQL Managed Instance, or Azure PostgreSQL. Use secure managed identity authentication.
- **Migrate to Azure File Storage**
@@ -102,7 +99,7 @@ Predefined tasks capture industry best practices for using Azure services. Curre
Transition authentication and authorization from Windows Active Directory to Microsoft Entra ID (formerly Azure AD) for modern identity management.
-- **Migrate to secured credentials with Managed Identity and Azure Key Vault**
+- **Migrate to secured credentials by using Managed Identity and Azure Key Vault**
Replace plaintext credentials in configuration or code with secure, managed identities and Azure Key Vault for secrets management.
@@ -112,33 +109,33 @@ Predefined tasks capture industry best practices for using Azure services. Curre
- **Migrate to Azure Communication Service email**
- Replace direct SMTP email sending with Azure Communication Service for scalable, secure email delivery.
+ Replace direct SMTP email sending by using Azure Communication Service for scalable, secure email delivery.
- **Migrate to Confluent Cloud/Azure Event Hub for Apache Kafka**
- Transition from local or on-premises Kafka to managed event streaming with Confluent Cloud or Azure Event Hubs.
+ Transition from local or on-premises Kafka to managed event streaming by using Confluent Cloud or Azure Event Hubs.
- **Migrate to OpenTelemetry on Azure**
Transition from local logging frameworks like log4net, serilog, and Windows event log to OpenTelemetry on Azure.
-- **Migrate to Azure Cache for Redis with Managed Identity**
+- **Migrate to Azure Cache for Redis by using Managed Identity**
Replace in-memory or local Redis cache implementations with Azure Cache for Redis for high availability, scalability, and enterprise-grade security.
## How it works
-To start an upgrade or migration, interact with GitHub Copilot by following these steps:
+To start an upgrade or migration process, see:
[!INCLUDE[github-copilot-how-to-initiate](./includes/how-to-initiate.md)]
When you ask the modernization agent to upgrade your app, Copilot first prompts you to create a new branch if you're working in a Git repository. Then Copilot runs a three-stage workflow. Each stage writes a Markdown file under `.github/upgrades` in your repository so you can review what comes next before you continue. If `.github/upgrades` already exists from a prior attempt, Copilot asks whether to continue or start fresh.
- **Assessment stage (`assessment.md`)**\
-Copilot examines your project structure, dependencies, and code patterns to build a comprehensive assessment. The document lists breaking changes, API compatibility issues, deprecated patterns, and the upgrade scope so you know exactly what needs attention.
+Copilot examines your project structure, dependencies, and code patterns to build a comprehensive assessment. The document lists breaking changes, API compatibility problems, deprecated patterns, and the upgrade scope so you know exactly what needs attention.
- **Planning stage (`plan.md`)**\
-Copilot converts the assessment into a detailed specification that explains how to resolve every issue. The plan documents upgrade strategies, refactoring approaches, dependency upgrade paths, and risk mitigations.
+Copilot converts the assessment into a detailed specification that explains how to resolve every problem. The plan documents upgrade strategies, refactoring approaches, dependency upgrade paths, and risk mitigations.
- **Execution stage (`tasks.md`)**\
Copilot breaks the plan into sequential, concrete tasks with validation criteria. Each task describes a single change and how Copilot confirms it succeeded.
@@ -147,22 +144,23 @@ Edit any of the Markdown files in `.github/upgrades` to adjust upgrade steps or
### Perform the upgrade
-As each stage is prepared, tell Copilot to move on to the next stage, giving you time to research and modify (if necessary) any of the tasks the stage has laid out.
+After each stage completes, review and modify the generated tasks as needed, and then tell Copilot to continue to the next stage.
-Once you reach the last stage, **Execution stage**, tell Copilot to start the upgrade. If Copilot runs into a problem, it tries to identify the cause and apply a fix. If Copilot can't correct the problem, it asks for your help. When you intervene, Copilot learns from the changes you make and tries to automatically apply them for you if the problem is encountered again.
+When you reach the **Execution stage**, tell Copilot to start the upgrade. If Copilot runs into a problem, it tries to identify the cause and apply a fix. If Copilot can't correct the problem, it asks for your help. When you intervene, Copilot learns from the changes you make and tries to automatically apply them if the problem comes up again.
### Upgrade results
-As Copilot runs each task, it updates the `tasks.md` file in `.github/upgrades` with the status of every step. Monitor progress by reviewing this file. The tool creates a Git commit for every portion of the process, so you can easily roll back the changes or get detailed information about what changed.
+As Copilot runs each task, it updates the `tasks.md` file in `.github/upgrades` with the status of every step. Monitor progress by reviewing this file. The tool creates a Git commit for every portion of the process, so you can roll back changes or review what changed.
-When the upgrade finishes, Copilot displays next steps in the chat response to guide you on what to do after the process completes.
+When the upgrade finishes, Copilot displays next steps in the chat response.
## Telemetry
-The tool collects data about project types, intent to upgrade, and upgrade duration. Visual Studio itself collects and aggregates the data and doesn't contain any user-identifiable information. For more information about Microsoft's privacy policy, see [Visual Studio Customer Experience Improvement Program](/visualstudio/ide/visual-studio-experience-improvement-program?view=visualstudio&preserve-view=true).
+The tool collects data about project types, intent to upgrade, and upgrade duration. The development environment collects and aggregates the data and doesn't contain any user-identifiable information. For more information about Microsoft's privacy policy, see [Visual Studio Customer Experience Improvement Program](/visualstudio/ide/visual-studio-experience-improvement-program?view=visualstudio&preserve-view=true).
## Related content
-- [How to upgrade a .NET app with GitHub Copilot app modernization](how-to-upgrade-with-github-copilot.md)
-- [Quickstart to migrate a .NET Project](../../../azure/migration/appmod/quickstart.md)
+- [Install GitHub Copilot app modernization](install.md)
+- [Upgrade a .NET app with GitHub Copilot app modernization](how-to-upgrade-with-github-copilot.md)
+- [Quickstart: Migrate a .NET project](../../../azure/migration/appmod/quickstart.md)
- [GitHub Copilot app modernization FAQ](faq.yml)
diff --git a/docs/core/porting/github-copilot-app-modernization/toc.yml b/docs/core/porting/github-copilot-app-modernization/toc.yml
index 799fafe263893..7e89935d104c0 100644
--- a/docs/core/porting/github-copilot-app-modernization/toc.yml
+++ b/docs/core/porting/github-copilot-app-modernization/toc.yml
@@ -3,6 +3,8 @@ items:
href: index.yml
- name: Overview
href: overview.md
+ - name: Install
+ href: install.md
- name: FAQ
href: faq.yml
displayName: copilot, upgrade
diff --git a/docs/includes/github-copilot-app-modernization-prereqs.md b/docs/includes/github-copilot-app-modernization-prereqs.md
index d450507ab3c3e..b089549c8726d 100644
--- a/docs/includes/github-copilot-app-modernization-prereqs.md
+++ b/docs/includes/github-copilot-app-modernization-prereqs.md
@@ -1,7 +1,7 @@
---
author: adegeo
ms.author: adegeo
-ms.date: 12/08/2025
+ms.date: 03/04/2026
ms.topic: include
# Shared by Azure.NET app mod and .NET app mod
---
@@ -21,3 +21,6 @@ ms.topic: include
> If you change subscriptions, you must restart Visual Studio.
- Code must be written in C#.
+
+> [!NOTE]
+> These prerequisites apply to Visual Studio. For other development environments, see [Install GitHub Copilot app modernization](../core/porting/github-copilot-app-modernization/install.md).
diff --git a/docs/zone-pivot-groups.yml b/docs/zone-pivot-groups.yml
index e6f3d469eaaca..0c28511b8a555 100644
--- a/docs/zone-pivot-groups.yml
+++ b/docs/zone-pivot-groups.yml
@@ -46,6 +46,18 @@ groups:
title: Visual Studio Code
- id: visualstudio
title: Visual Studio
+- id: copilot-modernization-install
+ title: Development environment
+ prompt: Choose your development environment
+ pivots:
+ - id: visualstudio
+ title: Visual Studio
+ - id: vscode
+ title: Visual Studio Code
+ - id: copilot-cli
+ title: GitHub Copilot CLI
+ - id: github-com
+ title: GitHub.com
- id: development-environment-one
title: Development environment
prompt: Choose a development environment