diff --git a/docs/azure/migration/appmod/includes/quickstart-visual-studio.md b/docs/azure/migration/appmod/includes/quickstart-visual-studio.md new file mode 100644 index 0000000000000..ca92540a6d9d4 --- /dev/null +++ b/docs/azure/migration/appmod/includes/quickstart-visual-studio.md @@ -0,0 +1,98 @@ +--- +ms.topic: include +ms.date: 01/22/2026 +--- + +## Prerequisites + +[!INCLUDE [github-copilot-app-modernization-prereqs](../../../../includes/github-copilot-app-modernization-prereqs.md)] + +## Assess app readiness + +GitHub Copilot app modernization for .NET assessment helps you find app readiness challenges, learn their impact, and see recommended migration tasks. Each migration task includes references to set up Azure resources, add configurations, and make code changes. Follow these steps to start your migration: + +1. Clone the [.NET migration copilot samples](https://github.com/Azure-Samples/dotnet-migration-copilot-samples) repository to your computer. + +1. In Visual Studio, open the **Contoso University** solution from the samples repository. + +1. In Solution Explorer, right-click the solution node and select **Modernize**. + + :::image type="content" source="../media/modernize-solution.png" alt-text="Screenshot that shows the modernize option in the context menu."::: + +1. The GitHub Copilot Chat window opens with a welcome message and predefined options. Select **Migrate to Azure** from the available choices and send it to Copilot. + + :::image type="content" source="../media/modernization-welcome.png" alt-text="Screenshot that shows the welcome message with migration options."::: + + > [!TIP] + > Instead of steps 3 and 4, you can open **GitHub Copilot Chat** directly and send `@Modernize Migrate to Azure` to start the assessment and migration flow. + +1. A new Copilot chat session opens and shows the welcome message. The assessment starts automatically and analyzes your project for migration readiness. + + :::image type="content" source="../media/assessment-in-process.png" alt-text="Screenshot that shows assessment in progress with status indicators."::: + +1. When the assessment finishes, you see a comprehensive assessment report UI page and a list of migration tasks in the chat window. + + :::image type="content" source="../media/assessment-report.png" alt-text="Screenshot that shows the generated assessment report with detailed findings."::: + +## App migrations + +GitHub Copilot app modernization for .NET includes [predefined tasks](../predefined-tasks.md) for common migration scenarios and follows Microsoft's best practices. + +### Start a migration task + +Start a migration task in one of the following ways: + +**Option 1. Run from the Assessment Report** + +Select the **Run Task** button in the Assessment Report from the previous step to start a migration task. + +**Option 2. Send in Copilot Chat** + +Send the migration task number (for example, 1.1) or its name in the chat. + +:::image type="content" source="../media/quickstart-chat-experience.png" alt-text="Screenshot of sending a message in Copilot Chat to start a migration task."::: + +### Plan and progress tracker generation + +- When you start the migration, GitHub Copilot starts a session named "App modernization: migrate from `` to ``" in agent mode with predefined prompts. +- The tool creates two files in the `.appmod/.migration` folder: + - `plan.md`: The overall migration plan. + - `progress.md`: A progress tracker that GitHub Copilot updates as it completes tasks. +- Edit these files to customize your migration before you continue. + +### Start code remediation + +- If you're satisfied with the plan and progress tracker, enter a prompt to start the migration process, such as: + + ```console + The plan and progress tracker look good to me. Go ahead with the migration. + ``` + +- GitHub Copilot starts the migration process and might ask for your approval to use knowledge base tools in the Model Context Protocol (MCP) server. Grant permission when prompted. +- Copilot follows the plan and progress tracker to: + - Manage dependencies. + - Apply configuration changes. + - Make code changes. + - Build the solution, fix all compilation and configuration errors, and ensure a successful build. + - Fix security vulnerabilities. + +## Default chat messages + +GitHub Copilot app modernization for .NET provides default chat message options to streamline your workflow. + +:::image type="content" source="../media/quickstart-followup.png" alt-text="Screenshot that shows default chat message options in the Copilot Chat."::: + +Choose one of the predefined options and send it in the chat: + +- **Run modernization assessment**: Starts a new assessment of your application to identify migration readiness issues and Azure compatibility challenges. +- **View assessment report**: Opens the previous assessment report and shows a summary of migration tasks based on the results. If no previous assessment exists, it runs a new assessment first. +- **Browse top migration tasks**: Shows recommended migration tasks and common modernization scenarios, regardless of any specific assessment results. + +> [!TIP] +> These default messages help you quickly navigate common workflows without typing custom prompts. You can also enter your own messages to interact with Copilot for specific questions or needs. + +## Next steps + +- [Working with assessment](../working-with-assessment.md) +- [Predefined Tasks](../predefined-tasks.md) +- [Frequently Asked Questions](../../../../core/porting/github-copilot-app-modernization/faq.yml) diff --git a/docs/azure/migration/appmod/includes/quickstart-vscode.md b/docs/azure/migration/appmod/includes/quickstart-vscode.md new file mode 100644 index 0000000000000..966c05aa36b52 --- /dev/null +++ b/docs/azure/migration/appmod/includes/quickstart-vscode.md @@ -0,0 +1,124 @@ +--- +ms.topic: include +ms.date: 01/26/2026 +title: GitHub Copilot App Modernization for .NET in VS Code +description: Learn how to assess .NET app readiness and migrate to Azure with GitHub Copilot in Visual Studio Code. Follow step-by-step guidance for seamless modernization. +--- + +## Prerequisites + +- A GitHub account with an active [GitHub Copilot](https://github.com/features/copilot) subscription under any plan. +- The latest version of [Visual Studio Code](https://code.visualstudio.com/). Must be version 1.101 or later. + + - [GitHub Copilot in Visual Studio Code](https://code.visualstudio.com/docs/copilot/overview). For setup instructions, see [Set up GitHub Copilot in VisualStudio Code](https://code.visualstudio.com/docs/copilot/setup). Be sure to sign in to your GitHub account within Visual Studio Code. + - [GitHub Copilot app modernization](https://marketplace.visualstudio.com/items?itemName=vscjava.migrate-java-to-azure). Restart Visual Studio Code afterinstallation. + +- A .NET development environment to build and test the project. + +## Assess app readiness + +GitHub Copilot app modernization for .NET assessment helps you find app readiness challenges, learn their impact, and see recommended migration tasks. Each migration task includes references to set up Azure resources, add configurations, and make code changes. Follow these steps to start your migration: + +1. Clone the [.NET migration copilot samples](https://github.com/Azure-Samples/dotnet-migration-copilot-samples) repository to your computer. + +1. In Visual Studio Code, open the **Contoso University** solution from the samples repository. + +1. Open the **GitHub Copilot app modernization** extension. + +1. In the **QUICKSTART** section, select **Start Assessment**. The **Assessment reports** page opens. + +1. Select **Run Assessment** in the upper-right corner of the page. + + :::image type="content" source="../media/vscode/start-assessment.png" alt-text="Screenshot of run a task in tasks section to start a migration task."::: + +1. The assessment starts automatically and analyzes your project for migration readiness. + + :::image type="content" source="../media/vscode/assessment-in-process.png" alt-text="Screenshot of run a task analyzing your project for migration readiness."::: + +1. When the assessment finishes, you see a comprehensive assessment report UI page and a list of migration tasks in the chat window. + + :::image type="content" source="../media/vscode/assessment-report.png" alt-text="Screenshot of run an assessment report UI page and a list of migration tasks."::: + +## App migrations + +GitHub Copilot app modernization for .NET includes [predefined tasks](../predefined-tasks.md) for common migration scenarios and follows Microsoft's best practices. + +### Chat-based migration (recommended) + +Chat-based migration is the recommended way to start a migration. The `AppModernization-DotNet` custom agent is optimized for application modernization tasks. This agent lets you use simple, natural language prompts to perform complex migration scenarios. + +Complete the following steps to select the custom agent and start the migration: + +1. Make sure you have a .NET project open in Visual Studio Code. + +1. Select the chat icon in the **Activity Bar** to open the Copilot chat window. + +1. In the chat window, locate the agent selector dropdown menu at the top of the chat input box. Select **AppModernization-DotNet** from the list. This custom agent is designed for .NET application modernization and migration scenarios. + + :::image type="content" source="../media/vscode/custom-agent.png" alt-text="Screenshot of selecting the .NET custom agent in the chat window."::: + +1. Enter a prompt using the format `migrate from to ` in the chat window. For example: + + ```text + migrate from rabbitmq to Azure service bus + ``` + +1. The agent analyzes your code, creates a migration plan, makes code changes, runs validations, and generates a summary. Select **Continue** to proceed through each step and **Keep** to accept the changes. + +### Start a migration task from the UI + +You can also start a migration task from the UI: + +**Option 1. Run from the Assessment Report** + +Select the **Run Task** button in the Assessment Report from the previous step to start a migration task. + +**Option 2. Apply a predefined task** + +Run the specific task in the **TASKS - .NET** section. For example, the **Migrate Database to Azure Database for PostgreSQL** task under **Database Tasks** updates your database connection, configurations, dependencies, and data access code to use Azure Database for PostgreSQL. + +:::image type="content" source="../media/vscode/run-task.png" alt-text="Screenshot of running a specific predefined task."::: + +### Plan and progress tracker generation + +When you start the migration, GitHub Copilot starts a session in agent mode. + +The tool creates two files in the `.github/appmod/code-migration/` folder: + +- `plan.md`: The overall migration plan. +- `progress.md`: A progress tracker that GitHub Copilot updates as it completes tasks. + +Edit these files to customize your migration before you continue. + +:::image type="content" source="../media/vscode/start-migration.png" alt-text="Screenshot of plan generation during a migration task."::: + +### Start code remediation + +When you're satisfied with the plan and progress tracker, enter **continue** to start the migration. + +GitHub Copilot starts the migration process and might ask for your approval to use knowledge base tools in the Model Context Protocol (MCP) server. Grant permission when prompted. + +Copilot follows the plan and progress tracker to: + +- Manage dependencies. +- Apply configuration changes. +- Make code changes. +- Build the project, fix all compilation and configuration errors, and ensure a successful build. +- Fix security vulnerabilities. + +Repeatedly select or enter **Continue** to confirm the use of tools or commands and wait for the code changes to finish. + +> [!NOTE] +> In Visual Studio Code, app modernization uses the `AppModernization-DotNet` custom agent with Claude Sonnet 4.5 by default for best results when updating .NET code to migrate to Azure. It falls back to the 'auto' model if Sonnet 4.5 isn't available to you. You can configure the custom agent to [modify the 'model' setting](https://code.visualstudio.com/docs/copilot/customization/custom-agents#_custom-agent-file-structure) by selecting **Configure Custom Agents** from the **Agent** menu. Alternatively, you can use the language model picker in the chat window to switch models for the current chat session. + +### Validation iteration + +After the code changes finish, the migration tool starts a validation and fix iteration loop. This loop includes the following five steps: + +1. Detect Common Vulnerabilities and Exposures (CVEs) in current dependencies and fix them. +1. Build the project and resolve any build errors. +1. Analyze the code for functional consistency. +1. Analyze the project for unit test failures and automatically generate a plan to fix them until the tests pass. +1. Analyze the code for migration items missed in the initial code migration and fix them. + +After all processes complete, the migration tool generates a summary. Review the code changes and confirm them by selecting **Keep**. diff --git a/docs/azure/migration/appmod/media/vscode/assessment-in-process.png b/docs/azure/migration/appmod/media/vscode/assessment-in-process.png new file mode 100644 index 0000000000000..79d209e911a8d Binary files /dev/null and b/docs/azure/migration/appmod/media/vscode/assessment-in-process.png differ diff --git a/docs/azure/migration/appmod/media/vscode/assessment-report.png b/docs/azure/migration/appmod/media/vscode/assessment-report.png new file mode 100644 index 0000000000000..b898776ce93e9 Binary files /dev/null and b/docs/azure/migration/appmod/media/vscode/assessment-report.png differ diff --git a/docs/azure/migration/appmod/media/vscode/custom-agent.png b/docs/azure/migration/appmod/media/vscode/custom-agent.png new file mode 100644 index 0000000000000..2414944300577 Binary files /dev/null and b/docs/azure/migration/appmod/media/vscode/custom-agent.png differ diff --git a/docs/azure/migration/appmod/media/vscode/run-task.png b/docs/azure/migration/appmod/media/vscode/run-task.png new file mode 100644 index 0000000000000..644d8664d53ff Binary files /dev/null and b/docs/azure/migration/appmod/media/vscode/run-task.png differ diff --git a/docs/azure/migration/appmod/media/vscode/start-assessment.png b/docs/azure/migration/appmod/media/vscode/start-assessment.png new file mode 100644 index 0000000000000..eecc2d2e80afe Binary files /dev/null and b/docs/azure/migration/appmod/media/vscode/start-assessment.png differ diff --git a/docs/azure/migration/appmod/media/vscode/start-migration.png b/docs/azure/migration/appmod/media/vscode/start-migration.png new file mode 100644 index 0000000000000..f85fbe1dac6c8 Binary files /dev/null and b/docs/azure/migration/appmod/media/vscode/start-migration.png differ diff --git a/docs/azure/migration/appmod/quickstart.md b/docs/azure/migration/appmod/quickstart.md index 112ed94de3c9f..ca7cdc6762790 100644 --- a/docs/azure/migration/appmod/quickstart.md +++ b/docs/azure/migration/appmod/quickstart.md @@ -1,10 +1,11 @@ --- title: Assess and migrate a .NET project with GitHub Copilot app modernization for .NET ms.reviewer: alexwolf -description: Learn how to assess and migrate a .NET project by using GitHub Copilot app modernization for .NET. +description: Assess and migrate your .NET project with GitHub Copilot. Learn how to evaluate migration readiness and start modernizing your app effectively. ms.topic: quickstart ms.custom: devx-track-dotnet -ms.date: 09/22/2025 +ms.date: 01/26/2026 +zone_pivot_groups: ide-set-one #customer intent: As a .NET developer, I want to assess my project's migration readiness so that I can identify potential challenges and plan the modernization process effectively. --- @@ -15,96 +16,15 @@ In this quickstart, you assess and migrate a .NET project by using GitHub Copilo - Assess a sample project (Contoso University) - Start the migration process -## Prerequisites +::: zone pivot="visualstudio" +[!INCLUDE [quickstart-visual-studio](./includes/quickstart-visual-studio.md)] +::: zone-end -[!INCLUDE [github-copilot-app-modernization-prereqs](../../../includes/github-copilot-app-modernization-prereqs.md)] - -## Assess app readiness - -GitHub Copilot app modernization for .NET assessment helps you find app readiness challenges, learn their impact, and see recommended migration tasks. Each migration task includes references to set up Azure resources, add configurations, and make code changes. Follow these steps to start your migration: - -1. Clone the [.NET migration copilot samples](https://github.com/Azure-Samples/dotnet-migration-copilot-samples) repository to your computer. - -1. In Visual Studio, open the **Contoso University** solution from the samples repository. - -1. In Solution Explorer, right-click the solution node and select **Modernize**. - - :::image type="content" source="media/modernize-solution.png" alt-text="Screenshot that shows the modernize option in the context menu."::: - -1. The GitHub Copilot Chat window opens with a welcome message and predefined options. Select **Migrate to Azure** from the available choices and send it to Copilot. - - :::image type="content" source="media/modernization-welcome.png" alt-text="Screenshot that shows the welcome message with migration options."::: - - > [!TIP] - > Instead of steps 3 and 4, you can open **GitHub Copilot Chat** directly and send `@Modernize Migrate to Azure` to start the assessment and migration flow. - -1. A new Copilot chat session opens and shows the welcome message. The assessment starts automatically and analyzes your project for migration readiness. - - :::image type="content" source="media/assessment-in-process.png" alt-text="Screenshot that shows assessment in progress with status indicators."::: - -1. When the assessment finishes, you see a comprehensive assessment report UI page and a list of migration tasks in the chat window. - - :::image type="content" source="media/assessment-report.png" alt-text="Screenshot that shows the generated assessment report with detailed findings."::: - -## App migrations - -GitHub Copilot app modernization for .NET includes [predefined tasks](predefined-tasks.md) for common migration scenarios and follows Microsoft's best practices. - -### Start a migration task - -Start a migration task in one of the following ways: - -**Option 1. Run from the Assessment Report** - -Select the **Run Task** button in the Assessment Report from the previous step to start a migration task. - -**Option 2. Send in Copilot Chat** - -Send the migration task number (for example, 1.1) or its name in the chat. - -:::image type="content" source="media/quickstart-chat-experience.png" alt-text="Screenshot of sending a message in Copilot Chat to start a migration task."::: - -### Plan and progress tracker generation - -- When you start the migration, GitHub Copilot starts a session named "App modernization: migrate from `` to ``" in agent mode with predefined prompts. -- The tool creates two files in the `.appmod/.migration` folder: - - `plan.md` - the overall migration plan - - `progress.md` - a progress tracker; GitHub Copilot marks items as it completes tasks -- Edit these files to customize your migration before you continue. - -### Start code remediation - -- If you're satisfied with the plan and progress tracker, enter a prompt to start the migration, such as: - - ```console - The plan and progress tracker look good to me. Go ahead with the migration. - ``` - -- GitHub Copilot starts the migration process and might ask for your approval to use knowledge base tools in the Model Context Protocol (MCP) server. Grant permission when prompted. -- Copilot follows the plan and progress tracker to: - - Manage dependencies - - Apply configuration changes - - Make code changes - - Build the solution, fix all compilation and configuration errors, and ensure a successful build - - Fix security vulnerabilities - -## Default chat messages - -GitHub Copilot app modernization for .NET gives you default chat message options to streamline your workflow. - -:::image type="content" source="media/quickstart-followup.png" alt-text="Screenshot that shows default chat message options in the Copilot Chat."::: - -You can choose one of the predefined options and send it in the chat: - -- **Run modernization assessment**: Starts a new assessment of your application to identify migration readiness issues and Azure compatibility challenges. -- **View assessment report**: Opens the previous assessment report and shows a summary of migration tasks based on the results. If no previous assessment exists, it runs a new assessment first. -- **Browse top migration tasks**: Shows recommended migration tasks and common modernization scenarios, regardless of any specific assessment results. - -> [!TIP] -> These default messages help you quickly navigate common workflows without typing custom prompts. You can also enter your own messages to interact with Copilot for specific questions or needs. +::: zone pivot="vscode" +[!INCLUDE [quickstart-vscode](./includes/quickstart-vscode.md)] +::: zone-end ## Next Steps -- [Working with assessment](working-with-assessment.md) - [Predefined Tasks](predefined-tasks.md) -- [Frequently Asked Questions](../../../core/porting/github-copilot-app-modernization/faq.yml) +- [GitHub Copilot app modernization FAQ](../../../core/porting/github-copilot-app-modernization/faq.yml)