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.
- Plano visual e indicadores de progresso.
- Prompts guiados para opções de configuração.
- 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 <path> |
O caminho para o projeto de origem (caminho local relativo ou absoluto). |
. (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 problema do GitHub a ser atualizada com o resumo da avaliação. | Nenhum |
--multi-repo |
Habilita a avaliação de vários repositórios. Verifica subdiretórios de primeiro nível em busca de vários repositórios. | Desactivado |
--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 o problema do GitHub 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
Avaliar vários repositórios no diretório atual:
modernize assess --multi-repo
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.
-
Emitir atualizações (se você fornecer
--issue-url): o GitHub emitirá um 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> |
O caminho para o projeto de origem (caminho local relativo ou absoluto). |
. (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
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
Crie um .github/modernize/repos.json arquivo para habilitar o modo de vários repositórios:
[
{
"name": "PhotoAlbum-Java",
"url": "https://github.com/Azure-Samples/PhotoAlbum-Java.git"
},
{
"name": "PhotoAlbum",
"url": "https://github.com/Azure-Samples/PhotoAlbum.git"
}
]
Depois que o repos.json arquivo estiver em vigor, use os seguintes comandos para operar em todos os repositórios configurados:
Avalie todos os repositórios localmente:
modernize assess
Avalie todos os repositórios usando o Cloud Coding Agent:
modernize assess --delegate cloud
Atualize todos os repositórios usando o Cloud Coding Agent:
modernize upgrade --delegate cloud