GitHub Copilot modernizálási ügynök parancssori felületének parancsai

A GitHub Copilot modernizálási ügynök interaktív és nem interaktív módokat is biztosít az alkalmazások modernizálásához.

Parancsmódok

Interaktív mód

Indítsa el az interaktív szöveg felhasználói felületét (TUI) az irányított modernizációhoz:

modernize

Az interaktív mód a következő lehetőségeket biztosítja:

  • Menüalapú navigáció a modernizálási munkafolyamaton keresztül.
  • Rugalmas forrásválasztás: aktuális mappa, manuális bemenet (helyi elérési utak vagy Git URL-címek) vagy tárház konfigurációs fájljai.
  • Vizuális terv és folyamatjelzők.
  • Irányított kérések a konfigurációs beállításokhoz, beleértve az értékelési tartományokat és paramétereket.
  • Több adattár kijelölési felülete.

Nem interaktív mód

Adott parancsok végrehajtása közvetlenül az automatizáláshoz és a szkripteléshez:

modernize <command> [options]

Nem interaktív mód használata, ha:

  • Integráció CI/CD-folyamatokkal.
  • Kötegelt műveletek automatizálása.
  • Szkriptelési modernizálási munkafolyamatok.
  • Fej nélküli környezetben fut.

Globális beállítások

Minden parancs támogatja ezeket a globális beállításokat:

Lehetőség Leírás
--help, -h Súgóinformációk megjelenítése.
--no-tty Letiltja az interaktív kéréseket (fej nélküli mód).

Parancsok

felbecsül

Kiértékelést futtat, és létrehoz egy átfogó elemzési jelentést.

Szemantika

modernize assess [options]

Beállítások

Lehetőség Leírás Alapértelmezett
--source <source> Értékelés forrása (megismételhető). Helyi elérési utakat, Git URL-címeket vagy JSON-konfigurációs fájl elérési útját fogadja el. Több --source jelölő használatával több adattárat is megadhat. . (aktuális könyvtár)
--output-path <path> Egyéni kimeneti útvonal az értékelési eredményekhez. .github/modernize/assessment/
--issue-url <url> Egy GitHub probléma URL-címe az értékelés összegzésével való frissítéshez. Nincs
--format <format> Kimeneti formátum az értékelési jelentésekhez: html vagy markdown. html
--assess-config <path> Az értékelési konfigurációs YAML-fájl elérési útja, amely felülírja az alapértelmezett értékelési paramétereket, például a cél futtatókörnyezetet, a számítási szolgáltatásokat és az elemzési lefedettséget. Automatikusan felderített vagy alapértelmezett beállítások
--model <model> A használni kívánt LLM-modell. claude-sonnet-4.6
--delegate <delegate> A végrehajtási mód: local (ez a gép) vagy cloud (Cloud Coding Agent). local
--wait Megvárja, amíg a delegált tevékenységek befejeződnek, és eredményeket hoznak létre (csak érvényes).--delegate cloud Disabled
--force Kényszeríti a delegálás újraindítását, figyelmen kívül hagyva a folyamatban lévő feladatokat (csak érvényes).--delegate cloud Disabled

Examples

Az aktuális címtár alapszintű értékelése:

modernize assess

Értékelés egyéni kimeneti hellyel:

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

Az eredményekkel kapcsolatos GitHub probléma felmérése és frissítése:

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

Adott projektkönyvtár értékelése:

modernize assess --source /path/to/project

Több adattár kiértékelése konfigurációs fájl használatával:

modernize assess --source .github/modernize/repos.json

Több adattár értékelése közvetlenül a források megadásával:

modernize assess --source https://github.com/org/repo1 --source https://github.com/org/repo2

Jelentések értékelése és kimenete Markdown formátumban:

modernize assess --format markdown

Kimenet

Az értékelés a következőt hozza létre:

  • Jelentésfájlok: Részletes elemzés JSON-, MD- és HTML-formátumban.
  • Összefoglalás: Főbb megállapítások és javaslatok.
  • A frissítések (ha megadja --issue-url): GitHub probléma megjegyzése összegzéssel.

létrehozás megtervezve

A modernizációs célokat leíró természetes nyelvi kérdés alapján létrehoz egy modernizációs tervet.

Szemantika

modernize plan create <prompt> [options]

Arguments

Argument Leírás
<prompt> A modernizációs célok természetes nyelvű leírása (kötelező).

Beállítások

Lehetőség Leírás Alapértelmezett
--source <path> Az alkalmazás forráskódjának elérési útja. Aktuális könyvtár
--plan-name <name> A modernizálási terv neve. modernization-plan
--language <lang> A programozási nyelv (javavagy dotnetpython). Automatikusan észlelt
--overwrite Felülír egy ugyanazzal a névvel rendelkező meglévő tervet. Disabled
--model <model> A használni kívánt LLM-modell. claude-sonnet-4.6

Examples

Migrálási terv létrehozása:

modernize plan create "migrate from oracle to azure postgresql"

Egyéni névvel rendelkező frissítési terv létrehozása:

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

Üzembehelyezési terv létrehozása:

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

Példa a teljes beállításokra:

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

Példák kérése

Keretrendszerfrissítések:

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

Adatbázis-migrálások:

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

Felhőbeli migrálások:

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

Telepítés:

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

Kimenet

A parancs a következőt hozza létre:

  • Tervfájl (.github/modernize/{plan-name}/plan.md): Részletes modernizációs stratégia, beleértve a következőket:

    • Környezet és célok
    • Megközelítés és módszertan
    • Pontosítások
  • Feladatlista (.github/modernize/{plan-name}/tasks.json): A végrehajtható tevékenységek strukturált lebontása a következőkkel:

    • Tevékenységleírások
    • Használandó készségek
    • Sikerességi feltételek

Jótanács

A végrehajtás előtt manuálisan is szerkesztheti a módszert, és plan.md a létrehozás után is tasks.json testre szabhatja a módszert.

terv végrehajtása

Végrehajt egy, a következő által modernize plan createlétrehozott modernizációs tervet: .

Szemantika

modernize plan execute [prompt] [options]

Arguments

Argument Leírás
[prompt] A végrehajtáshoz szükséges opcionális természetes nyelvi utasítások (például a "tesztek kihagyása").

Beállítások

Lehetőség Leírás Alapértelmezett
--source <path> Az alkalmazás forráskódjának elérési útja. Aktuális könyvtár
--plan-name <name> A végrehajtandó terv neve. modernization-plan
--language <lang> A programozási nyelv (java vagy dotnet). Automatikusan észlelt
--model <model> A használni kívánt LLM-modell. claude-sonnet-4.6
--delegate <delegate> A végrehajtási mód: local (ez a gép) vagy cloud (Cloud Coding Agent). local
--force Még akkor is kényszeríti a végrehajtást, ha CCA-feladat van folyamatban. Disabled

Examples

Hajtsa végre interaktívan a legújabb tervet:

modernize plan execute

Egy adott terv végrehajtása:

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

Végrehajtás további utasításokkal:

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

Végrehajtás fej nélküli módban CI/CD esetén:

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

Végrehajtási viselkedés

A végrehajtás során az ügynök:

  1. Betölti a tervet: Beolvassa a tervet és a feladatlistát a következőből: .github/modernization/{plan-name}/

  2. Feladatokat hajt végre: A feladatlistában szereplő összes tevékenységet egymás után dolgozza fel:

    • Kódátalakítások alkalmazása.
    • Ellenőrzi a buildeket a módosítások után.
    • Cves-eket keres.
    • Leíró üzenetekkel véglegesíti a módosításokat.
  3. Összegzést hoz létre: Jelentést készít az összes módosításról és eredményről.

Kimenet

  • Véglegesítési előzmények: Részletes véglegesítések minden végrehajtott tevékenységhez.
  • Összefoglaló jelentés: A változások, a sikerek és a felmerülő problémák áttekintése.
  • Buildérvényesítés: Annak megerősítése, hogy az alkalmazás sikeresen buildel.
  • CVE-jelentés: Azonosított és kezelt biztonsági rések.

frissít

Egyetlen parancsban futtat egy végpontok közötti frissítési munkafolyamatot – tervezést és végrehajtást.

Szemantika

modernize upgrade [prompt] [options]

Arguments

Argument Leírás
[prompt] A célverzió, például Java 17, Spring Boot 3.2, .NET 10. Alapértelmezés szerint a legújabb LTS.

Beállítások

Lehetőség Leírás Alapértelmezett
--source <source> Frissítendő forrás (megismételhető). Helyi elérési utakat, Git URL-címeket vagy JSON-konfigurációs fájl elérési útját fogadja el. Több --source jelölő használatával több adattárat is megadhat. . (aktuális könyvtár)
--delegate <delegate> A végrehajtási mód: local (ez a gép) vagy cloud (Cloud Coding Agent). local
--model <model> A használni kívánt LLM-modell. claude-sonnet-4.6

Examples

Futtassa upgrade az aktuális könyvtárat:

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

Futtatás upgrade egy adott projekten:

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

Futtassa upgrade a Cloud Coding Agent használatával:

modernize upgrade "Java 17" --delegate cloud

Több adattár frissítése konfigurációs fájl használatával:

modernize upgrade "Java 21" --source .github/modernize/repos.json

Több adattár frissítése közvetlenül a források megadásával:

modernize upgrade "Java 21" --source https://github.com/org/repo1 --source https://github.com/org/repo2

help

Súgó- és információs parancsokat biztosít.

Szemantika

modernize help [command]

Parancsok

Parancs Leírás
models Felsorolja az elérhető LLM-modelleket és azok szorzóját.

Examples

Az elérhető modellek listája:

modernize help models

A parancssori felület konfigurálása

A modernizálási ügynök használatával JSON-fájlokon és környezeti változókon keresztül testre szabhatja az alkalmazás viselkedését.

Környezeti változók

Környezeti változók beállítása az összes többi konfigurációs hatókör felülbírálásához:

Variable Leírás Alapértelmezett
MODERNIZE_LOG_LEVEL A naplózási szint (none, error, warning, info, debug) all info
MODERNIZE_MODEL A használni kívánt LLM-modell. claude-sonnet-4.6
MODERNIZE_COLLECT_TELEMETRY Telemetriagyűjtemény engedélyezése vagy letiltása. true

Példa:

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

Felhasználói konfiguráció

Tárolja a felhasználóspecifikus beállításokat az ~/.modernize/config.json adattárra vonatkozó beállításokban vagy az adattárra vonatkozó beállításokban a következőben .github/modernize/config.json: .

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

A trusted_folders tulajdonság megadja azokat a mappákat, amelyek megbízhatóan használják az LLM-et interaktív módban.

Megjegyzés:

A környezeti változók a legmagasabb prioritást élvezik, amelyet a felhasználói konfiguráció, majd az adattár konfigurációja követ. A ci/CD-felülbírálásokhoz és a felhasználói konfigurációhoz használjon környezeti változókat a személyes beállításokhoz.

Több adattár konfigurálása

Több forrást is megadhat a parancssori felületnek többféleképpen:

  • Adattár konfigurációs fájlja: Hozzon létre egy .github/modernize/repos.json fájlt, amely felsorolja az összes adattárat, majd adja át a következővel --source: .
  • Több --source jelző: Adja meg a helyi elérési utakat vagy a Git URL-címeket közvetlenül a parancssorban.
  • Interaktív mód: Források kiválasztása a TUI-n keresztül (aktuális mappa, manuális bemenet vagy tárház konfigurációja).

Adattár konfigurációs fájlja

Hozzon létre egy .github/modernize/repos.json fájlt az adattárlista definiálásához. A konfiguráció két formátumot támogat:

Egyszerű formátum (adattárak tömbje):

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

Teljes formátum (elágazással és helyi elérési utakkal):

{
  "repos": [
    {
      "name": "PhotoAlbum-Java",
      "url": "https://github.com/Azure-Samples/PhotoAlbum-Java.git",
      "branch": "main"
    },
    {
      "name": "local-project",
      "path": "/absolute/path/to/project"
    }
  ]
}

Minden adattárbejegyzés a következő mezőket támogatja:

szakterület Leírás Szükséges
name Az adattár rövid neve. Igen
url Git-klón URL-címe (HTTPS vagy SSH). Egy vagy több urlpath
path Abszolút helyi könyvtár elérési útja. Egy vagy több urlpath
branch A klónozás után kiveendő ág. No
description Ember által olvasható leírás. No

Teljes formátum alkalmazáscsoportozással (nem kötelező, szervezett jelentéskészítéshez):

Egy szakaszt apps[] hozzáadhat az adattárak logikai alkalmazásokba való csoportosításához. Az alkalmazások definiálásakor az összesített jelentés alkalmazásonként rendszerezi az eredményeket, és támogatja a jelentések terjesztését.

{
  "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"
      }
    }
  ]
}

Minden alkalmazásbejegyzés támogatja a következőket:

szakterület Leírás Szükséges
identifier Az alkalmazás egyedi megjelenítendő neve. Igen
description Ember által olvasható leírás. No
repos Az alkalmazáshoz tartozó adattárnevek listája. Igen
output Az alkalmazás értékelési jelentésének terjesztése a létrehozás után. No

A output mező a következő terjesztési típusokat támogatja:

Típus Leírás Kötelező mezők
local Jelentések másolása egy helyi könyvtárba. path
git Jelentések leküldése Egy Git-adattárba. URL-formátum: https://github.com/org/repo.git#branch:path. url

Fontos

A cloud coding agent delegálásához (--delegate cloud) az adattáraknak GitHub (github.com) adattár URL-címekkel kell rendelkezniük. A helyi elérésiút-tárházak és a nem GitHub szolgáltatók (GitLab, Azure DevOps) nem támogatottak a felhődelegáláshoz, ezért a rendszer kihagyja.

Ezután adja --source át a konfigurációs fájl elérési útját:

Az összes adattár helyi értékelése:

modernize assess --source .github/modernize/repos.json

Az összes adattár értékelése a Cloud Coding Agent használatával:

modernize assess --source .github/modernize/repos.json --delegate cloud

Frissítse az összes adattárat a Cloud Coding Agent használatával:

modernize upgrade --source .github/modernize/repos.json --delegate cloud

Több forrás a parancssorban

Több forrást is megadhat közvetlenül:

modernize assess --source https://github.com/org/repo1 --source https://github.com/org/repo2
modernize upgrade "Java 21" --source ./project-a --source ./project-b

Következő lépések