Edit

Share via


Languages and frameworks supported by GitHub Copilot app modernization

This article describes the languages and frameworks supported by GitHub Copilot app modernization.

Java

The following sections describe the Java support.

Upgrade the Java version

GitHub Copilot app modernization can help you upgrade the Java version of your application and fix compilation issues and common vulnerabilities. You can customize the upgrade plan to consider more goals or guidelines during the Java version upgrade.

Upgrade the Java framework version

GitHub Copilot app modernization can help you upgrade the framework version of your Java application, whether it's Spring, Spring Boot, or Java EE/Jakarta EE. The tool makes sure the JDK version is also upgraded to be compatible with the framework version, and verifies the changes with build fixes and CVE checks.

Migrate Java apps to Azure

GitHub Copilot app modernization can help you migrate your Java application to Azure by assessing its cloud readiness and updating the code for dependency services.

The tool supports Common scenarios with AI-assisted code changes out-of-box, and you can define and run your custom tasks with reference knowledge such as git commits, plain-text files, and URLs without authentication. Code changes are validated with compilation and CVE fixes.

For Java EE / Jakarta EE applications, you need to first make sure your application architecture is compatible with the target Azure platform. For example, some JBoss EAP apps can be deployed to Azure App Service, but WebSphere apps should be transformed to Liberty before being deployed to Azure Kubernetes Service (AKS). After such transformation, GitHub Copilot app modernization can help you update the code for dependency services if they're called with direct APIs.

.NET

The following sections describe the .NET support.

Upgrade the .NET version

GitHub Copilot app modernization can help you upgrade the .NET version of your application, from an older .NET version or from .NET Framework. You can customize the upgrade plan with your requirements and preferences. Code changes are validated with compilation and CVE fixes.

Migrate .NET apps to Azure

GitHub Copilot app modernization can help you migrate your .NET application to Azure by assessing its cloud readiness and updating the code for dependency services.

The tool supports common scenarios with AI-assisted code changes out of the box. It validates code changes with compilation and CVE fixes.

Python

The following section describes the Python support.

Migrate to Microsoft Agent Framework

GitHub Copilot app modernization can help you migrate your Python application from Semantic Kernel or AutoGen to Microsoft Agent Framework.

To migrate to Microsoft Agent Framework:

  1. Make sure you install and enable GitHub Copilot app modernization in Visual Studio Code. For best results, select Claude Sonnet 4 or later as your model.

  2. Open your Python project that uses Semantic Kernel or AutoGen in Visual Studio Code.

  3. Select the app modernization extension to open the sidebar.

  4. Start the migration process by using one of these methods:

    • Select the Convert to Agent Framework button when detected automatically.
    • Manually navigate to Tasks > Python > Agent Framework Migration > Migrate AutoGen to Agent Framework or Migrate Semantic Kernel to Agent Framework.

    Screenshot of Visual Studio Code that shows the GitHub Copilot app modernization pane with the Convert to Agent Framework button highlighted.

    Tip

    If you have a hybrid project with both Java and Python, use the manual navigation method through the Tasks list to select the Python migration option.

  5. The extension starts the migration process in the Copilot Agent chat window.

    Screenshot of Visual Studio Code that shows the GitHub Copilot app modernization chat pane with the migration task being invoked through the appmod-run-task tool.

  6. To complete the migration, follow the guidance in the chat window. After code migration, the workflow sets up a Python virtual environment if it isn't already set up, installs project dependencies, then runs the following Python-specific validation steps:

    • Checks Python syntax issues: Resolves Python syntax and import issues.
    • Checks Python lint issues: Installs linters if they aren't already installed then resolves lint issues per project configuration.
    • Runs Python tests: Installs test runners if they aren't already installed then runs tests to verify the migration quality.

    Screenshot of Visual Studio Code that shows the GitHub Copilot app modernization pane with the environment setup, syntax checking, and lint checking in the migration workflow.

    Screenshot of Visual Studio Code that shows the GitHub Copilot app modernization pane with the Run Python Tests step in the migration workflow.

  7. Review the migration summary, which includes the files migrated, validation results, and more.

    Screenshot of Visual Studio Code that shows the GitHub Copilot app modernization pane with the migration summary including the migrated files and validation results.

Language-agnostic

The following sections describe the language-agnostic support.

Containerization

Regardless of language, GitHub Copilot app modernization can help you containerize your application by creating Dockerfiles and building container images.

For more information, see the Java example on Visual Studio Code or the .NET example on Visual Studio. You can containerize any application with the Containerization Tasks options under the Common Tasks list in the app modernization extension sidebar in Visual Studio Code.

Deploy to Azure

Regardless of language, GitHub Copilot app modernization can help you deploy your application on existing or new Azure resources.

For more information, see the Java example on Visual Studio Code or the .NET example on Visual Studio. You can deploy any application with the Deployment Tasks options under the Common Tasks list in the app modernization extension sidebar in Visual Studio Code.

See also

To learn more about GitHub Copilot app modernization, see GitHub Copilot app modernization documentation.