Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
O agente de modernização do GitHub Copilot fornece modos interativos e não interativos para modernização de aplicativos.
Modos de comando
Modo interativo
Inicie a TUI (Interface do Usuário de Texto) interativa para modernização guiada:
modernize
O modo interativo fornece:
- Navegação orientada por menu por meio do fluxo de trabalho de modernização.
- Seleção de origem flexível: pasta atual, entrada manual (caminhos locais ou URLs do Git) ou arquivos de configuração do repositório.
- Plano visual e indicadores de progresso.
- Prompts guiados para opções de configuração, incluindo domínios de avaliação e parâmetros.
- Interface de seleção de vários repositórios.
Modo não interativo
Execute comandos específicos diretamente para automação e script:
modernize <command> [options]
Use o modo não interativo quando:
- Integração com pipelines de CI/CD.
- Automatizando operações em lote.
- Fluxos de trabalho de modernização de script.
- Em execução em ambientes sem cabeça.
Opções globais
Todos os comandos dão suporte a estas opções globais:
| Opção | Descrição |
|---|---|
--help, -h |
Exibe informações de ajuda. |
--no-tty |
Desabilita prompts interativos (modo sem cabeça). |
Comandos
avaliar
Executa uma avaliação e gera um relatório de análise abrangente.
Sintaxe
modernize assess [options]
Opções
| Opção | Descrição | Default |
|---|---|---|
--source <source> |
Origem a ser avaliada (repetível). Aceita caminhos locais, URLs do Git ou um caminho de arquivo de configuração JSON. Use vários --source sinalizadores para especificar vários repositórios. |
. (diretório atual) |
--output-path <path> |
Um caminho de saída personalizado para os resultados da avaliação. | .github/modernize/assessment/ |
--issue-url <url> |
Uma URL de GitHub problema a ser atualizada com o resumo da avaliação. | Nenhum |
--format <format> |
Formato de saída para relatórios de avaliação: html ou markdown. |
html |
--assess-config <path> |
Caminho para um arquivo YAML de configuração de avaliação que substitui parâmetros de avaliação padrão, como runtime de destino, serviços de computação e cobertura de análise. | Descoberta automática ou padrões |
--model <model> |
O modelo LLM a ser usado. | claude-sonnet-4.6 |
--delegate <delegate> |
O modo de execução: local (este computador) ou cloud (Cloud Coding Agent). |
local |
--wait |
Aguarda que as tarefas delegadas sejam concluídas e gerem resultados (somente válidos com --delegate cloud). |
Desactivado |
--force |
Força a reinicialização da delegação, ignorando tarefas em andamento (somente válidas com --delegate cloud). |
Desactivado |
Exemplos
Avaliação básica do diretório atual:
modernize assess
Avaliar com o local de saída personalizado:
modernize assess --output-path ./reports/assessment
Avaliar e atualizar GitHub problema com os resultados:
modernize assess --issue-url https://github.com/org/repo/issues/123
Avalie o diretório de projeto específico:
modernize assess --source /path/to/project
Avalie vários repositórios usando um arquivo de configuração:
modernize assess --source .github/modernize/repos.json
Avalie vários repositórios especificando fontes diretamente:
modernize assess --source https://github.com/org/repo1 --source https://github.com/org/repo2
Avaliar e produzir relatórios no formato markdown:
modernize assess --format markdown
Saída
A avaliação gera:
- Arquivos de relatório: análise detalhada em formatos JSON, MD e HTML.
- Resumo: Principais descobertas e recomendações.
-
Issue updates (se você fornecer
--issue-url): GitHub emitir comentário com resumo.
criar plano
Cria um plano de modernização com base em um prompt de linguagem natural que descreve suas metas de modernização.
Sintaxe
modernize plan create <prompt> [options]
Argumentos
| Argument | Descrição |
|---|---|
<prompt> |
Uma descrição em linguagem natural das metas de modernização (necessárias). |
Opções
| Opção | Descrição | Default |
|---|---|---|
--source <path> |
O caminho para o código-fonte do aplicativo. | Diretório atual |
--plan-name <name> |
O nome do plano de modernização. | modernization-plan |
--language <lang> |
A linguagem de programação (javaoudotnetpython). |
Detectado automaticamente |
--overwrite |
Substitui um plano existente com o mesmo nome. | Desactivado |
--model <model> |
O modelo LLM a ser usado. | claude-sonnet-4.6 |
Exemplos
Gere um plano de migração:
modernize plan create "migrate from oracle to azure postgresql"
Gere um plano de atualização com o nome personalizado:
modernize plan create "upgrade to spring boot 3" --plan-name spring-boot-upgrade
Gerar um plano de implantação:
modernize plan create "deploy the app to azure container apps" --plan-name deploy-to-aca
Exemplo de opções completas:
modernize plan create "upgrade to .NET 8" \
--source /path/to/project \
--plan-name dotnet8-upgrade \
--language dotnet \
--issue-url https://github.com/org/repo/issues/456
Exemplos de pedidos
Atualizações da estrutura:
upgrade to spring boot 3upgrade to .NET 10upgrade to JDK 21migrate from spring boot 2 to spring boot 3
Migrações de banco de dados:
migrate from oracle to azure postgresqlmigrate from SQL Server to azure cosmos dbswitch from MySQL to azure database for mysql
Migrações na nuvem:
migrate from on-premises to azurecontainerize and deploy to azure container appsmigrate from rabbitmq to azure service bus
Implantação:
deploy to azure app servicedeploy to azure kubernetes serviceset up CI/CD pipeline for azure
Saída
O comando gera:
Arquivo de plano (
.github/modernize/{plan-name}/plan.md): estratégia de modernização detalhada, incluindo:- Contexto e metas
- Abordagem e metodologia
- Esclarecimentos
Lista de tarefas (
.github/modernize/{plan-name}/tasks.json): detalhamento estruturado de tarefas executáveis com:- Descrições da tarefa
- Habilidades a serem usadas
- Critérios de sucesso
Dica
Você pode editar manualmente a plan.md geração após a tasks.json geração para personalizar a abordagem antes da execução.
execução do plano
Executa um plano de modernização criado por modernize plan create.
Sintaxe
modernize plan execute [prompt] [options]
Argumentos
| Argument | Descrição |
|---|---|
[prompt] |
As instruções opcionais de linguagem natural para execução (por exemplo, "ignorar testes"). |
Opções
| Opção | Descrição | Default |
|---|---|---|
--source <path> |
O caminho para o código-fonte do aplicativo. | Diretório atual |
--plan-name <name> |
O nome do plano a ser executado. | modernization-plan |
--language <lang> |
A linguagem de programação (java ou dotnet). |
Detectado automaticamente |
--model <model> |
O modelo LLM a ser usado. | claude-sonnet-4.6 |
--delegate <delegate> |
O modo de execução: local (este computador) ou cloud (Cloud Coding Agent). |
local |
--force |
Força a execução mesmo quando um trabalho CCA está em andamento. | Desactivado |
Exemplos
Execute o plano mais recente interativamente:
modernize plan execute
Execute um plano específico:
modernize plan execute --plan-name spring-boot-upgrade
Execute com instruções extras:
modernize plan execute "skip the test" --plan-name spring-boot-upgrade
Execute no modo sem cabeça para CI/CD:
modernize plan execute --plan-name spring-boot-upgrade --no-tty
Comportamento de execução
Durante a execução, o agente:
Carrega o plano: lê o plano e a lista de tarefas de
.github/modernization/{plan-name}/Executa tarefas: processa cada tarefa na lista de tarefas sequencialmente:
- Aplica transformações de código.
- Valida builds após alterações.
- Verifica se há CVEs.
- Confirma alterações com mensagens descritivas.
Gera resumo: fornece um relatório de todas as alterações e resultados.
Saída
- Histórico de confirmação: confirmações detalhadas para cada tarefa executada.
- Relatório de resumo: Visão geral de alterações, êxitos e quaisquer problemas encontrados.
- Validação de build: confirmação de que o aplicativo é compilado com êxito.
- Relatório CVE: vulnerabilidades de segurança identificadas e endereçadas.
atualização
Executa um fluxo de trabalho de atualização de ponta a ponta – planejar e executar – em um único comando.
Sintaxe
modernize upgrade [prompt] [options]
Argumentos
| Argument | Descrição |
|---|---|
[prompt] |
A versão de destino, como Java 17, Spring Boot 3.2, .NET 10. O padrão é o LTS mais recente. |
Opções
| Opção | Descrição | Default |
|---|---|---|
--source <source> |
Origem para atualização (repetível). Aceita caminhos locais, URLs do Git ou um caminho de arquivo de configuração JSON. Use vários --source sinalizadores para especificar vários repositórios. |
. (diretório atual) |
--delegate <delegate> |
O modo de execução: local (este computador) ou cloud (Cloud Coding Agent). |
local |
--model <model> |
O modelo LLM a ser usado. | claude-sonnet-4.6 |
Exemplos
Execute upgrade no diretório atual:
modernize upgrade "Java 17"
modernize upgrade ".NET 10"
Execute upgrade em um projeto específico:
modernize upgrade "Java 17" --source /path/to/project
Execute upgrade usando o Cloud Coding Agent:
modernize upgrade "Java 17" --delegate cloud
Atualize vários repositórios usando um arquivo de configuração:
modernize upgrade "Java 21" --source .github/modernize/repos.json
Atualize vários repositórios especificando fontes diretamente:
modernize upgrade "Java 21" --source https://github.com/org/repo1 --source https://github.com/org/repo2
ajuda
Fornece comandos de ajuda e informações.
Sintaxe
modernize help [command]
Comandos
| Command | Descrição |
|---|---|
models |
Lista os modelos llm disponíveis e seus multiplicadores. |
Exemplos
Listar modelos disponíveis:
modernize help models
Configurar a CLI
Usando o agente de modernização, você pode personalizar o comportamento do aplicativo por meio de arquivos JSON e variáveis de ambiente.
Variáveis de ambiente
Defina variáveis de ambiente para substituir todos os outros escopos de configuração:
| Variable | Descrição | Default |
|---|---|---|
MODERNIZE_LOG_LEVEL |
O nível de registro em log (none, , error, warninginfo, , debug, all) |
info |
MODERNIZE_MODEL |
O modelo LLM a ser usado. | claude-sonnet-4.6 |
MODERNIZE_COLLECT_TELEMETRY |
Habilitar ou desabilitar a coleção de telemetria. | true |
Exemplo:
export MODERNIZE_LOG_LEVEL=debug
export MODERNIZE_MODEL=claude-sonnet-4.6
modernize assess
Configuração do usuário
Armazene preferências específicas do usuário em ~/.modernize/config.json configurações em todo o repositório em .github/modernize/config.json.
{
"model": "claude-sonnet-4.6",
"log_level": "info",
"trusted_folders": [
"/path/to/trusted/project",
]
}
A trusted_folders propriedade especifica as pastas confiáveis para usar LLM no modo interativo.
Observação
As variáveis de ambiente têm a precedência mais alta, seguida pela configuração do usuário e, em seguida, pela configuração do repositório. Use variáveis de ambiente para substituições de CI/CD e configuração do usuário para preferências pessoais.
Configuração de vários repositórios
Você pode fornecer várias fontes à CLI de várias maneiras:
-
Arquivo de configuração do repositório: crie um
.github/modernize/repos.jsonarquivo que lista todos os repositórios e, em seguida, passe-o com--source. -
Vários
--sourcesinalizadores: especifique caminhos locais ou URLs do Git diretamente na linha de comando. - Modo interativo: selecione fontes por meio da TUI (pasta atual, entrada manual ou configuração do repositório).
Arquivo de configuração do repositório
Crie um .github/modernize/repos.json arquivo para definir sua lista de repositórios. A configuração dá suporte a dois formatos:
Formato simples (matriz de repositórios):
[
{
"name": "PhotoAlbum-Java",
"url": "https://github.com/Azure-Samples/PhotoAlbum-Java.git"
},
{
"name": "PhotoAlbum",
"url": "https://github.com/Azure-Samples/PhotoAlbum.git"
}
]
Formato completo (com ramificação e caminhos locais):
{
"repos": [
{
"name": "PhotoAlbum-Java",
"url": "https://github.com/Azure-Samples/PhotoAlbum-Java.git",
"branch": "main"
},
{
"name": "local-project",
"path": "/absolute/path/to/project"
}
]
}
Cada entrada de repositório dá suporte aos seguintes campos:
| Campo | Descrição | Obrigatório |
|---|---|---|
name |
Um nome amigável para o repositório. | Sim |
url |
URL de clone do Git (HTTPS ou SSH). | Um de url ou path |
path |
Caminho absoluto do diretório local. | Um de url ou path |
branch |
Branch para fazer check-out após a clonagem. | No |
description |
Descrição legível por humanos. | No |
Formato completo com agrupamento de aplicativos (opcional, para relatórios organizados):
Você pode adicionar uma apps[] seção para agrupar repositórios em aplicativos lógicos. Quando os aplicativos são definidos, o relatório agregado organiza os resultados por aplicativo e dá suporte à distribuição de relatório.
{
"repos": [
{
"name": "PhotoAlbum-Java",
"url": "https://github.com/Azure-Samples/PhotoAlbum-Java.git",
"branch": "main"
},
{
"name": "PhotoAlbum",
"url": "https://github.com/Azure-Samples/PhotoAlbum.git"
}
],
"apps": [
{
"identifier": "photo-app",
"description": "Photo management application",
"repos": ["PhotoAlbum-Java"],
"output": {
"type": "local",
"path": "/path/to/reports/photo-app"
}
}
]
}
Cada entrada de aplicativo dá suporte a:
| Campo | Descrição | Obrigatório |
|---|---|---|
identifier |
Nome de exibição exclusivo do aplicativo. | Sim |
description |
Descrição legível por humanos. | No |
repos |
Lista de nomes de repositório que pertencem a este aplicativo. | Sim |
output |
Onde distribuir o relatório de avaliação deste aplicativo após a geração. | No |
O output campo dá suporte aos seguintes tipos de distribuição:
| Tipo | Descrição | Campos obrigatórios |
|---|---|---|
local |
Copie relatórios para um diretório local. | path |
git |
Envie relatórios por push para um repositório Git. Formato de URL: https://github.com/org/repo.git#branch:path. |
url |
Importante
A delegação do Cloud Coding Agent (--delegate cloud) requer que os repositórios tenham GitHub (github.com) URLs do repositório. Repositórios de caminho local e provedores não GitHub (GitLab, Azure DevOps) não têm suporte para delegação de nuvem e são ignorados.
Em seguida, use --source para passar o caminho do arquivo de configuração:
Avalie todos os repositórios localmente:
modernize assess --source .github/modernize/repos.json
Avalie todos os repositórios usando o Cloud Coding Agent:
modernize assess --source .github/modernize/repos.json --delegate cloud
Atualize todos os repositórios usando o Cloud Coding Agent:
modernize upgrade --source .github/modernize/repos.json --delegate cloud
Várias fontes na linha de comando
Você também pode especificar várias fontes diretamente:
modernize assess --source https://github.com/org/repo1 --source https://github.com/org/repo2
modernize upgrade "Java 21" --source ./project-a --source ./project-b