Delen via


CLI-opdrachten voor GitHub Copilot-moderniseringsagent

De GitHub Copilot-moderniseringsagent biedt interactieve en niet-interactieve modi voor het moderniseren van toepassingen.

Opdrachtmodi

Interactieve modus

Start de interactieve Text User Interface (TUI) voor begeleide modernisering:

modernize

De interactieve modus biedt:

  • Menugestuurde navigatie via de moderniseringswerkstroom.
  • Visuele planning en voortgangsindicatoren.
  • Begeleide prompts voor configuratieopties.
  • Selectie-interface voor meerdere opslagplaatsen.

Niet-interactieve modus

Voer specifieke opdrachten rechtstreeks uit voor automatisering en scripting:

modernize <command> [options]

Gebruik niet-interactieve modus wanneer:

  • Integreren met CI/CD-pijplijnen.
  • Batchbewerkingen automatiseren.
  • Werkstromen voor modernisering van scripts.
  • Wordt uitgevoerd in headless omgevingen.

Algemene opties

Alle opdrachten ondersteunen deze algemene opties:

Option Beschrijving
--help, -h Geeft help-informatie weer.
--no-tty Hiermee schakelt u interactieve prompts (headless modus) uit.

Commands

beoordelen

Voert een evaluatie uit en genereert een uitgebreid analyserapport.

Syntaxis

modernize assess [options]

Opties

Option Beschrijving Verstek
--source <path> Het pad naar het bronproject (relatief of absoluut lokaal pad). . (huidige map)
--output-path <path> Een aangepast uitvoerpad voor evaluatieresultaten. .github/modernize/assessment/
--issue-url <url> Een GITHub-probleem-URL om bij te werken met de evaluatiesamenvatting. Geen
--multi-repo Hiermee schakelt u evaluatie van meerdere opslagplaatsen in. Scant submappen op het eerste niveau voor meerdere opslagplaatsen. Disabled
--model <model> Het LLM-model dat moet worden gebruikt. claude-sonnet-4.6
--delegate <delegate> De uitvoeringsmodus: local (deze computer) of cloud (Cloud Coding Agent). local
--wait Wacht totdat de gedelegeerde taken zijn voltooid en resultaten genereren (alleen geldig met --delegate cloud). Disabled
--force Dwingt delegering opnieuw op, waarbij lopende taken worden genegeerd (alleen geldig met --delegate cloud). Disabled

Examples

Basisevaluatie van de huidige map:

modernize assess

Evalueren met aangepaste uitvoerlocatie:

modernize assess --output-path ./reports/assessment

GitHub-probleem evalueren en bijwerken met resultaten:

modernize assess --issue-url https://github.com/org/repo/issues/123

Specifieke projectmap evalueren:

modernize assess --source /path/to/project

Meerdere opslagplaatsen evalueren in de huidige map:

modernize assess  --multi-repo

Uitvoer

De evaluatie genereert:

  • Rapportbestanden: Gedetailleerde analyse in JSON-, MD- en HTML-indelingen.
  • Samenvatting: Belangrijke bevindingen en aanbevelingen.
  • Probleemupdates (als u opgeeft --issue-url): Opmerking bij gitHub-probleem met samenvatting.

plan maken

Hiermee maakt u een moderniseringsplan op basis van een prompt in natuurlijke taal waarin uw moderniseringsdoelen worden beschreven.

Syntaxis

modernize plan create <prompt> [options]

Argumenten

Argument Beschrijving
<prompt> Een beschrijving van de moderniseringsdoelen (vereist) in natuurlijke taal.

Opties

Option Beschrijving Verstek
--source <path> Het pad naar de broncode van de toepassing. Huidige map
--plan-name <name> De naam voor het moderniseringsplan. modernization-plan
--language <lang> De programmeertaal (java, dotnetof python). Automatisch gedetecteerd
--overwrite Hiermee overschrijft u een bestaand plan met dezelfde naam. Disabled
--model <model> Het LLM-model dat moet worden gebruikt. claude-sonnet-4.6

Examples

Een migratieplan genereren:

modernize plan create "migrate from oracle to azure postgresql"

Genereer een upgradeplan met een aangepaste naam:

modernize plan create "upgrade to spring boot 3" --plan-name spring-boot-upgrade

Een implementatieplan genereren:

modernize plan create "deploy the app to azure container apps" --plan-name deploy-to-aca

Voorbeeld van volledige opties:

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

Promptvoorbeelden

Framework-upgrades:

  • upgrade to spring boot 3
  • upgrade to .NET 10
  • upgrade to JDK 21
  • migrate from spring boot 2 to spring boot 3

Databasemigraties:

  • migrate from oracle to azure postgresql
  • migrate from SQL Server to azure cosmos db
  • switch from MySQL to azure database for mysql

Cloudmigraties:

  • migrate from on-premises to azure
  • containerize and deploy to azure container apps
  • migrate from rabbitmq to azure service bus

Implementatie:

  • deploy to azure app service
  • deploy to azure kubernetes service
  • set up CI/CD pipeline for azure

Uitvoer

Met de opdracht wordt het volgende gegenereerd:

  • Planbestand (.github/modernize/{plan-name}/plan.md): Gedetailleerde moderniseringsstrategie, waaronder:

    • Context en doelstellingen
    • Benadering en methodologie
    • Verduidelijkingen
  • Takenlijst (.github/modernize/{plan-name}/tasks.json): Gestructureerde uitsplitsing van uitvoerbare taken met:

    • Taakbeschrijvingen
    • Vaardigheden om te gebruiken
    • Succescriteria

Aanbeveling

U kunt zowel plan.mdtasks.json als na generatie handmatig bewerken om de aanpak aan te passen vóór de uitvoering.

plan uitvoeren

Hiermee wordt een moderniseringsplan uitgevoerd dat is gemaakt door modernize plan create.

Syntaxis

modernize plan execute [prompt] [options]

Argumenten

Argument Beschrijving
[prompt] De optionele instructies voor natuurlijke taal voor uitvoering (bijvoorbeeld 'tests overslaan').

Opties

Option Beschrijving Verstek
--source <path> Het pad naar de broncode van de toepassing. Huidige map
--plan-name <name> De naam van het plan dat moet worden uitgevoerd. modernization-plan
--language <lang> De programmeertaal (java of dotnet). Automatisch gedetecteerd
--model <model> Het LLM-model dat moet worden gebruikt. claude-sonnet-4.6
--delegate <delegate> De uitvoeringsmodus: local (deze computer) of cloud (Cloud Coding Agent). local
--force Dwingt uitvoering af, zelfs wanneer een CCA-taak wordt uitgevoerd. Disabled

Examples

Voer het meest recente plan interactief uit:

modernize plan execute

Voer een specifiek plan uit:

modernize plan execute --plan-name spring-boot-upgrade

Voer uit met extra instructies:

modernize plan execute "skip the test" --plan-name spring-boot-upgrade

Uitvoeren in headless-modus voor CI/CD:

modernize plan execute --plan-name spring-boot-upgrade --no-tty

Uitvoeringsgedrag

Tijdens de uitvoering is de agent:

  1. Laadt het plan: leest het plan en de takenlijst uit .github/modernization/{plan-name}/

  2. Hiermee worden taken uitgevoerd: verwerkt elke taak in de takenlijst opeenvolgend:

    • Codetransformaties toepassen.
    • Valideert builds na wijzigingen.
    • Scant op CV's.
    • Wijzigingen doorvoeren met beschrijvende berichten.
  3. Hiermee wordt een samenvatting gegenereerd: geeft een rapport weer van alle wijzigingen en resultaten.

Uitvoer

  • Doorvoergeschiedenis: gedetailleerde doorvoeringen voor elke taak die wordt uitgevoerd.
  • Overzichtsrapport: Overzicht van wijzigingen, successen en eventuele problemen.
  • Buildvalidatie: Bevestiging dat de toepassing is gebouwd.
  • CVE-rapport: Beveiligingsproblemen geïdentificeerd en aangepakt.

bijwerking

Voert een end-to-end-upgradewerkstroom uit - plan en voer deze uit - in één opdracht.

Syntaxis

modernize upgrade [prompt] [options]

Argumenten

Argument Beschrijving
[prompt] De doelversie, zoals Java 17, Spring Boot 3.2. .NET 10 Standaard ingesteld op de nieuwste LTS.

Opties

Option Beschrijving Verstek
--source <source> Het pad naar het bronproject (relatief of absoluut lokaal pad). . (huidige map)
--delegate <delegate> De uitvoeringsmodus: local (deze computer) of cloud (Cloud Coding Agent). local
--model <model> Het LLM-model dat moet worden gebruikt. claude-sonnet-4.6

Examples

Uitvoeren upgrade op de huidige map:

modernize upgrade "Java 17"
modernize upgrade ".NET 10"

Uitvoeren upgrade op een specifiek project:

modernize upgrade "Java 17" --source /path/to/project

Uitvoeren upgrade met behulp van de Cloud Coding Agent:

modernize upgrade "Java 17" --delegate cloud

help

Biedt help- en informatieopdrachten.

Syntaxis

modernize help [command]

Commands

Opdracht Beschrijving
models Toont beschikbare LLM-modellen en hun vermenigvuldigers.

Examples

Beschikbare modellen weergeven:

modernize help models

De CLI configureren

Met behulp van de moderniseringsagent kunt u toepassingsgedrag aanpassen via JSON-bestanden en omgevingsvariabelen.

Omgevingsvariabelen

Stel omgevingsvariabelen in om alle andere configuratiebereiken te overschrijven:

Variable Beschrijving Verstek
MODERNIZE_LOG_LEVEL Het logboekregistratieniveau (none, error, warning, info, ) debugall info
MODERNIZE_MODEL Het LLM-model dat moet worden gebruikt. claude-sonnet-4.6
MODERNIZE_COLLECT_TELEMETRY Telemetrieverzameling in- of uitschakelen. true

Voorbeeld:

export MODERNIZE_LOG_LEVEL=debug
export MODERNIZE_MODEL=claude-sonnet-4.6
modernize assess

Gebruikersconfiguratie

Gebruikersspecifieke voorkeuren opslaan in ~/.modernize/config.json of instellingen voor de hele opslagplaats in .github/modernize/config.json.

{
  "model": "claude-sonnet-4.6",
  "log_level": "info",
  "trusted_folders": [
    "/path/to/trusted/project",
  ]
}

De trusted_folders eigenschap geeft de mappen op die worden vertrouwd voor het gebruik van LLM in de interactieve modus.

Opmerking

Omgevingsvariabelen hebben de hoogste prioriteit, gevolgd door gebruikersconfiguratie en vervolgens opslagplaatsconfiguratie. Gebruik omgevingsvariabelen voor CI/CD-onderdrukkingen en gebruikersconfiguratie voor persoonlijke voorkeuren.

Configuratie van meerdere opslagplaatsen

Maak een .github/modernize/repos.json bestand om de modus voor meerdere opslagplaatsen in te schakelen:

[
  {
    "name": "PhotoAlbum-Java",
    "url": "https://github.com/Azure-Samples/PhotoAlbum-Java.git"
  },
  {
    "name": "PhotoAlbum",
    "url": "https://github.com/Azure-Samples/PhotoAlbum.git"
  }
]

Nadat het repos.json bestand is ingesteld, gebruikt u de volgende opdrachten om te werken in alle geconfigureerde opslagplaatsen:

Alle opslagplaatsen lokaal evalueren:

modernize assess

Evalueer alle opslagplaatsen met behulp van de Cloud Coding Agent:

modernize assess --delegate cloud

Werk alle opslagplaatsen bij met behulp van de Cloud Coding Agent:

modernize upgrade --delegate cloud

Volgende stappen