次の方法で共有


GitHub Copilot モダン化エージェント CLI コマンド

GitHub Copilot モダン化エージェントは、アプリケーションの最新化のための対話型モードと非対話型モードの両方を提供します。

コマンド モード

対話型モード

ガイド付きモダン化のために対話型テキスト ユーザー インターフェイス (TUI) を起動します。

modernize

対話型モードでは、次の機能が提供されます。

  • モダン化ワークフローを通じたメニュー駆動型ナビゲーション。
  • 視覚的な計画と進行状況インジケーター。
  • 構成オプションのガイド付きプロンプト。
  • 複数リポジトリ選択インターフェイス。

非対話型モード

自動化とスクリプト作成のために特定のコマンドを直接実行します。

modernize <command> [options]

非対話型モードは、次の場合に使用します。

  • CI/CD パイプラインとの統合。
  • バッチ操作の自動化。
  • 最新化ワークフローのスクリプト化。
  • ヘッドレス環境での実行。

グローバル オプション

すべてのコマンドで、次のグローバル オプションがサポートされます。

オプション 説明
--help-h ヘルプ情報を表示します。
--no-tty 対話型プロンプト (ヘッドレス モード) を無効にします。

コマンド

評価

評価を実行し、包括的な分析レポートを生成します。

構文

modernize assess [options]

オプション

オプション 説明 デフォルト
--source <path> ソース プロジェクトへのパス (相対または絶対ローカル パス)。 . (現在のディレクトリ)
--output-path <path> 評価結果のカスタム出力パス。 .github/modernize/assessment/
--issue-url <url> 評価の概要で更新する GitHub の問題の URL。 なし
--multi-repo 複数リポジトリの評価を有効にします。 第 1 レベルのサブディレクトリで複数のリポジトリをスキャンします。 Disabled
--model <model> 使用する LLM モデル。 claude-sonnet-4.6
--delegate <delegate> 実行モード: local (このマシン) または cloud (クラウド コーディング エージェント)。 local
--wait 委任されたタスクが完了し、結果が生成されるまで待機します ( --delegate cloudでのみ有効)。 Disabled
--force 進行中のタスクを無視して強制的に委任を再開します ( --delegate cloudでのみ有効)。 Disabled

例示

現在のディレクトリの基本的な評価:

modernize assess

カスタム出力場所を使用して評価する:

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

結果に関する GitHub の問題を評価して更新します。

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

特定のプロジェクト ディレクトリを評価します。

modernize assess --source /path/to/project

現在のディレクトリ内の複数のリポジトリを評価します。

modernize assess  --multi-repo

アウトプット

評価では、次の結果が生成されます。

  • レポート ファイル: JSON、MD、および HTML 形式での詳細な分析。
  • 概要: 主要な結果と推奨事項。
  • 問題の更新 (--issue-urlを指定した場合): GitHub の問題に関するコメントと概要。

プランの作成

モダン化の目標を説明する自然言語プロンプトに基づいて最新化計画を作成します。

構文

modernize plan create <prompt> [options]

引数

引数 説明
<prompt> モダン化の目標に関する自然言語の説明 (必須)。

オプション

オプション 説明 デフォルト
--source <path> アプリケーションのソース コードへのパス。 現在のディレクトリ
--plan-name <name> モダン化計画の名前。 modernization-plan
--language <lang> プログラミング言語 (javadotnet、または python)。 自動検出
--overwrite 既存のプランを同じ名前で上書きします。 Disabled
--model <model> 使用する LLM モデル。 claude-sonnet-4.6

例示

移行計画を生成します。

modernize plan create "migrate from oracle to azure postgresql"

カスタム名を使用してアップグレード プランを生成します。

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

デプロイ計画を生成します。

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

完全なオプションの例:

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

プロンプトの例

フレームワークのアップグレード:

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

データベースの移行:

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

クラウド移行:

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

配備:

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

アウトプット

このコマンドにより、次の結果が生成されます。

  • プラン ファイル (.github/modernize/{plan-name}/plan.md): 以下を含む詳細な最新化戦略:

    • コンテキストと目標
    • アプローチと手法
    • 説明
  • タスク リスト (.github/modernize/{plan-name}/tasks.json): 実行可能タスクの構造化された内訳

    • タスクの説明
    • 使用するスキル
    • 成功基準

ヒント

生成後に plan.mdtasks.json の両方を手動で編集して、実行前にアプローチをカスタマイズできます。

プランの実行

modernize plan createによって作成されたモダン化計画を実行します。

構文

modernize plan execute [prompt] [options]

引数

引数 説明
[prompt] 実行用の省略可能な自然言語命令 (例: "skip tests")。

オプション

オプション 説明 デフォルト
--source <path> アプリケーションのソース コードへのパス。 現在のディレクトリ
--plan-name <name> 実行するプランの名前。 modernization-plan
--language <lang> プログラミング言語 (java または dotnet)。 自動検出
--model <model> 使用する LLM モデル。 claude-sonnet-4.6
--delegate <delegate> 実行モード: local (このマシン) または cloud (クラウド コーディング エージェント)。 local
--force CCA ジョブが進行中であっても、実行を強制します。 Disabled

例示

最新のプランを対話形式で実行します。

modernize plan execute

特定のプランを実行します。

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

追加の命令を使用して実行します。

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

CI/CD のヘッドレス モードで実行します。

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

実行動作

実行中、エージェントは次の処理を行います。

  1. プランを読み込む: プランとタスクの一覧を読み取ります .github/modernization/{plan-name}/

  2. タスクの実行: タスク リスト内の各タスクを順番に処理します。

    • コード変換を適用します。
    • 変更後のビルドを検証します。
    • CVE をスキャンします。
    • 説明メッセージを使用して変更をコミットします。
  3. 概要の生成: すべての変更と結果のレポートを提供します。

アウトプット

  • コミット履歴: 実行された各タスクの詳細なコミット。
  • 概要レポート: 変更、成功、発生した問題の概要。
  • ビルド検証: アプリケーションが正常にビルドされたことを確認します。
  • CVE レポート: セキュリティの脆弱性が特定され、対処されました。

アップグレード

1 つのコマンドで、エンドツーエンドのアップグレード ワークフロー (計画、実行) を実行します。

構文

modernize upgrade [prompt] [options]

引数

引数 説明
[prompt] ターゲット バージョン ( Java 17Spring Boot 3.2.NET 10など)。 既定値は最新の LTS です。

オプション

オプション 説明 デフォルト
--source <source> ソース プロジェクトへのパス (相対または絶対ローカル パス)。 . (現在のディレクトリ)
--delegate <delegate> 実行モード: local (このマシン) または cloud (クラウド コーディング エージェント)。 local
--model <model> 使用する LLM モデル。 claude-sonnet-4.6

例示

現在のディレクトリで upgrade を実行します。

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

特定のプロジェクトで upgrade を実行します。

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

クラウド コーディング エージェントを使用して upgrade を実行します。

modernize upgrade "Java 17" --delegate cloud

help

ヘルプコマンドと情報コマンドを提供します。

構文

modernize help [command]

コマンド

命令 説明
models 使用可能な LLM モデルとその乗数を一覧表示します。

例示

使用可能なモデルを一覧表示します。

modernize help models

CLI の構成

モダン化エージェントを使用すると、JSON ファイルと環境変数を使用してアプリケーションの動作をカスタマイズできます。

環境変数

環境変数を設定して、他のすべての構成スコープをオーバーライドします。

Variable 説明 デフォルト
MODERNIZE_LOG_LEVEL ログ レベル (noneerrorwarninginfodebugall) info
MODERNIZE_MODEL 使用する LLM モデル。 claude-sonnet-4.6
MODERNIZE_COLLECT_TELEMETRY テレメトリ収集を有効または無効にします。 true

例:

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

ユーザー構成

.github/modernize/config.json~/.modernize/config.jsonまたはリポジトリ全体の設定にユーザー固有の設定を格納します。

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

trusted_folders プロパティは、対話型モードで LLM を使用するために信頼されているフォルダーを指定します。

環境変数の優先順位が最も高く、その後にユーザー構成、リポジトリの構成が続きます。 CI/CD オーバーライドには環境変数を使用し、個人設定にはユーザー構成を使用します。

複数リポジトリの構成

マルチリポジトリ モードを有効にする .github/modernize/repos.json ファイルを作成します。

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

repos.json ファイルが配置されたら、次のコマンドを使用して、構成されているすべてのリポジトリで動作します。

すべてのリポジトリをローカルで評価します。

modernize assess

クラウド コーディング エージェントを使用して、すべてのリポジトリを評価します。

modernize assess --delegate cloud

クラウド コーディング エージェントを使用して、すべてのリポジトリをアップグレードします。

modernize upgrade --delegate cloud

次のステップ