Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
El agente de modernización GitHub Copilot proporciona modos interactivos y no interactivos para la modernización de aplicaciones.
Modos de comando
Modo interactivo
Inicie la interfaz de usuario interactiva de texto (TUI) para la modernización guiada:
modernize
El modo interactivo proporciona:
- Navegación controlada por menús a través del flujo de trabajo de modernización.
- Selección de origen flexible: carpeta actual, entrada manual (rutas de acceso locales o direcciones URL de Git) o archivos de configuración del repositorio.
- Indicadores visuales de plan y progreso.
- Avisos guiados para las opciones de configuración, incluidos los dominios de evaluación y los parámetros.
- Interfaz de selección de varios repositorios.
Modo no interactivo
Ejecute comandos específicos directamente para automatización y scripting:
modernize <command> [options]
Use el modo no interactivo cuando:
- Integración con canalizaciones de CI/CD.
- Automatización de las operaciones por lotes.
- Flujos de trabajo de modernización de scripting.
- Se ejecuta en entornos sin encabezado.
Opciones globales
Todos los comandos admiten estas opciones globales:
| Opción | Descripción |
|---|---|
--help, -h |
Muestra información de ayuda. |
--no-tty |
Deshabilita los avisos interactivos (modo sin encabezado). |
Commands
evaluar
Ejecuta una evaluación y genera un informe de análisis completo.
Sintaxis
modernize assess [options]
Options
| Opción | Descripción | Predeterminado |
|---|---|---|
--source <source> |
Origen que se va a evaluar (repetible). Acepta rutas de acceso locales, direcciones URL de Git o una ruta de acceso del archivo de configuración JSON. Use varias --source marcas para especificar varios repositorios. |
. (directorio actual) |
--output-path <path> |
Ruta de acceso de salida personalizada para los resultados de la evaluación. | .github/modernize/assessment/ |
--issue-url <url> |
Dirección URL de GitHub problema para actualizar con el resumen de evaluación. | Ninguno |
--format <format> |
Formato de salida para los informes de evaluación: html o markdown. |
html |
--assess-config <path> |
Ruta de acceso a un archivo YAML de configuración de evaluación que invalida los parámetros de evaluación predeterminados, como el tiempo de ejecución de destino, los servicios de proceso y la cobertura de análisis. | Detección automática o valores predeterminados |
--model <model> |
Modelo LLM que se va a usar. | claude-sonnet-4.6 |
--delegate <delegate> |
Modo de ejecución: local (esta máquina) o cloud (Agente de codificación en la nube). |
local |
--wait |
Espera a que las tareas delegadas se completen y generen resultados (solo válidos con --delegate cloud). |
Deshabilitado |
--force |
Fuerza la delegación de reinicio, ignorando las tareas en curso (solo válidas con --delegate cloud). |
Deshabilitado |
Ejemplos
Evaluación básica del directorio actual:
modernize assess
Evaluar con la ubicación de salida personalizada:
modernize assess --output-path ./reports/assessment
Evalúe y actualice GitHub problema con los resultados:
modernize assess --issue-url https://github.com/org/repo/issues/123
Evaluar directorios de proyectos específicos:
modernize assess --source /path/to/project
Evalúe varios repositorios mediante un archivo de configuración:
modernize assess --source .github/modernize/repos.json
Evalúe varios repositorios especificando orígenes directamente:
modernize assess --source https://github.com/org/repo1 --source https://github.com/org/repo2
Evaluar y generar informes en formato Markdown:
modernize assess --format markdown
Salida
La evaluación genera:
- Archivos de informe: análisis detallado en formatos JSON, MD y HTML.
- Resumen: conclusiones clave y recomendaciones.
- actualizaciones de Issue (si proporciona
--issue-url): GitHub emitir comentario con resumen.
plan create
Crea un plan de modernización basado en un lenguaje natural que describe los objetivos de modernización.
Sintaxis
modernize plan create <prompt> [options]
Argumentos
| Argumento | Descripción |
|---|---|
<prompt> |
Descripción del lenguaje natural de los objetivos de modernización (obligatorios). |
Options
| Opción | Descripción | Predeterminado |
|---|---|---|
--source <path> |
Ruta de acceso al código fuente de la aplicación. | Directorio actual |
--plan-name <name> |
Nombre del plan de modernización. | modernization-plan |
--language <lang> |
Lenguaje de programación (java, dotneto python). |
Detección automática |
--overwrite |
Sobrescribe un plan existente con el mismo nombre. | Deshabilitado |
--model <model> |
Modelo LLM que se va a usar. | claude-sonnet-4.6 |
Ejemplos
Generar un plan de migración:
modernize plan create "migrate from oracle to azure postgresql"
Genere un plan de actualización con el nombre personalizado:
modernize plan create "upgrade to spring boot 3" --plan-name spring-boot-upgrade
Genere un plan de implementación:
modernize plan create "deploy the app to azure container apps" --plan-name deploy-to-aca
Ejemplo de opciones 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
Ejemplos de aviso
Actualizaciones del marco de trabajo:
upgrade to spring boot 3upgrade to .NET 10upgrade to JDK 21migrate from spring boot 2 to spring boot 3
Migraciones de base de datos:
migrate from oracle to azure postgresqlmigrate from SQL Server to azure cosmos dbswitch from MySQL to azure database for mysql
Migraciones a la nube:
migrate from on-premises to azurecontainerize and deploy to azure container appsmigrate from rabbitmq to azure service bus
Despliegue:
deploy to azure app servicedeploy to azure kubernetes serviceset up CI/CD pipeline for azure
Salida
El comando genera:
Archivo de plan (
.github/modernize/{plan-name}/plan.md): estrategia de modernización detallada, entre las que se incluyen:- Contexto y objetivos
- Enfoque y metodología
- Aclaraciones
Lista de tareas (
.github/modernize/{plan-name}/tasks.json): desglose estructurado de las tareas ejecutables con:- Descripciones de tareas
- Aptitudes para usar
- Criterios de éxito
Sugerencia
Puede editar manualmente tanto como plan.mdtasks.json después de la generación para personalizar el enfoque antes de la ejecución.
ejecución del plan
Ejecuta un plan de modernización creado por modernize plan create.
Sintaxis
modernize plan execute [prompt] [options]
Argumentos
| Argumento | Descripción |
|---|---|
[prompt] |
Las instrucciones de lenguaje natural opcionales para la ejecución (por ejemplo, "omitir pruebas"). |
Options
| Opción | Descripción | Predeterminado |
|---|---|---|
--source <path> |
Ruta de acceso al código fuente de la aplicación. | Directorio actual |
--plan-name <name> |
Nombre del plan que se va a ejecutar. | modernization-plan |
--language <lang> |
Lenguaje de programación (java o dotnet). |
Detección automática |
--model <model> |
Modelo LLM que se va a usar. | claude-sonnet-4.6 |
--delegate <delegate> |
Modo de ejecución: local (esta máquina) o cloud (Agente de codificación en la nube). |
local |
--force |
Fuerza la ejecución incluso cuando un trabajo de CCA está en curso. | Deshabilitado |
Ejemplos
Ejecute el plan más reciente de forma interactiva:
modernize plan execute
Ejecute un plan específico:
modernize plan execute --plan-name spring-boot-upgrade
Ejecute con instrucciones adicionales:
modernize plan execute "skip the test" --plan-name spring-boot-upgrade
Ejecute en modo sin encabezado para CI/CD:
modernize plan execute --plan-name spring-boot-upgrade --no-tty
Comportamiento de ejecución
Durante la ejecución, el agente:
Carga el plan: lee el plan y la lista de tareas de .
.github/modernization/{plan-name}/Ejecuta tareas: procesa cada tarea de la lista de tareas secuencialmente:
- Aplica transformaciones de código.
- Valida las compilaciones después de los cambios.
- Examina los CV.
- Confirma los cambios con mensajes descriptivos.
Genera resumen: proporciona un informe de todos los cambios y resultados.
Salida
- Historial de confirmaciones: confirmaciones detalladas para cada tarea ejecutada.
- Informe de resumen: información general sobre los cambios, los éxitos y los problemas detectados.
- Validación de compilación: confirmación de que la aplicación se compila correctamente.
- Informe CVE: Vulnerabilidades de seguridad identificadas y abordadas.
upgrade
Ejecuta un flujo de trabajo de actualización de un extremo a otro ( plan) y ejecuta en un solo comando.
Sintaxis
modernize upgrade [prompt] [options]
Argumentos
| Argumento | Descripción |
|---|---|
[prompt] |
La versión de destino, como Java 17, Spring Boot 3.2, .NET 10. El valor predeterminado es ltS más reciente. |
Options
| Opción | Descripción | Predeterminado |
|---|---|---|
--source <source> |
Origen que se va a actualizar (repetible). Acepta rutas de acceso locales, direcciones URL de Git o una ruta de acceso del archivo de configuración JSON. Use varias --source marcas para especificar varios repositorios. |
. (directorio actual) |
--delegate <delegate> |
Modo de ejecución: local (esta máquina) o cloud (Agente de codificación en la nube). |
local |
--model <model> |
Modelo LLM que se va a usar. | claude-sonnet-4.6 |
Ejemplos
Ejecute upgrade en el directorio actual:
modernize upgrade "Java 17"
modernize upgrade ".NET 10"
Ejecute upgrade en un proyecto específico:
modernize upgrade "Java 17" --source /path/to/project
Ejecute upgrade mediante el agente de codificación en la nube:
modernize upgrade "Java 17" --delegate cloud
Actualice varios repositorios mediante un archivo de configuración:
modernize upgrade "Java 21" --source .github/modernize/repos.json
Actualice varios repositorios especificando orígenes directamente:
modernize upgrade "Java 21" --source https://github.com/org/repo1 --source https://github.com/org/repo2
Ayuda
Proporciona comandos de ayuda e información.
Sintaxis
modernize help [command]
Commands
| Comando | Descripción |
|---|---|
models |
Enumera los modelos LLM disponibles y sus multiplicadores. |
Ejemplos
Enumerar los modelos disponibles:
modernize help models
Configuración de la CLI
Mediante el agente de modernización, puede personalizar el comportamiento de la aplicación a través de archivos JSON y variables de entorno.
Variables de entorno
Establezca variables de entorno para invalidar todos los demás ámbitos de configuración:
| Variable | Descripción | Predeterminado |
|---|---|---|
MODERNIZE_LOG_LEVEL |
Nivel de registro (none, error, warning, info, debug, ) all |
info |
MODERNIZE_MODEL |
Modelo LLM que se va a usar. | claude-sonnet-4.6 |
MODERNIZE_COLLECT_TELEMETRY |
Habilite o deshabilite la recopilación de telemetría. | true |
Ejemplo:
export MODERNIZE_LOG_LEVEL=debug
export MODERNIZE_MODEL=claude-sonnet-4.6
modernize assess
Configuración del usuario
Almacene las preferencias específicas del usuario en o la ~/.modernize/config.json configuración de todo el repositorio en .github/modernize/config.json.
{
"model": "claude-sonnet-4.6",
"log_level": "info",
"trusted_folders": [
"/path/to/trusted/project",
]
}
La trusted_folders propiedad especifica las carpetas de confianza para usar LLM en modo interactivo.
Nota:
Las variables de entorno tienen la prioridad más alta, seguida de la configuración del usuario y, a continuación, la configuración del repositorio. Use variables de entorno para invalidaciones de CI/CD y configuración de usuario para las preferencias personales.
Configuración de varios repositorios
Puede proporcionar varios orígenes a la CLI de varias maneras:
-
Archivo de configuración del repositorio: cree un
.github/modernize/repos.jsonarchivo que muestre todos los repositorios y, a continuación, páselo con--source. -
Varias
--sourcemarcas: especifique rutas de acceso locales o direcciones URL de Git directamente en la línea de comandos. - Modo interactivo: seleccione orígenes a través de TUI (carpeta actual, entrada manual o configuración del repositorio).
Archivo de configuración del repositorio
Cree un .github/modernize/repos.json archivo para definir la lista de repositorios. La configuración admite dos formatos:
Formato simple (matriz de repositorios):
[
{
"name": "PhotoAlbum-Java",
"url": "https://github.com/Azure-Samples/PhotoAlbum-Java.git"
},
{
"name": "PhotoAlbum",
"url": "https://github.com/Azure-Samples/PhotoAlbum.git"
}
]
Formato completo (con rutas de acceso locales y de rama):
{
"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 del repositorio admite los siguientes campos:
| Campo | Descripción | Obligatorio |
|---|---|---|
name |
Nombre descriptivo para el repositorio. | Sí |
url |
Dirección URL de clonación de Git (HTTPS o SSH). | Uno de url o path |
path |
Ruta de acceso absoluta del directorio local. | Uno de url o path |
branch |
Bifurcación que se va a consultar después de la clonación. | No |
description |
Descripción legible para humanos. | No |
Formato completo con la agrupación de aplicaciones (opcional, para informes organizados):
Puede agregar una apps[] sección para agrupar repositorios en aplicaciones lógicas. Cuando se definen las aplicaciones, el informe agregado organiza los resultados por aplicación y admite la distribución de informes.
{
"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 aplicación admite:
| Campo | Descripción | Obligatorio |
|---|---|---|
identifier |
Nombre para mostrar único de la aplicación. | Sí |
description |
Descripción legible para humanos. | No |
repos |
Lista de nombres de repositorio que pertenecen a esta aplicación. | Sí |
output |
Dónde distribuir el informe de evaluación de esta aplicación después de la generación. | No |
El output campo admite los siguientes tipos de distribución:
| Tipo | Descripción | Campos obligatorios |
|---|---|---|
local |
Copie informes en un directorio local. | path |
git |
Insertar informes en un repositorio de Git. Formato de dirección URL: https://github.com/org/repo.git#branch:path. |
url |
Importante
La delegación del agente de codificación en la nube (--delegate cloud) requiere que los repositorios tengan direcciones URL del repositorio GitHub (github.com). Los repositorios de rutas de acceso locales y los proveedores que no son de GitHub (GitLab, Azure DevOps) no se admiten para la delegación en la nube y se omiten.
A continuación, use --source para pasar la ruta de acceso del archivo de configuración:
Evaluar todos los repositorios localmente:
modernize assess --source .github/modernize/repos.json
Evalúe todos los repositorios mediante el agente de codificación en la nube:
modernize assess --source .github/modernize/repos.json --delegate cloud
Actualice todos los repositorios mediante cloud Coding Agent:
modernize upgrade --source .github/modernize/repos.json --delegate cloud
Varios orígenes en la línea de comandos
También puede especificar varios orígenes directamente:
modernize assess --source https://github.com/org/repo1 --source https://github.com/org/repo2
modernize upgrade "Java 21" --source ./project-a --source ./project-b