Sdílet prostřednictvím


Příkazy rozhraní příkazového řádku rozhraní příkazového řádku pro modernizaci GitHub Copilotu

Agent modernizace Copilotu GitHubu poskytuje interaktivní i neinteraktivní režimy modernizace aplikací.

Režimy příkazů

Interaktivní režim

Spuštění interaktivního textového uživatelského rozhraní (TUI) pro modernizaci s asistencí:

modernize

Interaktivní režim poskytuje:

  • Navigace řízená nabídkou prostřednictvím pracovního postupu modernizace
  • Vizuální indikátory plánu a průběhu
  • Výzvy s asistencí pro možnosti konfigurace
  • Rozhraní pro výběr více úložišť

Neinteraktivní režim

Spouštění konkrétních příkazů přímo pro automatizaci a skriptování:

modernize <command> [options]

Použít neinteraktivní režim, pokud:

  • Integrace s kanály CI/CD
  • Automatizace dávkových operací
  • Skriptování pracovních postupů modernizace
  • Provoz v bezobsadových prostředích.

Globální možnosti

Všechny příkazy podporují tyto globální možnosti:

Možnost Description
--help, -h Zobrazí informace nápovědy.
--no-tty Zakáže interaktivní výzvy (bezobsadový režim).

Příkazy

Posoudit

Spustí posouzení a vygeneruje komplexní sestavu analýzy.

Syntaxe

modernize assess [options]

Možnosti

Možnost Description Výchozí
--source <path> Cesta ke zdrojovému projektu (relativní nebo absolutní místní cesta). . (aktuální adresář)
--output-path <path> Vlastní výstupní cesta pro výsledky posouzení. .github/modernize/assessment/
--issue-url <url> Adresa URL problému GitHubu, která se má aktualizovat souhrnem posouzení. None
--multi-repo Povolí posouzení více úložiště. Prohledá podadresáře první úrovně pro více úložišť. Disabled
--model <model> Model LLM, který se má použít. claude-sonnet-4.6
--delegate <delegate> Režim spuštění: local (tento počítač) nebo cloud (agent cloud coding). local
--wait Čeká, až se delegované úkoly dokončí a vygenerují výsledky (platné pouze s --delegate cloud). Disabled
--force Vynutí restartování delegování, ignorování probíhajících úkolů (platné pouze s --delegate cloud). Disabled

Příklady

Základní posouzení aktuálního adresáře:

modernize assess

Posouzení s využitím vlastního umístění výstupu:

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

Posouzení a aktualizace problému s GitHubem s výsledky:

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

Posouzení konkrétního adresáře projektu:

modernize assess --source /path/to/project

Posouzení více úložišť v aktuálním adresáři:

modernize assess  --multi-repo

Výstup

Posouzení vygeneruje:

  • Soubory sestav: Podrobná analýza ve formátech JSON, MD a HTML.
  • Shrnutí: Klíčová zjištění a doporučení.
  • Aktualizace problému (pokud zadáte --issue-url): Komentář k problému GitHubu se souhrnem

vytvoření plánu

Vytvoří plán modernizace na základě výzvy přirozeného jazyka popisující vaše cíle modernizace.

Syntaxe

modernize plan create <prompt> [options]

Argumenty

Argument Description
<prompt> Popis cílů modernizace v přirozeném jazyce (povinné).

Možnosti

Možnost Description Výchozí
--source <path> Cesta ke zdrojovému kódu aplikace. Aktuální adresář
--plan-name <name> Název plánu modernizace. modernization-plan
--language <lang> Programovací jazyk (java, dotnetnebo python). Automaticky zjištěno
--overwrite Přepíše existující plán se stejným názvem. Disabled
--model <model> Model LLM, který se má použít. claude-sonnet-4.6

Příklady

Vygenerujte plán migrace:

modernize plan create "migrate from oracle to azure postgresql"

Vygenerujte plán upgradu s vlastním názvem:

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

Vygenerování plánu nasazení:

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

Příklad úplných možností:

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říklady výzvy

Upgrady architektury:

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

Migrace databází:

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

Migrace do cloudu:

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

Nasazení:

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

Výstup

Příkaz vygeneruje:

  • Plán souboru (.github/modernize/{plan-name}/plan.md): Podrobná strategie modernizace, včetně:

    • Kontext a cíle
    • Přístup a metodologie
    • Objasnění
  • Seznam úkolů (.github/modernize/{plan-name}/tasks.json): Strukturovaný rozpis spustitelných úloh s:

    • Popisy úkolů
    • Dovednosti k používání
    • Kritéria úspěchu

Návod

Přístup před provedením můžete před provedením upravit ručně plan.md a tasks.json po jejich generování.

provedení plánu

Spustí plán modernizace vytvořený nástrojem modernize plan create.

Syntaxe

modernize plan execute [prompt] [options]

Argumenty

Argument Description
[prompt] Volitelné pokyny pro provádění v přirozeném jazyce (například "přeskočit testy").

Možnosti

Možnost Description Výchozí
--source <path> Cesta ke zdrojovému kódu aplikace. Aktuální adresář
--plan-name <name> Název plánu, který se má provést. modernization-plan
--language <lang> Programovací jazyk (java nebo dotnet). Automaticky zjištěno
--model <model> Model LLM, který se má použít. claude-sonnet-4.6
--delegate <delegate> Režim spuštění: local (tento počítač) nebo cloud (agent cloud coding). local
--force Vynutí provádění i v případě, že probíhá úloha CCA. Disabled

Příklady

Spusťte nejnovější plán interaktivně:

modernize plan execute

Provedení konkrétního plánu:

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

Proveďte s dalšími pokyny:

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

Spuštění v bezobsadovém režimu pro CI/CD:

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

Chování při spuštění

Během provádění agent:

  1. Načte plán: Přečte plán a seznam úkolů z .github/modernization/{plan-name}/

  2. Provádí úlohy: Zpracovává jednotlivé úkoly v seznamu úkolů postupně:

    • Použije transformace kódu.
    • Ověří sestavení po změnách.
    • Vyhledá cves.
    • Potvrdí změny s popisnými zprávami.
  3. Generuje souhrn: Poskytuje sestavu všech změn a výsledků.

Výstup

  • Historie potvrzení: Podrobná potvrzení pro každou spuštěnou úlohu.
  • Souhrnná sestava: Přehled změn, úspěchů a problémů, ke kterým došlo.
  • Ověření sestavení: Potvrzení úspěšného sestavení aplikace
  • ZPRÁVA CVE: Zjištěná a vyřešená ohrožení zabezpečení

inovace

Spustí kompletní pracovní postup upgradu – plán a spuštění – v jednom příkazu.

Syntaxe

modernize upgrade [prompt] [options]

Argumenty

Argument Description
[prompt] Cílová verze, například Java 17, Spring Boot 3.2. .NET 10 Výchozí hodnota je nejnovější verze LTS.

Možnosti

Možnost Description Výchozí
--source <source> Cesta ke zdrojovému projektu (relativní nebo absolutní místní cesta). . (aktuální adresář)
--delegate <delegate> Režim spuštění: local (tento počítač) nebo cloud (agent cloud coding). local
--model <model> Model LLM, který se má použít. claude-sonnet-4.6

Příklady

Spusťte upgrade v aktuálním adresáři:

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

Spusťte upgrade konkrétní projekt:

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

Spusťte upgrade pomocí agenta cloudového kódování:

modernize upgrade "Java 17" --delegate cloud

help

Poskytuje příkazy nápovědy a informací.

Syntaxe

modernize help [command]

Příkazy

Command Description
models Uvádí dostupné modely LLM a jejich násobitele.

Příklady

Seznam dostupných modelů:

modernize help models

Konfigurace rozhraní příkazového řádku

Pomocí agenta modernizace můžete přizpůsobit chování aplikace prostřednictvím souborů JSON a proměnných prostředí.

Proměnné prostředí

Nastavte proměnné prostředí tak, aby přepsaly všechny ostatní obory konfigurace:

Proměnná Description Výchozí
MODERNIZE_LOG_LEVEL Úroveň protokolování (none, error, warninginfo, debug) all info
MODERNIZE_MODEL Model LLM, který se má použít. claude-sonnet-4.6
MODERNIZE_COLLECT_TELEMETRY Povolte nebo zakažte shromažďování telemetrie. true

Příklad:

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

Konfigurace uživatele

Uložte předvolby specifické pro uživatele v ~/.modernize/config.json nastaveních nebo v nastaveních .github/modernize/config.jsonpro celé úložiště .

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

Vlastnost trusted_folders určuje složky, které jsou důvěryhodné pro použití LLM v interaktivním režimu.

Poznámka:

Proměnné prostředí mají nejvyšší prioritu, po které následuje konfigurace uživatele, a pak konfigurace úložiště. Použijte proměnné prostředí pro přepsání CI/CD a konfiguraci uživatele pro osobní předvolby.

Konfigurace s více úložišti

Vytvořte .github/modernize/repos.json soubor pro povolení režimu s více úložišti:

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

repos.json Po vytvoření souboru použijte následující příkazy pro provoz ve všech nakonfigurovaných úložištích:

Posouzení všech úložišť místně:

modernize assess

Posouzení všech úložišť pomocí agenta cloudového kódování:

modernize assess --delegate cloud

Upgradujte všechna úložiště pomocí agenta cloudového kódování:

modernize upgrade --delegate cloud

Další kroky